diff --git a/source/java/org/alfresco/repo/discussion/DiscussionServiceImpl.java b/source/java/org/alfresco/repo/discussion/DiscussionServiceImpl.java index b9cc7e3a73..30cb24972c 100644 --- a/source/java/org/alfresco/repo/discussion/DiscussionServiceImpl.java +++ b/source/java/org/alfresco/repo/discussion/DiscussionServiceImpl.java @@ -948,7 +948,15 @@ public class DiscussionServiceImpl implements DiscussionService @Override public boolean hasMoreItems() { - return finalLuceneResults.hasMore(); + try + { + return finalLuceneResults.hasMore(); + } + catch(UnsupportedOperationException e) + { + // Not all lucene results support paging + return false; + } } @Override @@ -959,6 +967,10 @@ public class DiscussionServiceImpl implements DiscussionService try { skipCount = finalLuceneResults.getStart(); + } + catch(UnsupportedOperationException e) {} + try + { itemsRemainingAfterThisPage = finalLuceneResults.length(); } catch(UnsupportedOperationException e) {} diff --git a/source/java/org/alfresco/repo/links/LinksServiceImpl.java b/source/java/org/alfresco/repo/links/LinksServiceImpl.java index 1e17525881..7f65e283d6 100644 --- a/source/java/org/alfresco/repo/links/LinksServiceImpl.java +++ b/source/java/org/alfresco/repo/links/LinksServiceImpl.java @@ -435,14 +435,33 @@ public class LinksServiceImpl implements LinksService @Override public boolean hasMoreItems() { - return finalLuceneResults.hasMore(); + try + { + return finalLuceneResults.hasMore(); + } + catch(UnsupportedOperationException e) + { + // Not all lucene results support paging + return false; + } } @Override public Pair getTotalResultCount() { - int skipCount = finalLuceneResults.getStart(); - int itemsRemainingAfterThisPage = finalLuceneResults.length(); + int skipCount = 0; + int itemsRemainingAfterThisPage = 0; + try + { + skipCount = finalLuceneResults.getStart(); + } + catch(UnsupportedOperationException e) {} + try + { + itemsRemainingAfterThisPage = finalLuceneResults.length(); + } + catch(UnsupportedOperationException e) {} + final int totalItemsInUnpagedResultSet = skipCount + itemsRemainingAfterThisPage; return new Pair(totalItemsInUnpagedResultSet, totalItemsInUnpagedResultSet); }