RM-4673 - added try catch to handle concurrent attempt to create group

(cherry picked from commit cb08f0e597e01a17ebab6191f9900e01187e7260)
This commit is contained in:
Ana Bozianu
2017-02-10 18:14:57 +02:00
parent 1ab0cfdbf2
commit 43ce56b3b3

View File

@@ -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
{