More touch ups to AVM permissions stuff. ACLs are properly copied on write.

OrphanReaper cleans up ACLs.  Tests of same.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3710 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-09-06 20:53:38 +00:00
parent 920c487867
commit 17284e4dae
13 changed files with 111 additions and 10 deletions

View File

@@ -26,6 +26,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import org.alfresco.model.ContentModel;
@@ -36,6 +37,8 @@ import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
import org.alfresco.service.cmr.avm.AVMStoreDescriptor;
import org.alfresco.service.cmr.avm.LayeringDescriptor;
import org.alfresco.service.cmr.avm.VersionDescriptor;
import org.alfresco.service.cmr.security.AccessPermission;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.namespace.QName;
/**
@@ -2255,4 +2258,34 @@ public class AVMServiceTest extends AVMServiceTestBase
fail();
}
}
/**
* Test ACLs.
*/
public void testACLs()
{
try
{
setupBasicTree();
PermissionService perm = (PermissionService)fContext.getBean("PermissionService");
perm.setPermission(AVMNodeConverter.ToNodeRef(-1, "main:/a/b/c/foo"),
PermissionService.ADMINISTRATOR_AUTHORITY,
PermissionService.ALL_PERMISSIONS,
true);
fService.createSnapshot("main");
fService.getFileOutputStream("main:/a/b/c/foo").close();
Set<AccessPermission> perms =
perm.getPermissions(AVMNodeConverter.ToNodeRef(-1, "main:/a/b/c/foo"));
for (AccessPermission permission : perms)
{
System.out.println(permission);
}
assertTrue(perms.size() > 0);
}
catch (Exception e)
{
e.printStackTrace(System.err);
fail();
}
}
}