diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java index 01a29c57512cebf3a68b7866576b1af58695a1a0..75da7e9f7448a43e28387f2cf77be18bc338ad68 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java @@ -473,13 +473,14 @@ public class OAIPMHImpl implements OAIPMHProducer { && RecordListDelivererDC.cursorCollector.containsKey(request.getResumptionToken()); boolean restokIDIOMExisting = RecordListDelivererIDIOM.cursorCollector != null && RecordListDelivererIDIOM.cursorCollector.containsKey(request.getResumptionToken()); - boolean restokOpenAireExisting = OpenAireRecordList.cursorCollector != null - && OpenAireRecordList.cursorCollector.containsKey(request.getResumptionToken()); + boolean restokOpenAireExisting = RecordListDelivererAbstract.cursorCollector != null + && RecordListDelivererAbstract.cursorCollector.containsKey(request.getResumptionToken()); if (restokDCExisting) { recListDeliv = this.recordListDC; } else if (restokIDIOMExisting) { recListDeliv = this.recordListIDIOM; } else if (restokOpenAireExisting) { + System.out.println("RESTOK FOR OPENAIRE EXISTS"); recListDeliv = this.openAireRecordList; } } diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java index cee18d744e71713bf93ef698c5ed8af759e29955..a3c3da1969ddc8805ed66f739f25a2d1d17fac00 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecordList.java @@ -14,7 +14,7 @@ import info.textgrid.middleware.oaipmh.ResumptionTokenType; public class OpenAireRecordList extends RecordListDelivererAbstract { - protected static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>(); + //protected static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>(); private String rangeField; @@ -60,8 +60,7 @@ public class OpenAireRecordList extends RecordListDelivererAbstract { System.out.println(getResTokenForResponse().getValue()); //System.out.println(getResumptionToken()); //resTokenForResponse = OAIPMHUtilities.getResumptionToken( - // 94146, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i) - + // 94146, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i) openAireRecordList.setResumptionToken(getResTokenForResponse()); //} diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java index 75df51dc705eb1cadf0c1312edcdce19bf9ff109..256842bf7793f5a59e018d1c9bbc165d7b6e1d19 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererAbstract.java @@ -134,6 +134,8 @@ public abstract class RecordListDelivererAbstract implements RecordListDeliverer resTokenForResponse = OAIPMHUtilities.getResumptionToken( completeListSize, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i); + System.out.println("TADA: "); + System.out.println(cursorCollector); }else { setFoundItems(false); @@ -166,13 +168,17 @@ public abstract class RecordListDelivererAbstract implements RecordListDeliverer // Check if resumptionToken is invalid or existing. if (request.getResumptionToken() != null) { + System.out.println("ERROR_CHECK"); + System.out.println(request.getResumptionToken()); boolean restokIDIOMExisting = RecordListDelivererIDIOM.cursorCollector != null && RecordListDelivererIDIOM.cursorCollector.containsKey(request.getResumptionToken()); boolean restokDCExisting = RecordListDelivererDC.cursorCollector != null && RecordListDelivererDC.cursorCollector.containsKey(request.getResumptionToken()); - - if (!restokDCExisting && !restokIDIOMExisting) { + boolean restok = cursorCollector != null + && cursorCollector.containsKey(request.getResumptionToken()); + + if (!restokDCExisting && !restokIDIOMExisting && !restok) { result.setError(TGConstants.OAI_BAD_RESUMPTION_TOKEN, "The value of the " + request.getResumptionToken() + " argument is invalid or expired."); } 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 8e617213f589ec4061eedf4f98cdc3a95824b73f..406de81eb53e766e5a1fdcd137db3940a97cdbe3 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java @@ -274,9 +274,10 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { completeListSize, resumptionToken, cursorCollector, scrollID, this.searchResponseSize, i); //if (resTokenForResponse != null) { - System.out.println("RESTOKEN: "); - System.out.println(recordList.getResumptionToken()); + recordList.setResumptionToken(resTokenForResponse); + System.out.println("RESTOKEN: "); + System.out.println(recordList.getResumptionToken()); //} } else {