From 72e555768896dd7b589b6365128f2cf6f79bee4c Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Mon, 5 Sep 2011 15:17:25 +0000 Subject: [PATCH] Correct SiteService listMembers size limiting (needs to break out of both loops) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30227 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- source/java/org/alfresco/repo/site/SiteServiceImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/repo/site/SiteServiceImpl.java b/source/java/org/alfresco/repo/site/SiteServiceImpl.java index 6e889ee884..99efcd971d 100644 --- a/source/java/org/alfresco/repo/site/SiteServiceImpl.java +++ b/source/java/org/alfresco/repo/site/SiteServiceImpl.java @@ -1466,7 +1466,8 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic QName siteType = directNodeService.getType(siteNodeRef); Set permissions = this.permissionService.getSettablePermissions(siteType); Map groupsToExpand = new HashMap(32); - for (String permission : permissions) + + AUTHORITY_FIND: for (String permission : permissions) { if (roleFilter == null || roleFilter.length() == 0 || roleFilter.equals(permission)) { @@ -1489,7 +1490,7 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic members.put(authority, permission); // break on max size limit reached - if (members.size() == size) break; + if (members.size() == size) break AUTHORITY_FIND; } break; case GROUP: @@ -1524,6 +1525,9 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic // No name filter add this group members.put(authority, permission); } + + // break on max size limit reached + if (members.size() == size) break AUTHORITY_FIND; } break; }