From 2b62da2ec7b7eca04ba2ae680228e3c64d668aa8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Tue, 14 Feb 2012 21:58:15 +0000 Subject: [PATCH] latest FE import features --- .../etaxonomy/cdm/app/pesi/PesiSources.java | 10 ++++ ...aunaEuropaeaAdditionalTaxonDataImport.java | 30 ++++------- .../FaunaEuropaeaAuthorImport.java | 16 ++---- .../FaunaEuropaeaDistributionImport.java | 54 ++++++++----------- .../FaunaEuropaeaTransformer.java | 37 ++++++++----- 5 files changed, 67 insertions(+), 80 deletions(-) diff --git a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/pesi/PesiSources.java b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/pesi/PesiSources.java index 4a2f53c9..9074da14 100644 --- a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/pesi/PesiSources.java +++ b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/app/pesi/PesiSources.java @@ -23,6 +23,16 @@ public class PesiSources { @SuppressWarnings("unused") private static final Logger logger = Logger.getLogger(PesiSources.class); + public static Source faunEu_pesi3(){ + // Fauna Europaea auf pesiimport3 + String dbms = Source.SQL_SERVER_2008; + String strServer = "pesiimport3"; + String strDB = "FaunEu"; + int port = 1433; + String userName = "pesiexport"; + return ImportUtils.makeSource(dbms, strServer, strDB, port, userName, null); + } + public static Source faunEu(){ // Fauna Europaea diff --git a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAdditionalTaxonDataImport.java b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAdditionalTaxonDataImport.java index aca58611..2933f0fa 100644 --- a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAdditionalTaxonDataImport.java +++ b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAdditionalTaxonDataImport.java @@ -21,7 +21,6 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.TransactionStatus; import eu.etaxonomy.cdm.database.ICdmDataSource; -import eu.etaxonomy.cdm.io.common.Source; import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.name.TaxonNameBase; @@ -50,30 +49,11 @@ public class FaunaEuropaeaAdditionalTaxonDataImport extends FaunaEuropaeaImportB boolean result = true; FaunaEuropaeaImportConfigurator fauEuConfig = state.getConfig(); logger.warn("Checking for Taxa not yet fully implemented"); - result &= checkTaxonStatus(fauEuConfig); +// result &= checkTaxonStatus(fauEuConfig); return result; } - - /* (non-Javadoc) - * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator) - */ - protected boolean isIgnore(FaunaEuropaeaImportState state) { - return ! state.getConfig().isDoTaxa(); - } - private boolean checkTaxonStatus(FaunaEuropaeaImportConfigurator fauEuConfig) { - boolean result = true; -// try { - Source source = fauEuConfig.getSource(); - String sqlStr = ""; - ResultSet rs = source.getResultSet(sqlStr); - return result; -// } catch (SQLException e) { -// e.printStackTrace(); -// return false; -// } - } /** * Import taxa from FauEU DB @@ -175,5 +155,13 @@ public class FaunaEuropaeaAdditionalTaxonDataImport extends FaunaEuropaeaImportB return; } + + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IoStateBase) + */ + protected boolean isIgnore(FaunaEuropaeaImportState state) { + return ! state.getConfig().isDoTaxa(); + } } diff --git a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAuthorImport.java b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAuthorImport.java index f57860a4..0d36590f 100644 --- a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAuthorImport.java +++ b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAuthorImport.java @@ -17,12 +17,10 @@ import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.springframework.transaction.TransactionStatus; -import eu.etaxonomy.cdm.app.common.ImportUtils; import eu.etaxonomy.cdm.io.common.ICdmIO; 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.io.profiler.ProfilerController; import eu.etaxonomy.cdm.model.agent.Team; import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; import eu.etaxonomy.cdm.model.common.CdmBase; @@ -68,7 +66,6 @@ public class FaunaEuropaeaAuthorImport extends FaunaEuropaeaImportBase { Source source = fauEuConfig.getSource(); String namespace = "AuthorTeam"; - boolean success = true; if(logger.isInfoEnabled()) { logger.info("Start making Authors..."); } @@ -116,20 +113,13 @@ public class FaunaEuropaeaAuthorImport extends FaunaEuropaeaImportBase { ImportHelper.setOriginalSource(author, fauEuConfig.getSourceReference(), authorId, namespace); if (!authorStore.containsId(authorId)) { - if (author == null) { - logger.warn("Author is null"); - } authorStore.put(authorId, author); - if (logger.isDebugEnabled()) { - logger.debug("Stored author (" + authorId + ") " + authorName); - } + if (logger.isDebugEnabled()) { logger.debug("Stored author (" + authorId + ") " + authorName); } } else { - logger.warn("Not imported author with duplicated aut_id (" + authorId + - ") " + authorName); + logger.warn("Not imported author with duplicated aut_id (" + authorId + ") " + authorName); } } catch (Exception e) { - logger.warn("An exception occurred when creating author with id " + authorId + - ". Author could not be saved."); + logger.warn("An exception occurred when creating author with id " + authorId + ". Author could not be saved."); } } diff --git a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaDistributionImport.java b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaDistributionImport.java index 95f2cc93..ae90430b 100644 --- a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaDistributionImport.java +++ b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaDistributionImport.java @@ -23,7 +23,8 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.TransactionStatus; import eu.etaxonomy.cdm.io.common.Source; -import eu.etaxonomy.cdm.io.profiler.ProfilerController; +//import eu.etaxonomy.cdm.io.profiler.ProfilerController; +import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.description.Distribution; import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase; import eu.etaxonomy.cdm.model.description.PresenceTerm; @@ -31,7 +32,7 @@ import eu.etaxonomy.cdm.model.description.TaxonDescription; import eu.etaxonomy.cdm.model.location.NamedArea; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import com.yourkit.api.Controller; +//import com.yourkit.api.Controller; /** @@ -60,8 +61,8 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase { private boolean checkReferenceStatus(FaunaEuropaeaImportConfigurator fauEuConfig) { boolean result = true; // try { - Source source = fauEuConfig.getSource(); - String sqlStr = ""; +// Source source = fauEuConfig.getSource(); +// String sqlStr = ""; // ResultSet rs = source.getResultSet(sqlStr); return result; // } catch (SQLException e) { @@ -70,9 +71,6 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase { // } } - /* (non-Javadoc) - * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doInvoke(eu.etaxonomy.cdm.io.common.IImportConfigurator, eu.etaxonomy.cdm.api.application.CdmApplicationController, java.util.Map) - */ /* (non-Javadoc) * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doInvoke(eu.etaxonomy.cdm.io.common.IoStateBase) */ @@ -195,25 +193,18 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase { if (((i % limit) == 0 && i != 1 ) || i == count ) { - - - try { - commitTaxaAndDistribution(state, - noDataUuid, taxonUuids, fauEuTaxonMap, txStatus); - + try { + commitTaxaAndDistribution(state, noDataUuid, taxonUuids, fauEuTaxonMap, txStatus); taxonUuids = null; taxonList = null; fauEuTaxonMap = null; - - } catch (Exception e) { - logger.error("Commit of taxa and distributions failed"); - e.printStackTrace(); - } - - if(logger.isInfoEnabled()) { - logger.info("i = " + i + " - Transaction committed"); - } + } catch (Exception e) { + logger.error("Commit of taxa and distributions failed"); + e.printStackTrace(); + } + + if(logger.isInfoEnabled()) { logger.info("i = " + i + " - Transaction committed");} } @@ -244,8 +235,7 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase { Set taxonUuids, Map fauEuTaxonMap, TransactionStatus txStatus) throws Exception { - List taxonList; - taxonList = prepareTaxaAndDistribution(getTaxonService().find(taxonUuids), fauEuTaxonMap, noDataUuid, state); + List taxonList = prepareTaxaAndDistribution(getTaxonService().find(taxonUuids), fauEuTaxonMap, noDataUuid, state); getTaxonService().save(taxonList); commitTransaction(txStatus); @@ -261,12 +251,12 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase { UUID taxonUuid; TaxonDescription taxonDescription; Taxon taxon; - for (TaxonBase taxonBase : taxonList) { + for (TaxonBase taxonBase : taxonList) { if (taxonBase != null) { if (taxonBase instanceof Taxon) { - taxon = taxonBase.deproxy(taxonBase, Taxon.class); + taxon = CdmBase.deproxy(taxonBase, Taxon.class); } else { logger.warn("TaxonBase (" + taxonBase.getId() + " is not of type Taxon but: " + taxonBase.getClass().getSimpleName()); @@ -291,18 +281,18 @@ public class FaunaEuropaeaDistributionImport extends FaunaEuropaeaImportBase { presenceAbsenceStatus = null; if (fauEuHelperDistribution.getOccurrenceStatusId() != 0 && fauEuHelperDistribution.getOccurrenceStatusId() != 2 && fauEuHelperDistribution.getOccurrenceStatusId() != 1){ - presenceAbsenceStatus = (PresenceAbsenceTermBase)getTermService().find(noData); + presenceAbsenceStatus = (PresenceAbsenceTermBase)getTermService().find(noData); }else{ - presenceAbsenceStatus - = FaunaEuropaeaTransformer.occStatus2PresenceAbsence(fauEuHelperDistribution.getOccurrenceStatusId()); + presenceAbsenceStatus = FaunaEuropaeaTransformer.occStatus2PresenceAbsence(fauEuHelperDistribution.getOccurrenceStatusId()); } - - - + namedArea = FaunaEuropaeaTransformer.areaId2TdwgArea(fauEuHelperDistribution); if (namedArea == null){ UUID areaUuid= FaunaEuropaeaTransformer.getUUIDByAreaAbbr(fauEuHelperDistribution.getAreaCode()); + if (areaUuid == null){ + logger.warn("Area " + fauEuHelperDistribution.getAreaCode() + "not found in FE transformer"); + } namedArea = getNamedArea(state, areaUuid, fauEuHelperDistribution.getAreaName(), fauEuHelperDistribution.getAreaName(), fauEuHelperDistribution.getAreaCode(), null, null); } diff --git a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaTransformer.java b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaTransformer.java index 8c93093f..26950ac0 100644 --- a/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaTransformer.java +++ b/cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaTransformer.java @@ -12,7 +12,6 @@ package eu.etaxonomy.cdm.io.pesi.faunaEuropaea; import java.sql.ResultSet; import java.sql.SQLException; import java.util.HashMap; -import java.util.Map; import java.util.UUID; import org.apache.log4j.Logger; @@ -77,8 +76,6 @@ public final class FaunaEuropaeaTransformer { public static final int R_SPECIES = 21; public static final int R_SUBSPECIES = 22; - private static Map tdwgAreas = null; - public static PresenceAbsenceTermBase occStatus2PresenceAbsence(int occStatusId) throws UnknownCdmTypeException{ if (Integer.valueOf(occStatusId) == null) { @@ -300,20 +297,32 @@ public final class FaunaEuropaeaTransformer { return tdwgArea; } + public static UUID uuidAreaAUS = UUID.fromString("cf979ca8-8cb6-42df-b2ce-1f432ec7c26b"); + public static UUID uuidAreaAFR = UUID.fromString("07ac5e75-9fc9-4aa0-938c-1324c9618b97"); + public static UUID uuidAreaEPA = UUID.fromString("e83446d7-7379-4beb-be05-295f8da6f5ae"); + public static UUID uuidAreaGR_AEG = UUID.fromString("6bd422aa-9911-4b80-8595-0f6d1ecd5eee"); + public static UUID uuidAreaGR_CYC = UUID.fromString("8e7d7f1e-3e4d-4f7c-96ec-93ec91e528d6"); + public static UUID uuidAreaGR_DOD = UUID.fromString("6d6f6842-924e-440b-9e7e-3df1922bf4a6"); + public static UUID uuidAreaNAF = UUID.fromString("d2c54b1e-5f9f-455d-b308-6859cb153c7b"); + public static UUID uuidAreaNEA = UUID.fromString("aa87f6b8-110b-44b5-a329-91a08f1a4cc9"); + public static UUID uuidAreaNEO = UUID.fromString("0e6e0ce9-c6ab-46bc-80b9-aee4a0620e78"); + public static UUID uuidAreaNRE = UUID.fromString("d51876c2-eaf6-4c7f-963e-337dd3e0d729"); + public static UUID uuidAreaORR = UUID.fromString("04cab4f8-b316-4e21-9bcc-236a45e4e83d"); + public final static HashMap abbrToUUID = new HashMap(); static { - abbrToUUID.put("AUS", UUID.fromString("cf979ca8-8cb6-42df-b2ce-1f432ec7c26b")); - abbrToUUID.put("AFR", UUID.fromString("07ac5e75-9fc9-4aa0-938c-1324c9618b97")); - abbrToUUID.put("EPA", UUID.fromString("e83446d7-7379-4beb-be05-295f8da6f5ae")); - abbrToUUID.put("GR-AEG", UUID.fromString("6bd422aa-9911-4b80-8595-0f6d1ecd5eee")); - abbrToUUID.put("GR-CYC", UUID.fromString("8e7d7f1e-3e4d-4f7c-96ec-93ec91e528d6")); - abbrToUUID.put("GR-DOD", UUID.fromString("6d6f6842-924e-440b-9e7e-3df1922bf4a6")); - abbrToUUID.put("NAF", UUID.fromString("d2c54b1e-5f9f-455d-b308-6859cb153c7b")); - abbrToUUID.put("NEA", UUID.fromString("aa87f6b8-110b-44b5-a329-91a08f1a4cc9")); - abbrToUUID.put("NEO", UUID.fromString("0e6e0ce9-c6ab-46bc-80b9-aee4a0620e78")); - abbrToUUID.put("NRE", UUID.fromString("d51876c2-eaf6-4c7f-963e-337dd3e0d729")); - abbrToUUID.put("ORR", UUID.fromString("04cab4f8-b316-4e21-9bcc-236a45e4e83d")); + abbrToUUID.put("AUS", uuidAreaAUS); + abbrToUUID.put("AFR", uuidAreaAFR); + abbrToUUID.put("EPA", uuidAreaEPA); + abbrToUUID.put("GR-AEG", uuidAreaGR_AEG); + abbrToUUID.put("GR-CYC", uuidAreaGR_CYC); + abbrToUUID.put("GR-DOD", uuidAreaGR_DOD); + abbrToUUID.put("NAF", uuidAreaNAF); + abbrToUUID.put("NEA", uuidAreaNEA); + abbrToUUID.put("NEO", uuidAreaNEO); + abbrToUUID.put("NRE", uuidAreaNRE); + abbrToUUID.put("ORR", uuidAreaORR); } public static UUID getUUIDByAreaAbbr(String abbr){ return abbrToUUID.get(abbr); -- 2.34.1