From 43ce56b3b3df66c59c119cffabf51a8996e50f07 Mon Sep 17 00:00:00 2001 From: Ana Bozianu Date: Fri, 10 Feb 2017 18:14:57 +0200 Subject: [PATCH] RM-4673 - added try catch to handle concurrent attempt to create group (cherry picked from commit cb08f0e597e01a17ebab6191f9900e01187e7260) --- .../security/ExtendedSecurityServiceImpl.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImpl.java index 71c22f8c7f..549dda9145 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/security/ExtendedSecurityServiceImpl.java @@ -44,6 +44,7 @@ import org.alfresco.query.PagingRequest; import org.alfresco.query.PagingResults; import org.alfresco.repo.security.authority.RMAuthority; import org.alfresco.service.cmr.repository.ChildAssociationRef; +import org.alfresco.service.cmr.repository.DuplicateChildNodeNameException; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AccessPermission; import org.alfresco.service.cmr.security.AuthorityService; @@ -355,7 +356,16 @@ public class ExtendedSecurityServiceImpl extends ServiceBaseImpl if (groupResult.getFirst() == null) { - group = createIPRGroup(groupPrefix, authorities, groupResult.getSecond()); + try + { + group = createIPRGroup(groupPrefix, authorities, groupResult.getSecond()); + } + catch(DuplicateChildNodeNameException ex) + { + // the group was concurrently created, try to get it again + groupResult = findIPRGroup(groupPrefix, authorities); + group = groupResult.getFirst(); + } } else {