You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2015/09/10 17:42:52 UTC
svn commit: r1702282 -
/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/util/CollectionIterator.java
Author: fmui
Date: Thu Sep 10 15:42:52 2015
New Revision: 1702282
URL: http://svn.apache.org/r1702282
Log:
OpenCMIS Client: added workaround for repositories that send an empty list and set the hasMoreItems flag to true (for example in the response of getChildren()) -> prevents NPEs and endless loops
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/util/CollectionIterator.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/util/CollectionIterator.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/util/CollectionIterator.java?rev=1702282&r1=1702281&r2=1702282&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/util/CollectionIterator.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/util/CollectionIterator.java Thu Sep 10 15:42:52 2015
@@ -39,11 +39,6 @@ public class CollectionIterator<T> exten
super(skipCount, pageFetcher);
}
- /*
- * (non-Javadoc)
- *
- * @see java.util.Iterator#hasNext()
- */
@Override
public boolean hasNext() {
Page<T> page = getCurrentPage();
@@ -52,7 +47,11 @@ public class CollectionIterator<T> exten
}
List<T> items = page.getItems();
- if (items != null && getSkipOffset() < items.size()) {
+ if (items == null || items.isEmpty()) {
+ return false;
+ }
+
+ if (getSkipOffset() < items.size()) {
return true;
}
@@ -69,11 +68,6 @@ public class CollectionIterator<T> exten
return (getSkipCount() + getSkipOffset()) < totalItems;
}
- /*
- * (non-Javadoc)
- *
- * @see java.util.Iterator#next()
- */
@Override
public T next() {
Page<T> page = getCurrentPage();