//for diptera images\r
if (categoryFk == 51){ //TODO check also FactCategory string\r
isImage = true;\r
- String uri = fact;\r
- Integer size = null; \r
- ImageMetaData imageMetaData = new ImageMetaData();\r
- URL url;\r
- try {\r
- url = new URL(fact.trim());\r
- } catch (MalformedURLException e) {\r
- logger.warn("Malformed URL. Image could not be imported: " + CdmUtils.Nz(uri));\r
- continue;\r
- }\r
- imageMetaData.readFrom(url);\r
media = Media.NewInstance();\r
- MediaRepresentation mediaRepresentation = MediaRepresentation.NewInstance(imageMetaData.getMimeType(), null);\r
- media.addRepresentation(mediaRepresentation);\r
- ImageFile image = ImageFile.NewInstance(uri, size, imageMetaData);\r
- mediaRepresentation.addRepresentationPart(image);\r
- for (TaxonDescription desc: descriptionSet){\r
- if (desc.isImageGallery()){\r
- taxonDescription = desc;\r
- }\r
- }\r
+ taxonDescription = makeImage(state, fact, media, descriptionSet, taxon);\r
if (taxonDescription == null){\r
- taxonDescription = TaxonDescription.NewInstance();\r
- taxonDescription.setTitleCache(sourceRef == null ? "Image Galery":sourceRef.getTitleCache()+"-Image Galery");\r
- taxon.addDescription(taxonDescription);\r
- taxonDescription.setImageGallery(true);\r
+ continue;\r
}\r
}\r
//all others (no image)\r
\r
}\r
\r
+ /**\r
+ * @param state \r
+ * @param media \r
+ * @param media \r
+ * @param descriptionSet \r
+ * \r
+ */\r
+ private TaxonDescription makeImage(BerlinModelImportState state, String fact, Media media, Set<TaxonDescription> descriptionSet, Taxon taxon) {\r
+ TaxonDescription taxonDescription = null;\r
+ ReferenceBase sourceRef = state.getConfig().getSourceReference();\r
+ String uri = fact;\r
+ Integer size = null; \r
+ ImageMetaData imageMetaData = new ImageMetaData();\r
+ URL url;\r
+ try {\r
+ url = new URL(fact.trim());\r
+ } catch (MalformedURLException e) {\r
+ logger.warn("Malformed URL. Image could not be imported: " + CdmUtils.Nz(uri));\r
+ return null;\r
+ }\r
+ imageMetaData.readFrom(url);\r
+ MediaRepresentation mediaRepresentation = MediaRepresentation.NewInstance(imageMetaData.getMimeType(), null);\r
+ media.addRepresentation(mediaRepresentation);\r
+ ImageFile image = ImageFile.NewInstance(uri, size, imageMetaData);\r
+ mediaRepresentation.addRepresentationPart(image);\r
+ \r
+ taxonDescription = taxon.getOrCreateImageGallery(sourceRef == null ? null :sourceRef.getTitleCache());\r
+ \r
+ return taxonDescription;\r
+ }\r
+\r
private TaxonBase getTaxon(MapWrapper<TaxonBase> taxonMap, Object taxonIdObj, Integer taxonId){\r
if (taxonIdObj != null){\r
return taxonMap.get(taxonId);\r