/**\r
* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportState;\r
import eu.etaxonomy.cdm.io.common.IOValidator;\r
import eu.etaxonomy.cdm.io.common.ResultSetPartitioner;\r
-import eu.etaxonomy.cdm.io.globis.GlobisImportState;\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;\r
*/\r
@Component\r
public class AlgaTerraVoucherImagesImport extends AlgaTerraImageImportBase {\r
- private static final Logger logger = Logger.getLogger(AlgaTerraVoucherImagesImport.class);\r
\r
- \r
+ private static final long serialVersionUID = -1702110625354900442L;\r
+ private static final Logger logger = Logger.getLogger(AlgaTerraVoucherImagesImport.class);\r
+\r
private static int modCount = 5000;\r
private static final String pluralString = "voucher images";\r
- private static final String dbTableName = "VoucherImages"; //?? \r
- \r
+ private static final String dbTableName = "VoucherImages"; //??\r
+\r
public AlgaTerraVoucherImagesImport(){\r
super(dbTableName, pluralString);\r
}\r
- \r
- \r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportBase#getIdQuery()\r
- */\r
+\r
@Override\r
protected String getIdQuery(BerlinModelImportState state) {\r
- String result = " SELECT VoucherImageID " \r
- + " FROM VoucherImages " \r
+ String result = " SELECT VoucherImageID "\r
+ + " FROM VoucherImages "\r
+ " ORDER BY EcoFactFk ";\r
return result;\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportBase#getRecordQuery(eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator)\r
- */\r
@Override\r
protected String getRecordQuery(BerlinModelImportConfigurator config) {\r
- String strQuery = \r
- \r
+ String strQuery =\r
+\r
" SELECT vi.*, vi.Comment as FigurePhrase, vi.PictureFile as fileName, vi.PictuePath as filePath " +\r
- " FROM VoucherImages vi " \r
- + " WHERE (vi.VoucherImageID IN (" + ID_LIST_TOKEN + ") )" \r
+ " FROM VoucherImages vi "\r
+ + " WHERE (vi.VoucherImageID IN (" + ID_LIST_TOKEN + ") )"\r
+ " ORDER BY EcoFactFk ";\r
- ;\r
+\r
return strQuery;\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.berlinModel.in.IPartitionedIO#doPartition(eu.etaxonomy.cdm.io.berlinModel.in.ResultSetPartitioner, eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportState)\r
- */\r
- public boolean doPartition(ResultSetPartitioner partitioner, BerlinModelImportState bmState) {\r
+ @Override\r
+ public boolean doPartition(@SuppressWarnings("rawtypes") ResultSetPartitioner partitioner, BerlinModelImportState bmState) {\r
boolean success = true;\r
- \r
+\r
AlgaTerraImportState state = (AlgaTerraImportState)bmState;\r
- \r
- Set<SpecimenOrObservationBase> unitsToSave = new HashSet<SpecimenOrObservationBase>();\r
- \r
- Map<String, DerivedUnit> ecoFactMap = (Map<String, DerivedUnit>) partitioner.getObjectMap(AlgaTerraSpecimenImportBase.ECO_FACT_DERIVED_UNIT_NAMESPACE);\r
- \r
+\r
+ @SuppressWarnings("rawtypes")\r
+ Set<SpecimenOrObservationBase> unitsToSave = new HashSet<>();\r
+\r
+ @SuppressWarnings("unchecked")\r
+ Map<String, DerivedUnit> ecoFactMap = partitioner.getObjectMap(AlgaTerraSpecimenImportBase.ECO_FACT_DERIVED_UNIT_NAMESPACE);\r
+\r
ResultSet rs = partitioner.getResultSet();\r
\r
try {\r
- \r
+\r
int i = 0;\r
\r
//for each reference\r
while (rs.next()){\r
- \r
+\r
if ((i++ % modCount) == 0 && i!= 1 ){ logger.info(pluralString + " handled: " + (i-1));}\r
- \r
+\r
int figureId = rs.getInt("VoucherImageID");\r
int ecoFactFk = rs.getInt("EcoFactFk");\r
- \r
- \r
+\r
+\r
//TODO etc. Created, Notes, Copyright, TermsOfUse etc.\r
- \r
+\r
try {\r
- \r
+\r
DerivedUnit derivedUnit = ecoFactMap.get(String.valueOf(ecoFactFk));\r
- \r
+\r
if (derivedUnit == null){\r
logger.warn("Could not find eco fact specimen (" + ecoFactFk +") for voucher image " + figureId);\r
}\r
- \r
+\r
//field observation\r
Media media = handleSingleImage(rs, derivedUnit, state, partitioner, PathType.Voucher);\r
- \r
+\r
handleVoucherImageSpecificFields(rs, media, state);\r
- \r
+\r
if (derivedUnit != null){\r
- unitsToSave.add(derivedUnit); \r
+ unitsToSave.add(derivedUnit);\r
}else{\r
logger.warn("DerivedUnit is null");\r
}\r
} catch (Exception e) {\r
logger.warn("Exception in " + getTableName() + ": VoucherImageId " + figureId + ". " + e.getMessage());\r
e.printStackTrace();\r
- } \r
- \r
+ }\r
+\r
}\r
- \r
+\r
// logger.warn("Specimen: " + countSpecimen + ", Descriptions: " + countDescriptions );\r
\r
logger.warn(pluralString + " to save: " + unitsToSave.size());\r
- getOccurrenceService().saveOrUpdate(unitsToSave); \r
- \r
+ getOccurrenceService().saveOrUpdate(unitsToSave);\r
+\r
return success;\r
} catch (SQLException e) {\r
logger.error("SQLException:" + e);\r
\r
private void handleVoucherImageSpecificFields(ResultSet rs, Media media, AlgaTerraImportState state) throws SQLException {\r
//TODO\r
- \r
+\r
}\r
\r
- \r
@Override\r
public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, BerlinModelImportState state) {\r
- String nameSpace;\r
- Class<?> cdmClass;\r
+\r
+ String nameSpace;\r
Set<String> idSet;\r
- Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<Object, Map<String, ? extends CdmBase>>();\r
- \r
+ Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<>();\r
+\r
try{\r
- Set<String> ecoFactIdSet = new HashSet<String>();\r
- \r
+ Set<String> ecoFactIdSet = new HashSet<>();\r
+\r
while (rs.next()){\r
handleForeignKey(rs, ecoFactIdSet, "EcoFactFk");\r
}\r
- \r
+\r
//type specimen map\r
nameSpace = AlgaTerraSpecimenImportBase.ECO_FACT_DERIVED_UNIT_NAMESPACE;\r
- cdmClass = DerivedUnit.class;\r
idSet = ecoFactIdSet;\r
- Map<String, DerivedUnit> specimenMap = (Map<String,DerivedUnit>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ Map<String, DerivedUnit> specimenMap = getCommonService().getSourcedObjectsByIdInSourceC(DerivedUnit.class, idSet, nameSpace);\r
result.put(nameSpace, specimenMap);\r
\r
- \r
+\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
}\r
return result;\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IoStateBase)\r
- */\r
@Override\r
protected boolean doCheck(BerlinModelImportState state){\r
IOValidator<BerlinModelImportState> validator = new AlgaTerraTypeImportValidator();\r
return validator.validate(state);\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator)\r
- */\r
- protected boolean isIgnore(BerlinModelImportState bmState){\r
+ @Override\r
+ protected boolean isIgnore(BerlinModelImportState bmState){\r
AlgaTerraImportConfigurator config = ((AlgaTerraImportState) bmState).getAlgaTerraConfigurator();\r
return ! ( config.isDoEcoFacts() && config.isDoImages()) ;\r
}\r
- \r
}\r