From 6a554c012ed8d7cb8afc40fd51617b1464e61244 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Thu, 2 May 2024 23:13:52 +0200 Subject: [PATCH] ref #10273, ref #10446 add subsection and ipni ID to content export and doc for backbone export --- .../etaxonomy/cdm/io/wfo/out/WfoBackboneExport.java | 1 - .../etaxonomy/cdm/io/wfo/out/WfoContentExport.java | 13 ++++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoBackboneExport.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoBackboneExport.java index 4580115f0f..cd539998b2 100644 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoBackboneExport.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoBackboneExport.java @@ -604,7 +604,6 @@ public class WfoBackboneExport csvLine[table.getIndex(WfoBackboneExportTable.TAXON_ID)] = wfoId; } - //TODO 9 add IPNI ID if exists, scientific name ID boolean warnIfNotExists = false; csvLine[table.getIndex(WfoBackboneExportTable.NAME_SCIENTIFIC_NAME_ID)] = getIpniId(state, name, warnIfNotExists); diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoContentExport.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoContentExport.java index 8b1f6800b8..9101a8d51b 100644 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoContentExport.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/wfo/out/WfoContentExport.java @@ -207,6 +207,7 @@ public class WfoContentExport allowedRanks.add(Rank.GENUS()); allowedRanks.add(Rank.SUBGENUS()); allowedRanks.add(Rank.SECTION_BOTANY()); + allowedRanks.add(Rank.SUBSECTION_BOTANY()); allowedRanks.add(Rank.SPECIES()); allowedRanks.add(Rank.SUBSPECIES()); allowedRanks.add(Rank.VARIETY()); @@ -707,7 +708,8 @@ public class WfoContentExport //scientificNameID //TODO 9 add IPNI ID if exists - csvLine[table.getIndex(WfoContentExportTable.NAME_SCIENTIFIC_NAME_ID)] = null; + boolean warnIfNotExists = false; + csvLine[table.getIndex(WfoContentExportTable.NAME_SCIENTIFIC_NAME_ID)] = getIpniId(state, name, warnIfNotExists); //scientificName if (name.isProtectedTitleCache()) { @@ -764,6 +766,15 @@ public class WfoContentExport return wfoId; } + private String getIpniId(WfoContentExportState state, TaxonName name, boolean warnIfNotExists) { + Identifier ipniId = name.getIdentifier(IdentifierType.uuidIpniNameIdentifier); + if (ipniId == null && warnIfNotExists) { + String message = "No ipni-id given for name: " + name.getTitleCache()+"/"+ name.getUuid(); + state.getResult().addWarning(message); //TODO 5 data location + } + return ipniId == null ? null : ipniId.getIdentifier(); + } + private String getWfoId(WfoContentExportState state, TaxonName name, boolean warnIfNotExists) { Identifier wfoId = name.getIdentifier(IdentifierType.uuidWfoNameIdentifier); if (wfoId == null && warnIfNotExists) { -- 2.34.1