mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V1.3 to HEAD (3180:3203, 3204:3217)
svn merge svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@3180 svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@3203 . svn merge svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@3204 svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@3217 . git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3407 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1505,6 +1505,59 @@ public class PermissionServiceTest extends AbstractPermissionTest
|
||||
assertFalse(permissionService.hasPermission(n2, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
}
|
||||
|
||||
public void testPermissionCase()
|
||||
{
|
||||
|
||||
runAs("andy");
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_PROPERTIES)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CHILDREN)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
runAs("lemur");
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_PROPERTIES)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CHILDREN)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef,
|
||||
getPermission(PermissionService.READ_CHILDREN), "Andy", AccessStatus.ALLOWED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef,
|
||||
getPermission(PermissionService.READ_PROPERTIES), "ANDY", AccessStatus.ALLOWED));
|
||||
permissionService.setPermission(new SimplePermissionEntry(rootNodeRef,
|
||||
getPermission(PermissionService.READ_CONTENT), "AnDy", AccessStatus.ALLOWED));
|
||||
|
||||
runAs("andy");
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_PROPERTIES)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CHILDREN)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
runAs("lemur");
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_PROPERTIES)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CHILDREN)) == AccessStatus.ALLOWED);
|
||||
assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
|
||||
// permissionService.setPermission(new SimplePermissionEntry(rootNodeRef,
|
||||
// getPermission(PermissionService.READ_CHILDREN), "andy", AccessStatus.ALLOWED));
|
||||
// permissionService.setPermission(new SimplePermissionEntry(rootNodeRef,
|
||||
// getPermission(PermissionService.READ_PROPERTIES), "andy", AccessStatus.ALLOWED));
|
||||
// permissionService.setPermission(new SimplePermissionEntry(rootNodeRef,
|
||||
// getPermission(PermissionService.READ_CONTENT), "andy", AccessStatus.ALLOWED));
|
||||
//
|
||||
//
|
||||
// runAs("andy");
|
||||
// assertTrue(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
// assertTrue(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_PROPERTIES)) == AccessStatus.ALLOWED);
|
||||
// assertTrue(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CHILDREN)) == AccessStatus.ALLOWED);
|
||||
// assertTrue(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
// runAs("lemur");
|
||||
// assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ)) == AccessStatus.ALLOWED);
|
||||
// assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_PROPERTIES)) == AccessStatus.ALLOWED);
|
||||
// assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CHILDREN)) == AccessStatus.ALLOWED);
|
||||
// assertFalse(permissionService.hasPermission(rootNodeRef, getPermission(PermissionService.READ_CONTENT)) == AccessStatus.ALLOWED);
|
||||
|
||||
}
|
||||
|
||||
public void testEffectiveComposite()
|
||||
{
|
||||
|
||||
|
@@ -116,11 +116,11 @@ public class PermissionModel implements ModelDAO, InitializingBean
|
||||
|
||||
private HashMap<String, PermissionReference> permissionReferenceMap;
|
||||
|
||||
private Map<QName, Set<PermissionReference>> cachedTypePermissionsExposed =
|
||||
new HashMap<QName, Set<PermissionReference>>(128, 1.0f);
|
||||
private Map<QName, LinkedHashSet<PermissionReference>> cachedTypePermissionsExposed =
|
||||
new HashMap<QName, LinkedHashSet<PermissionReference>>(128, 1.0f);
|
||||
|
||||
private Map<QName, Set<PermissionReference>> cachedTypePermissionsUnexposed =
|
||||
new HashMap<QName, Set<PermissionReference>>(128, 1.0f);
|
||||
private Map<QName, LinkedHashSet<PermissionReference>> cachedTypePermissionsUnexposed =
|
||||
new HashMap<QName, LinkedHashSet<PermissionReference>>(128, 1.0f);
|
||||
|
||||
public PermissionModel()
|
||||
{
|
||||
@@ -284,9 +284,10 @@ public class PermissionModel implements ModelDAO, InitializingBean
|
||||
return getAllPermissionsImpl(type, true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Set<PermissionReference> getAllPermissionsImpl(QName type, boolean exposedOnly)
|
||||
{
|
||||
Map<QName, Set<PermissionReference>> cache;
|
||||
Map<QName, LinkedHashSet<PermissionReference>> cache;
|
||||
if (exposedOnly)
|
||||
{
|
||||
cache = this.cachedTypePermissionsExposed;
|
||||
@@ -295,7 +296,7 @@ public class PermissionModel implements ModelDAO, InitializingBean
|
||||
{
|
||||
cache = this.cachedTypePermissionsUnexposed;
|
||||
}
|
||||
Set<PermissionReference> permissions = cache.get(type);
|
||||
LinkedHashSet<PermissionReference> permissions = cache.get(type);
|
||||
if (permissions == null)
|
||||
{
|
||||
permissions = new LinkedHashSet<PermissionReference>();
|
||||
@@ -310,7 +311,7 @@ public class PermissionModel implements ModelDAO, InitializingBean
|
||||
}
|
||||
cache.put(type, permissions);
|
||||
}
|
||||
return (Set<PermissionReference>)((LinkedHashSet)permissions).clone();
|
||||
return (Set<PermissionReference>)permissions.clone();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user