import java.util.Set;\r
import java.util.UUID;\r
\r
-import org.apache.commons.lang.StringUtils;\r
import org.apache.log4j.Logger;\r
import org.springframework.stereotype.Component;\r
\r
-import eu.etaxonomy.cdm.api.service.IClassificationService;\r
-import eu.etaxonomy.cdm.common.CdmUtils;\r
import eu.etaxonomy.cdm.io.common.IOValidator;\r
import eu.etaxonomy.cdm.io.common.ResultSetPartitioner;\r
import eu.etaxonomy.cdm.io.common.mapping.DbImportMapping;\r
-import eu.etaxonomy.cdm.io.common.mapping.DbImportMarkerMapper;\r
-import eu.etaxonomy.cdm.io.common.mapping.DbImportObjectCreationMapper;\r
-import eu.etaxonomy.cdm.io.common.mapping.DbImportTaxIncludedInMapper;\r
import eu.etaxonomy.cdm.io.common.mapping.IMappingImport;\r
import eu.etaxonomy.cdm.io.redlist.validation.RoteListeDbTaxonImportValidator;\r
import eu.etaxonomy.cdm.model.common.CdmBase;\r
-import eu.etaxonomy.cdm.model.description.Distribution;\r
-import eu.etaxonomy.cdm.model.description.PresenceTerm;\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.cdm.model.location.NamedArea;\r
-import eu.etaxonomy.cdm.model.location.TdwgArea;\r
import eu.etaxonomy.cdm.model.name.BotanicalName;\r
import eu.etaxonomy.cdm.model.name.Rank;\r
-import eu.etaxonomy.cdm.model.reference.Reference;\r
-import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
-import eu.etaxonomy.cdm.model.taxon.Classification;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;\r
\r
\r
/**\r
+ * TODO do we still need this class?\r
* @author a.mueller\r
* @created 27.08.2012\r
- * @version 1.0\r
*/\r
@Component\r
public class RoteListeDbTaxonImport extends RoteListeDbImportBase<TaxonBase> implements IMappingImport<TaxonBase, RoteListeDbImportState>{\r
+ @SuppressWarnings("unused")\r
private static final Logger logger = Logger.getLogger(RoteListeDbTaxonImport.class);\r
\r
private NonViralNameParserImpl parser = NonViralNameParserImpl.NewInstance();\r
}\r
\r
\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.erms.ErmsImportBase#getIdQuery()\r
- */\r
@Override\r
protected String getIdQuery() {\r
String strQuery = " SELECT pk FROM " + dbTableName +\r
return strQuery;\r
}\r
\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.erms.ErmsImportBase#getMapping()\r
- */\r
+ @Override\r
protected DbImportMapping getMapping() {\r
if (mapping == null){\r
mapping = new DbImportMapping();\r
return mapping;\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(RoteListeDbImportConfigurator config) {\r
String strSelect = " SELECT * ";\r
\r
@Override\r
public boolean doPartition(ResultSetPartitioner partitioner, RoteListeDbImportState state) {\r
-// higherTaxonMap = new HashMap<UUID, Taxon>();\r
-// Reference genevaReference = getReferenceService().find(state.getConfig().getUuidGenevaReference());\r
-// if (genevaReference == null){\r
-// genevaReference = makeGenevaReference(state);\r
-// getReferenceService().save(genevaReference);\r
-// }\r
-// state.setGenevaReference(genevaReference);\r
boolean success = super.doPartition(partitioner, state);\r
// higherTaxonMap = new HashMap<UUID, Taxon>();\r
// state.setGenevaReference(null);\r
}\r
\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.berlinModel.in.IPartitionedIO#getRelatedObjectsForPartition(java.sql.ResultSet)\r
- */\r
- public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs) {\r
+ @Override\r
+ public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, RoteListeDbImportState state) {\r
String nameSpace;\r
- Class cdmClass;\r
+ Class<?> cdmClass;\r
Set<String> idSet;\r
Set<String> referenceIdSet = new HashSet<String>();\r
\r
}\r
\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.mapping.IMappingImport#createObject(java.sql.ResultSet)\r
- */\r
+ @Override\r
public TaxonBase createObject(ResultSet rs, RoteListeDbImportState state) throws SQLException {\r
BotanicalName speciesName = BotanicalName.NewInstance(Rank.SPECIES());\r
\r
// speciesTaxon.addSource(sourceId, REFERENCE_NAMESPACE, sourceRef, null);\r
// \r
// \r
-// //geneva id\r
-// Reference genevaReference = state.getGenevaReference();\r
-// Object genevaId = rs.getObject("geneva_ID");\r
-// speciesTaxon.addSource(String.valueOf(genevaId), null, genevaReference, null);\r
-// \r
// //distribution\r
// handleDistribution(rs, speciesTaxon);\r
// \r
\r
return null;\r
}\r
- \r
- private void handleDistribution(ResultSet rs, Taxon speciesTaxon) throws SQLException {\r
- TaxonDescription description = TaxonDescription.NewInstance(speciesTaxon);\r
- \r
- Boolean isCongo = rs.getBoolean("drc");\r
- Boolean isBurundi = rs.getBoolean("burundi");\r
- Boolean isRwanda = rs.getBoolean("rwanda");\r
-\r
- addDistribution(description, isCongo, "ZAI");\r
- addDistribution(description, isBurundi, "BUR");\r
- addDistribution(description, isRwanda, "RWA");\r
-\r
- }\r
-\r
-\r
-\r
- /**\r
- * @param description\r
- * @param isCongo\r
- */\r
- private void addDistribution(TaxonDescription description, Boolean exists, String label) {\r
- if (exists == true){\r
- NamedArea namedArea = TdwgArea.getAreaByTdwgAbbreviation(label);\r
- Distribution distribution = Distribution.NewInstance(namedArea, PresenceTerm.PRESENT());\r
- description.addElement(distribution);\r
- }\r
- }\r
-\r
-\r
- \r
- //TODO use Mapper\r
- private boolean makeTaxonomicallyIncluded(RoteListeDbImportState state, Integer treeRefFk, Taxon child, Taxon parent, Reference citation, String microCitation){\r
- String treeKey;\r
- UUID treeUuid;\r
- if (treeRefFk == null){\r
- treeKey = "1"; // there is only one tree and it gets the map key '1'\r
- treeUuid = state.getConfig().getClassificationUuid();\r
- }else{\r
- treeKey =String.valueOf(treeRefFk);\r
- treeUuid = state.getTreeUuidByTreeKey(treeKey);\r
- }\r
- Classification tree = (Classification)state.getRelatedObject(DbImportTaxIncludedInMapper.TAXONOMIC_TREE_NAMESPACE, treeKey);\r
- if (tree == null){\r
- IClassificationService service = state.getCurrentIO().getClassificationService();\r
- tree = service.find(treeUuid);\r
- if (tree == null){\r
- String treeName = state.getConfig().getClassificationName();\r
- tree = Classification.NewInstance(treeName);\r
- tree.setUuid(treeUuid);\r
- //FIXME tree reference\r
- //tree.setReference(ref);\r
- service.save(tree);\r
- }\r
- state.addRelatedObject(DbImportTaxIncludedInMapper.TAXONOMIC_TREE_NAMESPACE, treeKey, tree);\r
- }\r
- \r
- TaxonNode childNode = tree.addParentChild(parent, child, citation, microCitation);\r
- return (childNode != null);\r
- }\r
-\r
\r
-// private Reference makeGenevaReference(RoteListeDbImportState state) {\r
-// Reference result = ReferenceFactory.newDatabase();\r
-// result.setTitleCache(state.getConfig().getGenevaReferenceTitle(), true);\r
-// result.setUuid(state.getConfig().getUuidGenevaReference());\r
-// return result;\r
-// }\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IImportConfigurator)\r
- */\r
@Override\r
protected boolean doCheck(RoteListeDbImportState state){\r
IOValidator<RoteListeDbImportState> validator = new RoteListeDbTaxonImportValidator();\r
}\r
\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator)\r
- */\r
+ @Override\r
protected boolean isIgnore(RoteListeDbImportState state){\r
return ! state.getConfig().isDoTaxa();\r
}\r