Merged 5.2.N (5.2.1) to HEAD (5.2)

131385 idanea: ACE-5453: 500 error: GET /nodes/{nodeId}/ratings?skipCount=XXX
      - implemented fix and added new unit test 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@132255 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2016-11-03 13:50:40 +00:00
parent 6f2b9a5613
commit b3379f798e
2 changed files with 29 additions and 6 deletions

View File

@@ -107,15 +107,17 @@ public class NodeRatingsImpl implements NodeRatings
Iterator<String> it = schemes.iterator();
int skipCount = paging.getSkipCount();
int maxItems = paging.getMaxItems();
int maxItems = paging.getMaxItems();
int totalSize = schemes.size();
int count = 0;
int end = skipCount + maxItems;
if(end < 0)
{
// overflow
end = Integer.MAX_VALUE;
}
int count = Math.min(maxItems, schemes.size() - skipCount);
List<NodeRating> ratings = new ArrayList<NodeRating>(count);
List<NodeRating> ratings = new ArrayList<NodeRating>(totalSize);
for(int i = 0; i < end && it.hasNext(); i++)
{
@@ -124,13 +126,12 @@ public class NodeRatingsImpl implements NodeRatings
{
continue;
}
count++;
RatingScheme ratingScheme = validateRatingScheme(schemeName);
NodeRating nodeRating = ratingScheme.getNodeRating(nodeRef);
ratings.add(nodeRating);
}
int totalSize = schemes.size();
boolean hasMoreItems = (skipCount + count < totalSize);
return CollectionWithPagingInfo.asPaged(paging, ratings, hasMoreItems, totalSize);