mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-4673 - added try catch to handle concurrent attempt to create group
(cherry picked from commit 4e49223ae6f6900b98c5c3e9fe54fe479062639d)
This commit is contained in:
@@ -44,6 +44,7 @@ import org.alfresco.query.PagingRequest;
|
|||||||
import org.alfresco.query.PagingResults;
|
import org.alfresco.query.PagingResults;
|
||||||
import org.alfresco.repo.security.authority.RMAuthority;
|
import org.alfresco.repo.security.authority.RMAuthority;
|
||||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
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.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.security.AccessPermission;
|
import org.alfresco.service.cmr.security.AccessPermission;
|
||||||
import org.alfresco.service.cmr.security.AuthorityService;
|
import org.alfresco.service.cmr.security.AuthorityService;
|
||||||
@@ -355,7 +356,16 @@ public class ExtendedSecurityServiceImpl extends ServiceBaseImpl
|
|||||||
|
|
||||||
if (groupResult.getFirst() == null)
|
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
|
else
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user