Skip to content
Snippets Groups Projects
Commit de884e7f authored by mbrodhu's avatar mbrodhu
Browse files

Merge branch 'release/3.3.5'

parents 3fd23eaf ff834bd6
No related branches found
Tags 3.3.5
No related merge requests found
......@@ -5,7 +5,7 @@
<parent>
<artifactId>oaipmh</artifactId>
<groupId>info.textgrid.middleware</groupId>
<version>3.3.4</version>
<version>3.3.5</version>
</parent>
<groupId>info.textgrid.middleware</groupId>
<artifactId>oaipmh-core</artifactId>
......
......@@ -168,57 +168,63 @@ public class OAIPMHUtilities {
* @return A resumption token if applicable, null otherwise.
*/
public static ResumptionTokenType getResumptionToken(final long completeListSize,
final String resumptionToken, Map<String, Integer> cursorCollector, final String scrollID,
final int searchResponseSize, final int i) {
log.info("Creating a ResumptionToken:\n " +
"CompleteListSize: " + completeListSize + "\n" +
"ResumptionToken: " + resumptionToken + "\n" +
"CursorCollector: " + cursorCollector + "\n" +
"ScrollID: " + scrollID + "\n" +
"SearchResponseSize: " + scrollID + "\n" +
"IterationStep: " + i);
int cursor;
// Three cases here:
// 1. Complete list size is > searchResponseSize and a token already is existing: we need to
// check hash map!
// 2. Complete list size is > searchResponseSize and we have no token: we do need one!
// 3. Complete list size is <= searchResponseSize (we do not need a token! do nothing!)
if (completeListSize > searchResponseSize) {
ResumptionTokenType resTokenForResponse = new ResumptionTokenType();
if (resumptionToken != null && cursorCollector.containsKey(resumptionToken)) {
cursor = cursorCollector.get(resumptionToken).intValue() + i;
resTokenForResponse.setCursor(BigInteger.valueOf((long) cursor));
cursorCollector.put(scrollID, cursor);
} else {
resTokenForResponse.setCursor(BigInteger.valueOf(searchResponseSize));
cursorCollector.put(scrollID, searchResponseSize);
cursor = 0;
}
// Set resumption token string if cursor is less then complete list size: More objects can be
// delivered!
if (cursor < completeListSize) {
resTokenForResponse.setValue(scrollID);
}
// Remove resumption token string if cursor is bigger then or equal complete list size: This
// is the last response, no more objects are available!
if (cursor >= completeListSize) {
resTokenForResponse.setValue("");
}
// Set complete list size.
resTokenForResponse.setCompleteListSize(BigInteger.valueOf(completeListSize));
return resTokenForResponse;
}
return null;
}
final String resumptionToken, Map<String, Integer> cursorCollector, final String scrollID,
final int searchResponseSize, final int i) {
log.info("Creating a ResumptionToken:\n " +
"CompleteListSize: " + completeListSize + "\n" +
"ResumptionToken: " + resumptionToken + "\n" +
"CursorCollector: " + cursorCollector + "\n" +
"ScrollID: " + scrollID + "\n" +
"SearchResponseSize: " + scrollID + "\n" +
"IterationStep: " + i);
int cursor;
// Three cases here:
// 1. Complete list size is > searchResponseSize and a token already is existing: we need to
// check hash map!
// 2. Complete list size is > searchResponseSize and we have no token: we do need one!
// 3. Complete list size is <= searchResponseSize (we do not need a token! do nothing!)
if (completeListSize > searchResponseSize) {
ResumptionTokenType resTokenForResponse = new ResumptionTokenType();
if (resumptionToken != null && cursorCollector.containsKey(resumptionToken)) {
cursor = cursorCollector.get(resumptionToken).intValue() + i;
if(cursor-searchResponseSize == 0) {
cursor *= 2;
}
resTokenForResponse.setCursor(BigInteger.valueOf((long) cursor));
cursorCollector.put(scrollID, cursor);
} else {
resTokenForResponse.setCursor(BigInteger.valueOf(searchResponseSize));
cursorCollector.put(scrollID, searchResponseSize);
cursor = searchResponseSize;
resTokenForResponse.setCursor(BigInteger.valueOf((long) cursor));
}
// Set resumption token string if cursor is less then complete list size: More objects can be
// delivered!
if (cursor < completeListSize) {
resTokenForResponse.setValue(scrollID);
}
// Remove resumption token string if cursor is bigger then or equal complete list size: This
// is the last response, no more objects are available!
if (cursor >= completeListSize) {
//cursor =;
resTokenForResponse.setValue("");
}
// Set complete list size.
resTokenForResponse.setCompleteListSize(BigInteger.valueOf(completeListSize));
return resTokenForResponse;
}
return null;
}
}
......@@ -97,6 +97,7 @@ public class RecordListDelivererIDIOM extends RecordListDelivererAbstract {
String scrollID = scrollResp.getScrollId();
long completeListSize = scrollResp.getHits().totalHits();
//long completeListSize = 70;
//System.out.println(completeListSize);
//System.out.println(completeListSize + " || " + artefactURIs.size());
if (completeListSize > 0) {
......
......@@ -5,7 +5,7 @@
<parent>
<artifactId>oaipmh</artifactId>
<groupId>info.textgrid.middleware</groupId>
<version>3.3.4</version>
<version>3.3.5</version>
</parent>
<groupId>info.textgrid.middleware</groupId>
<artifactId>oaipmh-webapp</artifactId>
......
......@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>info.textgrid.middleware</groupId>
<artifactId>oaipmh</artifactId>
<version>3.3.4</version>
<version>3.3.5</version>
<packaging>pom</packaging>
<name>DARIAHDE :: OAI-PMH DataProvider</name>
<properties>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment