From 11d730c14eb878e6a810740d7af4e3526d169b6b Mon Sep 17 00:00:00 2001 From: Maximilian Behnert-Brodhun <behnert-brodhun@sub.uni-goettingen.de> Date: Thu, 1 Jul 2021 13:44:34 +0200 Subject: [PATCH] use correct fieldLoader function for DC in ListRecords --- .../middleware/RecordListDelivererDC.java | 32 +++++++++++- .../textgrid/middleware/OaiPmhTestTG.java | 50 +++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-) 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 96d0a3e8..d071ab60 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java @@ -324,6 +324,34 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { } } + + /*public DublinCoreBuilder putContentIntoDCFieldLists(JSONObject json) { + + // DublinCoreBuilder result = new DublinCoreBuilder(); + //result.setContributor(DublinCoreFieldLoader.fillList(responseWorkValues, this.contributorList)); + /*result.setCoverage(DublinCoreFieldLoader.fillList(responseWorkValues, this.coverageList)); + result.setCreator(DublinCoreFieldLoader.fillList(responseWorkValues, this.creatorList)); + result.setDate(DublinCoreFieldLoader.fillList(responseWorkValues, this.dateList)); + + result.setDescription( + DublinCoreFieldLoader.fillList(responseWorkValues, this.descriptionList));*/ + //result.setFormat(DublinCoreFieldLoader.fillList(hit, this.formatList)); + + // result.setIdentifier(OAIPMHUtilities.fieldLoader(json, fields)); + //result.setLanguage(DublinCoreFieldLoader.fillList(hit, this.languageList)); + //result.setPublisher(DublinCoreFieldLoader.fillList(hit, this.publisherList)); + //result.setRelation(DublinCoreFieldLoader.fillList(hit, this.relationList)); + //result.setRelation( + // DublinCoreFieldLoader.fillList(responseWorkValues, this.relationsForWorkList)); + //result.setRights(DublinCoreFieldLoader.fillList(hit, this.rightList)); + //result.setSource(DublinCoreFieldLoader.fillList(hit, this.sourceList)); + //result.setSubject(DublinCoreFieldLoader.fillList(hit, this.subjectList)); + //result.setTitle(DublinCoreFieldLoader.fillList(hit, this.titleList)); + //result.setType(DublinCoreFieldLoader.fillList(responseWorkValues, this.typeList)); + + //return result; + //}*/ + /** * @param hit * @param responseWorkValues @@ -345,7 +373,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { DublinCoreFieldLoader.fillList(responseWorkValues, this.descriptionList)); result.setFormat(DublinCoreFieldLoader.fillList(hit, this.formatList)); //result.setIdentifier(DublinCoreFieldLoader.fillList(hit, this.identifierList)); - result.setIdentifier(OAIPMHUtilities.fieldLoader(new JSONObject(hit.getSourceAsMap()), fields)); + result.setIdentifier(OAIPMHUtilities.fieldLoader(new JSONObject(hit.getSourceAsMap()), this.identifierList)); result.setLanguage(DublinCoreFieldLoader.fillList(hit, this.languageList)); result.setPublisher(DublinCoreFieldLoader.fillList(hit, this.publisherList)); result.setRelation(DublinCoreFieldLoader.fillList(hit, this.relationList)); @@ -379,7 +407,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { result.setDescription(DublinCoreFieldLoader.fillList(hit, this.descriptionList)); result.setFormat(DublinCoreFieldLoader.fillList(hit, this.formatList)); //result.setIdentifier(DublinCoreFieldLoader.fillList(hit, this.identifierList)); - result.setIdentifier(OAIPMHUtilities.fieldLoader(new JSONObject(hit.getSourceAsMap()), fields)); + result.setIdentifier(OAIPMHUtilities.fieldLoader(new JSONObject(hit.getSourceAsMap()), this.identifierList)); result.setLanguage(DublinCoreFieldLoader.fillList(hit, this.languageList)); result.setPublisher(DublinCoreFieldLoader.fillList(hit, this.publisherList)); result.setRelation(DublinCoreFieldLoader.fillList(hit, this.relationList)); diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTestTG.java b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTestTG.java index b48168c8..b23c9434 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTestTG.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/OaiPmhTestTG.java @@ -122,6 +122,56 @@ public class OaiPmhTestTG { result.setIdentifier(identifier); } + + @Test + public void testGetArrayFromESIndexForListRecords() { + String jsonAsString = "{\r\n" + + " \"administrativeMetadata\": {\r\n" + + " \"dcterms:created\": \"2021-06-16T17:15:48.689\",\r\n" + + " \"dcterms:creator\": \"StefanFunk@dariah.eu\",\r\n" + + " \"dcterms:extent\": 154064,\r\n" + + " \"dcterms:identifier\": \"hdl:21.T11991/0000-001B-4D41-4\",\r\n" + + " \"dcterms:modified\": \"2021-06-16T17:15:48.689\"\r\n" + + " },\r\n" + + " \"descriptiveMetadata\": {\r\n" + + " \"dc:creator\": \"fu\",\r\n" + + " \"dc:description\": \"just some ictures\",\r\n" + + " \"dc:format\": \"image/jpeg\",\r\n" + + " \"dc:identifier\": [\r\n" + + " \"hdl:21.T11991/0000-001B-4D41-4\",\r\n" + + " \"doi:10.20375/0000-001B-4D41-4\"\r\n" + + " ],\r\n" + + " \"dc:relation\": \"hdl:21.T11991/0000-001B-4D28-1\",\r\n" + + " \"dc:rights\": \"free\",\r\n" + + " \"dc:title\": \"2017-07-12-Waffel copy 2.jpeg\"\r\n" + + " },\r\n" + + " \"technicalMetadata\": {\r\n" + + " \"externalIdentifier\": \"fmt/43\",\r\n" + + " \"externalIdentifierType\": \"puid\",\r\n" + + " \"format\": \"JPEG File Interchange Format\",\r\n" + + " \"mimetype\": \"image/jpeg\",\r\n" + + " \"valid\": \"true\",\r\n" + + " \"version\": \"1.01\",\r\n" + + " \"well-formed\": \"true\"\r\n" + + " }\r\n" + + " }"; + + JSONObject json = new JSONObject(jsonAsString); + //System.out.println(json); + DublinCoreBuilder result = new DublinCoreBuilder(); + List<String> identifier = new ArrayList<String>(); + String[] fieldsForIdentifier = {"descriptiveMetadata.dc:identifier"}; + System.out.println(OAIPMHUtilities.fieldLoader(json, DARIAHConstants.IDENTIFIER)); + identifier = OAIPMHUtilities.fieldLoader(json, fieldsForIdentifier); + for(String id : identifier) { + System.out.println(id); + } + + result.setIdentifier(identifier); + + System.out.println(result); + } + @Test @Ignore public void testOpenAireIdentifierList() { -- GitLab