import eu.etaxonomy.cdm.model.description.TextData;\r
import eu.etaxonomy.cdm.model.location.Country;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.location.NamedAreaLevel;\r
+import eu.etaxonomy.cdm.model.location.NamedAreaType;\r
import eu.etaxonomy.cdm.model.media.ImageFile;\r
import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.media.MediaRepresentation;\r
*/\r
private void mergeSalvadorDistribution(TaxonDescription taxonDescription,\r
@NotNull Distribution newDistribution) {\r
+\r
Distribution existingDistribution = null;\r
for (DescriptionElementBase deb : taxonDescription.getElements()){\r
if (deb.isInstanceOf(Distribution.class)){\r
if (area == null){\r
logger.info("Added Salvador area: " + areaString);\r
TermVocabulary<NamedArea> voc = getVocabulary(TermType.NamedArea, BerlinModelTransformer.uuidSalvadorAreas,\r
- "Salvador areas", "Salvador areas", null, null, true, NamedArea.NewInstance());\r
+ "Salvador departments", "Salvador departments", null, null, true, NamedArea.NewInstance());\r
+ if (voc.getRepresentation(Language.SPANISH_CASTILIAN()) == null){\r
+ voc.addRepresentation(Representation.NewInstance("Salvador departamentos", "Salvador departamentos", "dep.", Language.SPANISH_CASTILIAN()));\r
+ getVocabularyService().saveOrUpdate(voc);\r
+ }\r
NamedArea newArea = NamedArea.NewInstance(areaString, areaString, null);\r
newArea.getRepresentations().iterator().next().setLanguage(Language.SPANISH_CASTILIAN());\r
+ newArea.setLevel(NamedAreaLevel.DEPARTMENT());\r
+ newArea.setType(NamedAreaType.ADMINISTRATION_AREA());\r
voc.addTerm(newArea);\r
getTermService().saveOrUpdate(newArea);\r
salvadorAreaMap.put(areaString, newArea);\r
+ area = newArea;\r
}\r
PresenceAbsenceTerm state = getSalvadorDistributionState(taxon);\r
result = Distribution.NewInstance(area, state);\r
int page = intFact + 249;\r
if (intFact >= 263){\r
vol = "2016";\r
- page = intFact + (intFact < 403 ? 95 : 96);\r
+ page = intFact - (intFact < 403 ? 95 : 94);\r
}else if (intFact >= 142){\r
vol = "2012";\r
page = intFact + (intFact < 255 ? 3 : 4);\r
}\r
- String title = getSalvadorImageTitle(intFact);\r
- media.putTitle(Language.SPANISH_CASTILIAN(), title);\r
+ String description = getSalvadorImageTitle(intFact);\r
+ media.putDescription(Language.SPANISH_CASTILIAN(), description);\r
\r
Reference ref = getSalvadorReference(vol);\r
String originalName = getSalvadorImageNameInfo(intFact);\r
- IdentifiableSource source = media.addSource(OriginalSourceType.PrimaryMediaSource, fact, "Fig.", ref, String.valueOf(page));\r
+ IdentifiableSource source = media.addSource(OriginalSourceType.PrimaryMediaSource, fact, "Fig.", ref, "p. " + page);\r
source.setOriginalNameString(originalName);\r
media.setArtist(getSalvadorArtist());\r
media.addRights(getSalvadorCopyright(vol));\r
}\r
}\r
\r
- /**\r
- *\r
- */\r
private void initSalvadorImagesFile() {\r
if (salvadorImages == null){\r
salvadorImages = new HashMap<>();\r
CSVReader reader = new CSVReader(CdmUtils.getUtf8ResourceReader("salvador" + CdmUtils.getFolderSeperator() + "SalvadorImages.csv"),';');\r
List<String[]> lines = reader.readAll();\r
for (String[] line : lines){\r
- if(! "ID".equals(line[0])){\r
- salvadorImages.put(Integer.valueOf(line[0]), line);\r
+ String first = line[0];\r
+ if(! "ID".equals(first)){\r
+ try {\r
+ salvadorImages.put(Integer.valueOf(first), line);\r
+ } catch (NumberFormatException e) {\r
+ logger.warn("Number not recognized: " + first);\r
+ }\r
}\r
}\r
reader.close();\r
}\r
\r
\r
+ private Rights rights1;\r
+ private Rights rights2;\r
+ private Rights rights3;\r
+\r
private Rights getSalvadorCopyright(String vol) {\r
- String text;\r
+ initRights();\r
if ("2009".equals(vol)){\r
- text = "(c) Jardín Botánico y Museo Botánico Berlin-Dahlem & Asociación Jardín Botánico La Laguna. Berlin, Antiguo Cuscatlán 2009.";\r
+ return rights1;\r
}else if ("2012".equals(vol)){\r
- text = "(c) Jardín Botánico y Museo Botánico Berlin-Dahlem & Asociación Jardín Botánico La Laguna. Berlin, Antiguo Cuscatlán 2012.";\r
+ return rights1;\r
}else if ("2016".equals(vol)){\r
- text = "(c) Jardín Botánico y Museo Botánico Berlin-Dahlem & Asociación Jardín Botánico La Laguna. Berlin, Antiguo Cuscatlán 2016.";\r
+ return rights3;\r
}else{\r
throw new RuntimeException("Volume not recognized: " + vol);\r
}\r
- Rights result = Rights.NewInstance(text, Language.SPANISH_CASTILIAN(), RightsType.COPYRIGHT());\r
- return result;\r
}\r
\r
+ private void initRights(){\r
+ if (rights1 == null){\r
+ String text = "(c) Jardín Botánico y Museo Botánico Berlin-Dahlem & Asociación Jardín Botánico La Laguna. Berlin, Antiguo Cuscatlán 2009.";\r
+ rights1 = Rights.NewInstance(text, Language.SPANISH_CASTILIAN(), RightsType.COPYRIGHT());\r
+ text = "(c) Jardín Botánico y Museo Botánico Berlin-Dahlem & Asociación Jardín Botánico La Laguna. Berlin, Antiguo Cuscatlán 2012.";\r
+ rights2 = Rights.NewInstance(text, Language.SPANISH_CASTILIAN(), RightsType.COPYRIGHT());\r
+ text = "(c) Jardín Botánico y Museo Botánico Berlin-Dahlem & Asociación Jardín Botánico La Laguna. Berlin, Antiguo Cuscatlán 2016.";\r
+ rights3 = Rights.NewInstance(text, Language.SPANISH_CASTILIAN(), RightsType.COPYRIGHT());\r
+ getCommonService().save(rights1);\r
+ getCommonService().save(rights2);\r
+ getCommonService().save(rights3);\r
+ }\r
+ }\r
\r
private Integer salvadorArtistId;\r
private AgentBase<?> getSalvadorArtist() {\r
ImageInfo imageInfo = null;\r
Integer size = null;\r
try {\r
- imageInfo = ImageInfo.NewInstance(uri, 0);\r
+ imageInfo = ImageInfo.NewInstance(uri, 30);\r
} catch (IOException | HttpException e) {\r
logger.error("Error when reading image meta: " + e + ", "+ uri.toString());\r
}\r