diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java index a3edfe0a908c3eca3de1e6037637d2c81cad5856..6ccea32691e05da9ea22a914c75af900e6cb8b29 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererIDIOM.java @@ -15,6 +15,8 @@ import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.builder.SearchSourceBuilder; +import org.json.JSONObject; + import info.textgrid.middleware.oaipmh.HeaderType; import info.textgrid.middleware.oaipmh.ListRecordsType; import info.textgrid.middleware.oaipmh.MetadataType; @@ -128,11 +130,12 @@ public class RecordListDelivererIDIOM extends RecordListDelivererAbstract { for (SearchHit hit : scrollResp.getHits().getHits()) { i++; - String textgridURI = - hit.getFields().get("textgridUri").getValue().toString().replace(".0", ""); + + String textgridURI = OAIPMHUtilities.fieldLoader(new JSONObject(hit.getSourceAsMap()), "textgridUri"); + //hit.getFields().get("textgridUri").getValue().toString().replace(".0", ""); // System.out.println("Processing: " + textgridURI); RecordDelivererIDIOM idiomRecord = new RecordDelivererIDIOM(true, false); - recordList.getRecord().add(idiomRecord.getRecordById(textgridURI).getRecord()); + recordList.getRecord().add(idiomRecord.getRecordById(textgridURI.replace(".0", "")).getRecord()); } // Check the need for a resumption token! ResumptionTokenType resTokenForResponse = OAIPMHUtilities.getResumptionToken(