From 821ec761838edddbc3f42366de2a0f3e5ac3937f Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 2 Apr 2014 19:55:42 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 64787: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (4.3/Cloud) 64256: MNT-10767: Guard in AuditMethodInterceptor is too restrictive preventing subordinate service calls from producing data. - Fix unit test failing. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@66190 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/audit/AuditComponentTest.java | 24 ++++++++++++++++--- .../audit/TestCreateFileFolderService.java | 1 - .../TestCreateFileFolderServiceImpl.java | 1 - .../alfresco-audit-test-mnt-10767-context.xml | 24 ------------------- 4 files changed, 21 insertions(+), 29 deletions(-) delete mode 100644 source/test-java/org/alfresco/repo/audit/TestCreateFileFolderService.java delete mode 100644 source/test-java/org/alfresco/repo/audit/TestCreateFileFolderServiceImpl.java delete mode 100644 source/test-resources/alfresco/testaudit/alfresco-audit-test-mnt-10767-context.xml diff --git a/source/test-java/org/alfresco/repo/audit/AuditComponentTest.java b/source/test-java/org/alfresco/repo/audit/AuditComponentTest.java index ba2f5e3244..df770ce81a 100644 --- a/source/test-java/org/alfresco/repo/audit/AuditComponentTest.java +++ b/source/test-java/org/alfresco/repo/audit/AuditComponentTest.java @@ -35,6 +35,9 @@ import org.alfresco.model.ContentModel; import org.alfresco.repo.audit.model.AuditApplication; import org.alfresco.repo.audit.model.AuditModelException; import org.alfresco.repo.audit.model.AuditModelRegistryImpl; +import org.alfresco.repo.node.NodeServicePolicies.OnCreateNodePolicy; +import org.alfresco.repo.policy.JavaBehaviour; +import org.alfresco.repo.policy.PolicyComponent; import org.alfresco.repo.security.authentication.AuthenticationException; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork; @@ -44,6 +47,8 @@ import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.audit.AuditQueryParameters; import org.alfresco.service.cmr.audit.AuditService; import org.alfresco.service.cmr.audit.AuditService.AuditQueryCallback; +import org.alfresco.service.cmr.model.FileFolderService; +import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.MLText; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; @@ -82,7 +87,7 @@ public class AuditComponentTest extends TestCase private static final Log logger = LogFactory.getLog(AuditComponentTest.class); - private static ApplicationContext ctx = ApplicationContextHelper.getApplicationContext(new String[] {ApplicationContextHelper.CONFIG_LOCATIONS[0], "classpath:alfresco/testaudit/alfresco-audit-test-mnt-10767-context.xml"}); + private static ApplicationContext ctx = ApplicationContextHelper.getApplicationContext(); private AuditModelRegistryImpl auditModelRegistry; private AuditComponent auditComponent; @@ -90,6 +95,7 @@ public class AuditComponentTest extends TestCase private ServiceRegistry serviceRegistry; private TransactionService transactionService; private NodeService nodeService; + private FileFolderService fileFolderService; private NodeRef nodeRef; private String user; @@ -103,6 +109,7 @@ public class AuditComponentTest extends TestCase auditService = serviceRegistry.getAuditService(); transactionService = serviceRegistry.getTransactionService(); nodeService = serviceRegistry.getNodeService(); + fileFolderService = serviceRegistry.getFileFolderService(); // Register the test model URL testModelUrl = ResourceUtils.getURL("classpath:alfresco/testaudit/alfresco-audit-test.xml"); @@ -838,13 +845,17 @@ public class AuditComponentTest extends TestCase queryAuditLog(auditQueryCallback, params, -1); assertTrue("There should be no audit entries for the API test after a clear", results.isEmpty()); - TestCreateFileFolderService testCreateFileFolderService = (TestCreateFileFolderService) ctx.getBean("TestCreateFileFolderService"); + PolicyComponent policyComponent = (PolicyComponent) ctx.getBean("policyComponent"); + policyComponent.bindClassBehaviour( + OnCreateNodePolicy.QNAME, + ContentModel.TYPE_FOLDER, + new JavaBehaviour(this, "onCreateFolderMNT10767")); + NodeRef workingRootNodeRef = null; try { workingRootNodeRef = nodeService.createNode(nodeRef, ContentModel.ASSOC_CHILDREN, QName.createQName(NamespaceService.ALFRESCO_URI, "working_root" + System.currentTimeMillis()), ContentModel.TYPE_FOLDER).getChildRef(); - testCreateFileFolderService.create(workingRootNodeRef, "TestFolder-" + System.currentTimeMillis(), ContentModel.TYPE_FOLDER); // Try this for a while until we get a result boolean success = false; @@ -879,6 +890,13 @@ public class AuditComponentTest extends TestCase } } + public void onCreateFolderMNT10767(ChildAssociationRef childAssocRef) + { + NodeRef newFolderRef = childAssocRef.getChildRef(); + fileFolderService.create(newFolderRef, "testcontent-" + System.currentTimeMillis(), ContentModel.TYPE_CONTENT); + } + + public void testAuditOverlimitProperties() throws Exception { final int OVERLIMIT_SIZE = 1500; diff --git a/source/test-java/org/alfresco/repo/audit/TestCreateFileFolderService.java b/source/test-java/org/alfresco/repo/audit/TestCreateFileFolderService.java deleted file mode 100644 index 95eebf98c9..0000000000 --- a/source/test-java/org/alfresco/repo/audit/TestCreateFileFolderService.java +++ /dev/null @@ -1 +0,0 @@ -package org.alfresco.repo.audit; import org.alfresco.service.Auditable; import org.alfresco.service.cmr.model.FileInfo; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; public interface TestCreateFileFolderService { @Auditable(parameters = {"parentNodeRef", "name", "typeQName"}) public FileInfo create(NodeRef parentNodeRef, String name, QName typeQName); } \ No newline at end of file diff --git a/source/test-java/org/alfresco/repo/audit/TestCreateFileFolderServiceImpl.java b/source/test-java/org/alfresco/repo/audit/TestCreateFileFolderServiceImpl.java deleted file mode 100644 index d069d14178..0000000000 --- a/source/test-java/org/alfresco/repo/audit/TestCreateFileFolderServiceImpl.java +++ /dev/null @@ -1 +0,0 @@ -package org.alfresco.repo.audit; import org.alfresco.service.cmr.model.FileFolderService; import org.alfresco.service.cmr.model.FileInfo; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; public class TestCreateFileFolderServiceImpl implements TestCreateFileFolderService { // Public FileFolderService with AuditMethodInterceptor private FileFolderService fileFolderService; public void setFileFolderService(FileFolderService fileFolderService) { this.fileFolderService = fileFolderService; } @Override public FileInfo create(NodeRef parentNodeRef, String name, QName typeQName) { return fileFolderService.create(parentNodeRef, name, typeQName); } } \ No newline at end of file diff --git a/source/test-resources/alfresco/testaudit/alfresco-audit-test-mnt-10767-context.xml b/source/test-resources/alfresco/testaudit/alfresco-audit-test-mnt-10767-context.xml deleted file mode 100644 index cf03bf57d6..0000000000 --- a/source/test-resources/alfresco/testaudit/alfresco-audit-test-mnt-10767-context.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - org.alfresco.repo.audit.TestCreateFileFolderService - - - - - - - AuditMethodInterceptor - - - - - \ No newline at end of file