X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib-apps.git/blobdiff_plain/94adeb1df5ede5c92bf84dc94ea987cadfa62d5e..ac9742df59656534ab277f1a5586e648692fe21e:/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java diff --git a/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java b/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java index e157c185..5468f6fe 100644 --- a/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java +++ b/app-import/src/main/java/eu/etaxonomy/cdm/io/redlist/gefaesspflanzen/RedListGefaesspflanzenImportNames.java @@ -29,6 +29,8 @@ import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; import eu.etaxonomy.cdm.model.common.CdmBase; import eu.etaxonomy.cdm.model.name.BotanicalName; +import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; +import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType; import eu.etaxonomy.cdm.model.name.Rank; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.Synonym; @@ -46,8 +48,6 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase; @SuppressWarnings("serial") public class RedListGefaesspflanzenImportNames extends DbImportBase { - private static final String EX = " ex "; - private static final Logger logger = Logger.getLogger(RedListGefaesspflanzenImportNames.class); private static final String tableName = "Rote Liste Gefäßpflanzen"; @@ -101,31 +101,32 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase namesToSave, Set taxaToSave) throws SQLException { - long id = rs.getLong("NAMNR"); - String taxNameString = rs.getString("TAXNAME"); - String gueltString = rs.getString("GUELT"); - String rangString = rs.getString("RANG"); - String ep1String = rs.getString("EPI1"); - String ep2String = rs.getString("EPI2"); - String ep3String = rs.getString("EPI3"); - String nomZusatzString = rs.getString("NOM_ZUSATZ"); - String zusatzString = rs.getString("ZUSATZ"); - String authorKombString = rs.getString("AUTOR_KOMB"); - String authorBasiString = rs.getString("AUTOR_BASI"); - + long id = rs.getLong(RedListUtil.NAMNR); + String taxNameString = rs.getString(RedListUtil.TAXNAME); + String gueltString = rs.getString(RedListUtil.GUELT); + String rangString = rs.getString(RedListUtil.RANG); + String ep1String = rs.getString(RedListUtil.EPI1); + String ep2String = rs.getString(RedListUtil.EPI2); + String ep3String = rs.getString(RedListUtil.EPI3); + String nomZusatzString = rs.getString(RedListUtil.NOM_ZUSATZ); + String zusatzString = rs.getString(RedListUtil.ZUSATZ); + String authorKombString = rs.getString(RedListUtil.AUTOR_KOMB); + String authorBasiString = rs.getString(RedListUtil.AUTOR_BASI); + + //---NAME--- if(CdmUtils.isBlank(taxNameString) && CdmUtils.isBlank(ep1String)){ - logger.error("NAMNR: "+id+" No name found!"); + RedListUtil.logMessage(id, "No name found!", logger); } - Rank rank = makeRank(state, rangString); + Rank rank = makeRank(id, state, rangString); if(rank==null){ - logger.error("NAMNR: "+id+" Rank could not be resolved."); + RedListUtil.logMessage(id, "Rank could not be resolved.", logger); } BotanicalName name = BotanicalName.NewInstance(rank); //ep1 should always be present if(CdmUtils.isBlank(ep1String)){ - logger.error("NAMNR: "+id+" EPI1 is empty!"); + RedListUtil.logMessage(id, RedListUtil.EPI1+" is empty!", logger); } name.setGenusOrUninomial(ep1String); if(!CdmUtils.isBlank(ep2String)){ @@ -137,57 +138,73 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase Column AUTOR: "+authorshipCache+" <-> "+authorString); + RedListUtil.logMessage(id, "Authorship inconsistent! name.authorhshipCache <-> Column "+RedListUtil.AUTOR+": "+authorshipCache+" <-> "+authorString, logger); } //id - ImportHelper.setOriginalSource(name, state.getTransactionalSourceReference(), id, Namespace.NAME_NAMESPACE); + ImportHelper.setOriginalSource(name, state.getTransactionalSourceReference(), id, RedListUtil.NAME_NAMESPACE); state.getNameMap().put(id, name.getUuid()); namesToSave.add(name); //---TAXON--- TaxonBase taxonBase = null; - if(gueltString.equals("1")){ + if(gueltString.equals(RedListUtil.GUELT_ACCEPTED_TAXON) || (name.getAppendedPhrase()!=null && name.getAppendedPhrase().equals(RedListUtil.AUCT))){ taxonBase = Taxon.NewInstance(name, null); } - else if(gueltString.equals("x") || gueltString.equals("b")){ + else if(gueltString.equals(RedListUtil.GUELT_SYNONYM) || gueltString.equals(RedListUtil.GUELT_BASIONYM)){ taxonBase = Synonym.NewInstance(name, null); } if(taxonBase==null){ - logger.error("NAMNR: "+id+" Taxon for name "+name+" could not be created."); + RedListUtil.logMessage(id, "Taxon for name "+name+" could not be created.", logger); return; } taxaToSave.add(taxonBase); //id - ImportHelper.setOriginalSource(taxonBase, state.getTransactionalSourceReference(), id, Namespace.TAXON_NAMESPACE); + ImportHelper.setOriginalSource(taxonBase, state.getTransactionalSourceReference(), id, RedListUtil.TAXON_NAMESPACE); state.getTaxonMap().put(id, taxonBase.getUuid()); } - private Rank makeRank(RedListGefaesspflanzenImportState state, String rankStr) { + private Rank makeRank(long id, RedListGefaesspflanzenImportState state, String rankStr) { Rank rank = null; try { rank = state.getTransformer().getRankByKey(rankStr); @@ -244,11 +264,24 @@ public class RedListGefaesspflanzenImportNames extends DbImportBase