package eu.etaxonomy.cdm.io;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import eu.etaxonomy.cdm.app.images.AbstractImageImporter;
import eu.etaxonomy.cdm.app.images.ImageImportConfigurator;
+import eu.etaxonomy.cdm.app.images.ImageImportState;
import eu.etaxonomy.cdm.common.ExcelUtils;
import eu.etaxonomy.cdm.model.description.Feature;
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
* @see eu.etaxonomy.cdm.app.images.AbstractImageImporter#invokeImageImport(eu.etaxonomy.cdm.io.common.IImportConfigurator)
*/
@Override
- protected boolean invokeImageImport(ImageImportConfigurator config) {
+ protected void invokeImageImport(ImageImportState state) {
ArrayList<HashMap<String, String>> contents;
try {
- contents = ExcelUtils.parseXLS(config.getSource());
+ contents = ExcelUtils.parseXLS(state.getConfig().getSource());
} catch (/*FileNotFound*/Exception e) {
- logger.error("FileNotFound: " + config.getSource().toString());
- return false;
+ logger.error("FileNotFound: " + state.getConfig().getSource().toString());
+ state.setUnsuccessfull();
+ return;
}
Set<TaxonNameBase> taxonNameStore = new HashSet<TaxonNameBase>();
logger.warn("no taxon with this name found: " + species + ", idInSource: " + taxonId);
}else{
- MediaRepresentationPart representationPart = MediaRepresentationPart.NewInstance(linkProto, 0);
- MediaRepresentation representation = MediaRepresentation.NewInstance("text/html", null);
- representation.addRepresentationPart(representationPart);
-
- Media media = Media.NewInstance();
- media.addRepresentation(representation);
+ URI uri;
+ try {
+ uri = new URI(linkProto);
+ MediaRepresentationPart representationPart = MediaRepresentationPart.NewInstance(uri, 0);
+ MediaRepresentation representation = MediaRepresentation.NewInstance("text/html", null);
+ representation.addRepresentationPart(representationPart);
+
+ Media media = Media.NewInstance();
+ media.addRepresentation(representation);
- TaxonNameDescription description = TaxonNameDescription.NewInstance();
- TextData protolog = TextData.NewInstance(Feature.PROTOLOGUE());
- protolog.addMedia(media);
- description.addElement(protolog);
- taxonNameBase.addDescription(description);
+ TaxonNameDescription description = TaxonNameDescription.NewInstance();
+ TextData protolog = TextData.NewInstance(Feature.PROTOLOGUE());
+ protolog.addMedia(media);
+ description.addElement(protolog);
+ taxonNameBase.addDescription(description);
+ } catch (URISyntaxException e) {
+ String message= "URISyntaxException when trying to convert: " + linkProto;
+ logger.error(message);
+ e.printStackTrace();
+ }
taxonNameStore.add(taxonNameBase);
if(count % 50 == 0){
getNameService().save(taxonNameStore);
logger.info(count + " protologues imported to CDM store.");
- return true;
+ return;
}
}