Fix: next returned a null value at end of stream

This commit is contained in:
Giambattista Bloisi 2024-06-12 13:28:51 +02:00
parent d90cb099b8
commit 9bf2bda1c6
1 changed files with 17 additions and 13 deletions

View File

@ -176,19 +176,6 @@ public class RestIterator implements Iterator<String> {
*/
@Override
public boolean hasNext() {
if (this.recordQueue.isEmpty() && this.query.isEmpty()) {
disconnect();
return false;
}
return true;
}
/*
* (non-Javadoc)
* @see java.util.Iterator#next()
*/
@Override
public String next() {
synchronized (this.recordQueue) {
while (this.recordQueue.isEmpty() && !this.query.isEmpty()) {
try {
@ -198,6 +185,23 @@ public class RestIterator implements Iterator<String> {
throw new RuntimeException(e);
}
}
if (!this.recordQueue.isEmpty()) {
return true;
}
disconnect();
return false;
}
}
/*
* (non-Javadoc)
* @see java.util.Iterator#next()
*/
@Override
public String next() {
synchronized (this.recordQueue) {
return this.recordQueue.poll();
}
}