RM Performance testing:

* added helper code to load large numbers of users and groups into RM roles
 * improved performance of role user/group management console from 13 seconds with 100 groups with a 100 users, down to less than a second
 * role user/group console now only shows users and groups explicitly assigned to the role to help scale the UI (and make more sense!)



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@75102 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2014-06-27 02:24:22 +00:00
parent d053317572
commit 1996a4dc85
3 changed files with 106 additions and 9 deletions

View File

@@ -583,7 +583,7 @@ public class FilePlanRoleServiceImpl implements FilePlanRoleService,
{
String capabilityName = permission.getPermission();
Capability capability = capabilityService.getCapability(capabilityName);
if (capability != null)
if (capability != null && !capability.isPrivate())
{
capabilities.add(capability);
}
@@ -790,7 +790,7 @@ public class FilePlanRoleServiceImpl implements FilePlanRoleService,
{
throw new AlfrescoRuntimeException("Can not get authorities for role " + roleName + ", because it does not exist. (filePlan=" + filePlan.toString() + ")");
}
return authorityService.getContainedAuthorities(authorityType, role.getRoleGroupName(), false);
return authorityService.getContainedAuthorities(authorityType, role.getRoleGroupName(), true);
}
}, AuthenticationUtil.getSystemUserName());

View File

@@ -29,6 +29,7 @@ import org.alfresco.module.org_alfresco_module_rm.role.Role;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.AuthorityType;
import org.apache.cxf.common.util.StringUtils;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.WebScriptRequest;
@@ -172,7 +173,11 @@ public class RoleDeclarativeWebScript extends DeclarativeWebScript
for (String authority : authorities)
{
String displayLabel = authorityService.getAuthorityDisplayName(authority);
String displayLabel = authority;
if (!AuthorityType.getAuthorityType(authority).equals(AuthorityType.USER))
{
displayLabel = authorityService.getAuthorityDisplayName(authority);
}
result.add(new AuthorityItem(authority, displayLabel));
}