From 68e1878365f304b76d717b1e3fa3b329f46a0e3c Mon Sep 17 00:00:00 2001 From: "Stefan E. Funk" <funk@sub.uni-goettingen.de> Date: Fri, 18 Jun 2021 16:34:42 +0200 Subject: [PATCH] mc --- .../textgrid/middleware/DublinCoreFieldLoader.java | 12 ++++++++---- .../textgrid/middleware/RecordListDelivererDC.java | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java index 727d3898..79020ea9 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java @@ -93,7 +93,7 @@ public class DublinCoreFieldLoader { List<String> dates = new ArrayList<String>(); - // FIXME TADAA? + // FIXME TADAA? TADAAAAA??????? System.out.println("TADA"); for (String field : fields) { @@ -124,7 +124,7 @@ public class DublinCoreFieldLoader { if (fields != null) { for (String field : fields) { if (responseWorkValues.getSourceAsMap().get(field) == null) { - String[] requestedField = field.split("\\."); + String[] requestedField = field.split(OAIPMHUtilities.ES_DIVIDER_REGEXP); Map<String, Object> nestedMap = responseWorkValues.getSourceAsMap(); String valueOfRequestedField = null; Map<String, Object> nestedMap2 = null; @@ -176,7 +176,7 @@ public class DublinCoreFieldLoader { if (fields != null) { for (String field : fields) { if (hit.getSourceAsMap().get(field) == null) { - String[] requestedField = field.split("\\."); + String[] requestedField = field.split(OAIPMHUtilities.ES_DIVIDER_REGEXP); Map<String, Object> nestedMap = hit.getSourceAsMap(); String valueOfRequestedField = null; Map<String, Object> nestedMap2 = null; @@ -193,7 +193,11 @@ public class DublinCoreFieldLoader { nestedMap2 != null && nestedMap2.get(requestedField[i]) != null) { valueOfRequestedField = nestedMap2.get(requestedField[i]).toString(); if (valueOfRequestedField.length() > 0) { - list.add(valueOfRequestedField); + // Only add list entry if prefix is empty or beginning with prefix otherwise! + if (prefix.isEmpty() + || hit.getSourceAsMap().get(field).toString().startsWith(prefix)) { + list.add(valueOfRequestedField); + } } } nestedMap = nestedMap2; diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java index 94dc1212..0ecfb024 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java @@ -29,6 +29,7 @@ import info.textgrid.middleware.oaipmh.ListRecordsType; import info.textgrid.middleware.oaipmh.MetadataType; import info.textgrid.middleware.oaipmh.RecordType; import info.textgrid.middleware.oaipmh.ResumptionTokenType; +import javafx.collections.transformation.SortedList; /** * -- GitLab