Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)

57638: Merged V4.2-BUG-FIX (4.2.1) to HEAD-BUG-FIX (Cloud/4.3)
      57625: Merged V4.1-BUG-FIX (4.1.8) to V4.2-BUG-FIX (4.2.1)
         57419: Merged DEV to V4.1-BUG-FIX (4.1.8)
            MNT-9794: Authorities with duplicate names can be easilly created using AuthorityService
               - ContentModel.PROP_NAME was added for preventing the generation of new uid for every new authority nodes with the duplicated names in 'child_node_name' field into 'alf_child_assoc' table.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@61862 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2014-02-11 21:19:30 +00:00
parent 381a8ea850
commit 3fc589c168
2 changed files with 24 additions and 1 deletions

View File

@@ -44,8 +44,10 @@ import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.authentication.MutableAuthenticationDao;
import org.alfresco.repo.transaction.AlfrescoTransactionSupport;
import org.alfresco.repo.transaction.AlfrescoTransactionSupport.TxnReadState;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.service.ServiceRegistry;
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.NodeService;
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
@@ -59,6 +61,7 @@ import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.service.transaction.TransactionService;
import org.alfresco.util.ApplicationContextHelper;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
public class AuthorityServiceTest extends TestCase
@@ -110,7 +113,7 @@ public class AuthorityServiceTest extends TestCase
String defaultAdminUser = AuthenticationUtil.getAdminUserName();
AuthenticationUtil.setFullyAuthenticatedUser(defaultAdminUser);
// note: currently depends on any existing (and/or bootstrap) group data - eg. default site "swsdp" (Sample Web Site Design Project)
SiteService siteService = (SiteService) ctx.getBean("SiteService");
SITE_CNT = siteService.listSites(defaultAdminUser).size();
@@ -593,6 +596,23 @@ public class AuthorityServiceTest extends TestCase
assertEquals(0, pubAuthorityService.getAllRootAuthorities(AuthorityType.ROLE).size());
}
public void createAuthority(final AuthorityType dublicatedAuthorityType, final String dublicatedAuthorityShortName)
{
final ServiceRegistry serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY);
TransactionService transactionService = serviceRegistry.getTransactionService();
RetryingTransactionCallback<Object> exampleWork = new RetryingTransactionCallback<Object>() {
public Object execute() throws Exception
{
pubAuthorityService.createAuthority(dublicatedAuthorityType,
dublicatedAuthorityShortName);
return null;
}
};
transactionService.getRetryingTransactionHelper().doInTransaction(exampleWork);
}
}
private void checkAuthorityCollectionSize(int expected, List<String> actual, AuthorityType type)
{
if (actual.size() != expected)