@@ -184,9 +184,9 @@ private InputStream getXmlDocsViaSru(final StringBuilder srUrl) {
184
184
StringWriter stringWriter = new StringWriter ();
185
185
t .transform (new DOMSource (xmldoc ), new StreamResult (stringWriter ));
186
186
187
- numberOfRecords = getIntegerValueFromElement (xmldoc ,"numberOfRecords" );
188
- int recordPosition = getIntegerValueFromElement (xmldoc ,"recordPosition" );
189
- int nextRecordPosition = getIntegerValueFromElement (xmldoc ,"nextRecordPosition" );
187
+ numberOfRecords = getIntegerValueFromElement (xmldoc ,"numberOfRecords" , 0 );
188
+ int recordPosition = getIntegerValueFromElement (xmldoc ,"recordPosition" , 0 );
189
+ int nextRecordPosition = getIntegerValueFromElement (xmldoc ,"nextRecordPosition" , totalRecords );
190
190
191
191
recordsRetrieved = recordsRetrieved + nextRecordPosition - recordPosition ;
192
192
startRecord = nextRecordPosition ; // grenzwert : wenn maximumRcords > als in echt
@@ -199,12 +199,12 @@ private InputStream getXmlDocsViaSru(final StringBuilder srUrl) {
199
199
}
200
200
}
201
201
202
- private int getIntegerValueFromElement (final Document xmlDoc , final String tagName ) {
202
+ private int getIntegerValueFromElement (final Document xmlDoc , final String tagName , final int fallback ) {
203
203
Node node = xmlDoc .getElementsByTagName (tagName ).item (0 );
204
204
if (node != null ) {
205
205
return Integer .parseInt (node .getTextContent ());
206
206
}
207
- return 0 ;
207
+ return fallback ;
208
208
}
209
209
210
210
private InputStream retrieveUrl (StringBuilder srUrl , int startRecord , int maximumRecords ) throws IOException {
0 commit comments