X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/0ef078a0ef67cfcef197347b4e8ece553edbe462..07a503b31b6277d214c580e02deae50556dec271:/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaImportBase.java diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaImportBase.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaImportBase.java index 3696bbff05..e171486192 100644 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaImportBase.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/faunaEuropaea/FaunaEuropaeaImportBase.java @@ -12,31 +12,48 @@ package eu.etaxonomy.cdm.io.faunaEuropaea; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; +import java.util.Collection; import java.util.HashMap; import java.util.Map; +import java.util.UUID; import org.apache.log4j.Logger; +import org.springframework.transaction.TransactionStatus; import eu.etaxonomy.cdm.common.CdmUtils; +import eu.etaxonomy.cdm.io.common.CdmImportBase; import eu.etaxonomy.cdm.io.common.CdmIoBase; import eu.etaxonomy.cdm.io.common.ICdmIO; +import eu.etaxonomy.cdm.io.common.ICdmImport; import eu.etaxonomy.cdm.io.common.IImportConfigurator; import eu.etaxonomy.cdm.io.common.ImportHelper; +import eu.etaxonomy.cdm.io.common.MapWrapper; import eu.etaxonomy.cdm.io.common.Source; import eu.etaxonomy.cdm.model.common.Annotation; +import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.common.IdentifiableEntity; import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.reference.ReferenceBase; +import eu.etaxonomy.cdm.model.taxon.TaxonBase; +import eu.etaxonomy.cdm.model.taxon.TaxonomicTree; /** * @author a.babadshanjan * @created 11.05.2009 * @version 1.0 */ -public abstract class FaunaEuropaeaImportBase extends CdmIoBase implements ICdmIO { +public abstract class FaunaEuropaeaImportBase extends CdmImportBase +implements ICdmImport { private static final Logger logger = Logger.getLogger(FaunaEuropaeaImportBase.class); - public FaunaEuropaeaImportBase() { - } +// /* Max number of taxa to retrieve (for test purposes) */ +// protected static final int maxTaxa = 1000; +// /* Max number of taxa to be saved with one service call */ +// protected int limit = 20000; // TODO: Make configurable +// /* Interval for progress info message when retrieving taxa */ +// protected static final int modCount = 10000; +// /* Highest taxon index in the FauEu database */ +// protected int highestTaxonIndex = 0; protected boolean resultSetHasColumn(ResultSet rs, String columnName){ try { @@ -97,4 +114,26 @@ public abstract class FaunaEuropaeaImportBase extends CdmIoBase sourceRef) { + + TaxonomicTree tree; + UUID treeUuid = state.getTreeUuid(sourceRef); + if (treeUuid == null){ + if(logger.isInfoEnabled()) { logger.info(".. creating new taxonomic tree"); } + + TransactionStatus txStatus = startTransaction(); + tree = makeTreeMemSave(state, sourceRef); + commitTransaction(txStatus); + + } else { + tree = getTaxonTreeService().getTaxonomicTreeByUuid(treeUuid); + } + return tree; + } + }