Merged V2.9 to HEAD

10586: Merged V2.2 to V2.9
      9883: Fix for https://issues.alfresco.com/jira/browse/ETWOTWO-561
      9893: Gave some more time to wait for the threads to finish (QNameDAOTest)
      9955: Added trace logging of calls that possibly cause failures during session flushing
      9956: Part fix ETWOTWO570: RetryingTransactionAdvice needs to use RetryingTransactionHelper
      9958: Fixed ETWOTWO-570: AVM transaction interceptors fail if methods are incorrectly declared
      9973: More missing transaction declarations for AttributeService
      9977: Fixed unit test to rollback properly after expected txn failure
      9978: Fix for ETWOTWO-440: Error : 500: Failed to execute method NodeInfoBean.sendNodeInfo
      9986: LinkValidationService missing txn declaration for onBootstrap
   10588: Merged V2.2 to V2.9
      9898: Fixed handling of cm:name on root nodes
      9900: Empty property sets are allowed
   10589: Merged V2.2 to V2.9
      9965: Fixed unit test to inject 'nodeService' and not 'NodeService'.
      10311: getWebProjectUserRole - change log level from info to debug
      10329: Fix missing and mis-spelt transaction declarations
      10343: Fix for ETWOTWO-32
      10346: Build Fix
      10358: Fix for ETWOTWO-621
      10362: Fix for ETWOTWO-518
      10371: QNameDAO cache doesn't blow up if cache entry is invalid
      10538: Fix for minor XSS issue identified in ETWOTWO-657 item 3
   10678: Merged V2.2 to V2.9
      10205: Fix for ETWOTWO-48: Cancelled import of war into a Web project and Web Project became unusable
      10206: Fix for ETWOTWO-181: Deletion of checked out document


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10710 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2008-09-04 01:19:51 +00:00
parent 3227355279
commit 76abcf04d9
23 changed files with 592 additions and 239 deletions

View File

@@ -528,7 +528,7 @@ public class AVMServicePermissionsTest extends TestCase
List<AVMDifference> diffs = avmSyncService.compare(-1, storeName + "-layer-base:/layer-to-base", -1, storeName + ":/base", null);
assertEquals(1, diffs.size());
assertEquals("["+storeName+"-layer-base:/layer-to-base/update-dir[-1] > "+storeName+":/base/update-dir[-1]]", diffs.toString());
assertEquals("[" + storeName + "-layer-base:/layer-to-base/update-dir[-1] > " + storeName + ":/base/update-dir[-1]]", diffs.toString());
avmSyncService.update(diffs, null, false, false, false, false, "A", "A");
desc = avmService.lookup(-1, storeName + ":/base/update-dir");
@@ -611,7 +611,7 @@ public class AVMServicePermissionsTest extends TestCase
List<AVMDifference> diffs = avmSyncService.compare(-1, storeName + "-layer-base:/layer-to-base", -1, storeName + ":/base", null);
assertEquals(1, diffs.size());
assertEquals("["+storeName+"-layer-base:/layer-to-base/update-dir[-1] > "+storeName+":/base/update-dir[-1]]", diffs.toString());
assertEquals("[" + storeName + "-layer-base:/layer-to-base/update-dir[-1] > " + storeName + ":/base/update-dir[-1]]", diffs.toString());
avmSyncService.update(diffs, null, false, false, false, false, "A", "A");
desc = avmService.lookup(-1, storeName + ":/base/update-dir");
@@ -2775,6 +2775,98 @@ public class AVMServicePermissionsTest extends TestCase
}
}
public void testWCMStyleTemplateAsBranch()
{
runAs("admin");
String storeName = "PermissionsTest-" + getName() + "-" + (new Date().getTime());
String branchName = storeName + "-Branch";
try
{
avmService.createStore(storeName);
avmService.createDirectory(storeName + ":/", "www");
avmService.createDirectory(storeName + ":/www", "avm-web-apps");
avmService.createDirectory(storeName + ":/www/avm-web-apps", "ROOT");
AVMNodeDescriptor desc = avmService.lookup(-1, storeName + ":/www");
NodeRef nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
Map<String, Integer> s1 = avmService.createSnapshot(storeName, null, null);
desc = avmService.lookup(-1, storeName + ":/www");
permissionService.setPermission(nodeRef, PermissionService.ALL_AUTHORITIES, PermissionService.ALL_PERMISSIONS, true);
Map<String, Integer> s2 = avmService.createSnapshot(storeName, null, null);
desc = avmService.lookup(-1, storeName + ":/www");
permissionService.setPermission(nodeRef, "manager", "ContentManager", true);
Map<String, Integer> s3 = avmService.createSnapshot(storeName, null, null);
desc = avmService.lookup(-1, storeName + ":/www");
permissionService.setPermission(nodeRef, "publisher", "ContentPublisher", true);
Map<String, Integer> s4 = avmService.createSnapshot(storeName, null, null);
desc = avmService.lookup(-1, storeName + ":/www");
permissionService.setPermission(nodeRef, "contributor", "ContentContributor", true);
Map<String, Integer> s5 = avmService.createSnapshot(storeName, null, null);
desc = avmService.lookup(-1, storeName + ":/www");
permissionService.setPermission(nodeRef, "reviewer", "ContentReviewer", true);
Map<String, Integer> s6 = avmService.createSnapshot(storeName, null, null);
desc = avmService.lookup(-1, storeName + ":/www");
desc = avmService.lookup(-1, storeName + ":/www");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
assertEquals(permissionService.getSetPermissions(nodeRef).getPermissionEntries().size(), 5);
avmService.createStore(branchName);
avmService.createBranch(-1, storeName + ":/www", branchName + ":/", "www");
avmService.createSnapshot(branchName, null, null);
desc = avmService.lookup(-1, branchName + ":/www");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
assertEquals(permissionService.getSetPermissions(nodeRef).getPermissionEntries().size(), 5);
desc = avmService.lookup(-1, branchName + ":/www/avm-web-apps");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
assertEquals(permissionService.getSetPermissions(nodeRef).getPermissionEntries().size(), 5);
// Check the branch remains unchanged when the template is changed
debugPermissions(storeName + ":/www");
debugPermissions(branchName + ":/www");
debugPermissions(branchName + ":/www/avm-web-apps");
desc = avmService.lookup(-1, storeName + ":/www");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
permissionService.setPermission(nodeRef, "template", "ContentReviewer", true);
desc = avmService.lookup(-1, branchName + ":/www");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
assertEquals(permissionService.getSetPermissions(nodeRef).getPermissionEntries().size(), 5);
desc = avmService.lookup(-1, branchName + ":/www/avm-web-apps");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
assertEquals(permissionService.getSetPermissions(nodeRef).getPermissionEntries().size(), 5);
debugPermissions(storeName + ":/www");
debugPermissions(branchName + ":/www");
debugPermissions(branchName + ":/www/avm-web-apps");
desc = avmService.lookup(-1, branchName + ":/www");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
permissionService.setPermission(nodeRef, "new", "ContentReviewer", true);
desc = avmService.lookup(-1, branchName + ":/www");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
assertEquals(permissionService.getSetPermissions(nodeRef).getPermissionEntries().size(), 6);
desc = avmService.lookup(-1, branchName + ":/www/avm-web-apps");
nodeRef = AVMNodeConverter.ToNodeRef(-1, desc.getPath());
debugPermissions(storeName + ":/www");
debugPermissions(branchName + ":/www");
debugPermissions(branchName + ":/www/avm-web-apps");
assertEquals(permissionService.getSetPermissions(nodeRef).getPermissionEntries().size(), 6);
}
finally
{
avmService.purgeStore(storeName);
avmService.purgeStore(branchName);
}
}
/*
* Test the basic permission model where
*/