boolean grants(long permissions) { return Permissions.includes(this.permissions, permissions); }
boolean requiresJr2Permissions(long permission) { return Permissions.includes(jr2Permissions, permission); }
boolean requiresJr2Permissions(long permission) { return Permissions.includes(jr2Permissions, permission); }
boolean requiresJr2Permissions(long permission) { return Permissions.includes(jr2Permissions, permission); }
@Override public boolean apply(@Nullable Long permission) { return permission != null && includes(permissions, permission); } });
@Override public boolean apply(@Nullable Long permission) { return permission != null && includes(permissions, permission); } });
@Override public boolean isGranted(long permissions) { long myperms = mapToPermissions(granted, grantMap); return Permissions.includes(myperms, permissions); }
@Override public boolean isGranted(long repositoryPermissions) { long myperms = mapToPermissions(granted, grantMap); return Permissions.includes(myperms, repositoryPermissions); } };
@Override public boolean isGranted(@NotNull TreeLocation location, long permissions) { long myperms = mapToPermissions(granted, grantMap); return Permissions.includes(myperms, permissions); }
@Override public boolean isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions) { long myperms = mapToPermissions(granted, grantMap); return Permissions.includes(myperms, permissions); }
@Override public boolean isGranted(long permissions) { if (Permissions.includes(permissions, DENIED_PERMS)) { return false; } else { return Permissions.diff(permissions, GRANTED_PERMS) == Permissions.NO_PERMISSION; } }
@Override public boolean isGranted(long permissions, @NotNull PropertyState property) { if (Permissions.includes(permissions, DENIED_PERMS)) { return false; } else { return Permissions.diff(permissions, GRANTED_PERMS) == Permissions.NO_PERMISSION; } } }
@Override public boolean isGranted(@NotNull Tree tree, @Nullable PropertyState property, long permissions) { if (isSupported(tree)) { if (Permissions.includes(permissions, DENIED_PERMS)) { return false; } else { return Permissions.diff(permissions, GRANTED_PERMS) == Permissions.NO_PERMISSION; } } else { return false; } }
@Override public boolean isGranted(@NotNull TreeLocation location, long permissions) { if (isSupported(location.getPath())) { if (Permissions.includes(permissions, DENIED_PERMS)) { return false; } else { return Permissions.diff(permissions, GRANTED_PERMS) == Permissions.NO_PERMISSION; } } else { return false; } }
@Override public boolean isGranted(@NotNull String oakPath, @NotNull String jcrActions) { if (isSupported(oakPath)) { Tree tree = root.getTree(oakPath); long perms = Permissions.getPermissions(jcrActions, TreeLocation.create(tree), false); if (Permissions.includes(perms, DENIED_PERMS)) { return false; } else { return Permissions.diff(perms, GRANTED_PERMS) == Permissions.NO_PERMISSION; } } else { return false; } }
@Test public void testIsGranted() throws Exception { for (String p : defPermissions.keySet()) { long defaultPerms = defPermissions.get(p); Tree tree = readOnlyRoot.getTree(p); if (Permissions.READ_NODE != defaultPerms) { assertFalse(p, cppTestUser.isGranted(tree, null, defaultPerms)); } boolean expectedReadNode = Permissions.includes(defaultPerms, Permissions.READ_NODE); assertEquals(p, expectedReadNode, cppTestUser.isGranted(tree, null, Permissions.READ_NODE)); } }
if (Permissions.includes(denies, permissions)) { return false;
@Test public void testTreePermissionIsGranted() throws Exception { TreePermission parentPermission = TreePermission.EMPTY; for (String path : TP_PATHS) { TreePermission tp = cppTestUser.getTreePermission(readOnlyRoot.getTree(path), parentPermission); Long toTest = (defPermissions.containsKey(path)) ? defPermissions.get(path) : defPermissions.get(PathUtils.getAncestorPath(path, 1)); if (toTest != null) { if (Permissions.READ_NODE == toTest) { assertTrue(path, tp.isGranted(toTest)); } else { boolean canRead = Permissions.includes(toTest, Permissions.READ_NODE); assertEquals(path, canRead, tp.isGranted(Permissions.READ_NODE)); assertFalse(path, tp.isGranted(toTest)); } } parentPermission = tp; } }