From 4b0f89e2b71c06e6e676643e1f3cce538d11c236 Mon Sep 17 00:00:00 2001
From: Jesper Zedlitz <jesper@zedlitz.de>
Date: Fri, 10 May 2024 08:04:41 +0200
Subject: [PATCH] toleranter bei der Bearbeitung der HVD Kategorien sein

---
 .../landsh/opendata/csw2dcat/MDMetadata2Dataset.java | 12 ++++++++++--
 .../java/de/landsh/opendata/csw2dcat/Mapping.java    |  2 ++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java b/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java
index d0f4e69..c63df22 100644
--- a/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java
+++ b/src/main/java/de/landsh/opendata/csw2dcat/MDMetadata2Dataset.java
@@ -838,11 +838,19 @@ public class MDMetadata2Dataset {
             Node anchorRef = keyword.selectSingleNode("./gmd:keyword/gmx:Anchor/@xlink:href");
 
             if (characterString != null) {
-                dataset.addProperty(DCATAP.hvdCategory, Mapping.mapHvdCategory(characterString.getStringValue()));
+                try {
+                    dataset.addProperty(DCATAP.hvdCategory, Mapping.mapHvdCategory(characterString.getStringValue()));
+                } catch (IllegalArgumentException e) {
+                    log.warn("Invalid HVD category {} for dataset {}", characterString.getStringValue(), id);
+                }
             }
 
             if (anchorRef != null) {
-                dataset.addProperty(DCATAP.hvdCategory, model.createResource(anchorRef.getStringValue()));
+                try {
+                    dataset.addProperty(DCATAP.hvdCategory, model.createResource(anchorRef.getStringValue()));
+                } catch (IllegalArgumentException e) {
+                    log.warn("Invalid HVD category {} for dataset {}", characterString.getStringValue(), id);
+                }
             }
         }
 
diff --git a/src/main/java/de/landsh/opendata/csw2dcat/Mapping.java b/src/main/java/de/landsh/opendata/csw2dcat/Mapping.java
index 73e502d..ae9c05c 100644
--- a/src/main/java/de/landsh/opendata/csw2dcat/Mapping.java
+++ b/src/main/java/de/landsh/opendata/csw2dcat/Mapping.java
@@ -217,6 +217,8 @@ public class Mapping {
             return ResourceFactory.createResource("http://data.europa.eu/bna/c_ac64a52d");
         } else if ("Erdbeobachtung und Umwelt".equals(germanName)) {
             return ResourceFactory.createResource("http://data.europa.eu/bna/c_dd313021");
+        } else if ("Erdbeobachtung".equals(germanName)) {
+            return ResourceFactory.createResource("http://data.europa.eu/bna/c_dd313021");
         } else if ("Meteorologie".equals(germanName)) {
             return ResourceFactory.createResource("http://data.europa.eu/bna/c_164e0bf5");
         } else if ("Statistik".equals(germanName)) {
-- 
GitLab