@NotNull @Override public PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits) { return (privilegeBits != null) ? privilegeBits : new PrivilegeBitsProvider(root).getBits(PrivilegeConstants.JCR_ALL); }
@NotNull @Override public PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits) { return (privilegeBits != null) ? privilegeBits : new PrivilegeBitsProvider(immutableRoot).getBits(PrivilegeConstants.JCR_ALL); }
@NotNull @Override public PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits) { return (privilegeBits == null) ? pbp.getBits(PrivilegeConstants.JCR_ALL) : privilegeBits; }
@NotNull private ACE createACE(@Nullable String oakPath, @NotNull Tree aceTree, @NotNull RestrictionProvider restrictionProvider) throws RepositoryException { boolean isAllow = NT_REP_GRANT_ACE.equals(TreeUtil.getPrimaryTypeName(aceTree)); Set<Restriction> restrictions = restrictionProvider.readRestrictions(oakPath, aceTree); Iterable<String> privNames = checkNotNull(TreeUtil.getStrings(aceTree, REP_PRIVILEGES)); return new Entry(getPrincipal(aceTree), bitsProvider.getBits(privNames), isAllow, restrictions, getNamePathMapper()); }
@Test public void testGetBitsNonExistingPrivilegesTree() { when(privTree.exists()).thenReturn(false); assertSame(PrivilegeBits.EMPTY, bitsProvider.getBits(KNOWN_PRIV_NAME)); }
@Test public void testRedundantAggregation() throws RepositoryException { PrivilegeBits writeBits = bitsProvider.getBits(REP_WRITE); Set<String> names = bitsProvider.getPrivilegeNames(writeBits); assertEquals(1, names.size()); assertEquals(REP_WRITE, names.iterator().next()); writeBits = bitsProvider.getBits(REP_WRITE, JCR_WRITE); names = bitsProvider.getPrivilegeNames(writeBits); assertEquals(1, names.size()); assertEquals(REP_WRITE, names.iterator().next()); }
private Entry(String path, Tree aceTree) { principalName = aceTree.getProperty(REP_PRINCIPAL_NAME).getValue(Type.STRING); privilegeBits = privilegeBitsProvider.getBits(aceTree.getProperty(REP_PRIVILEGES).getValue(Type.NAMES)); restrictions = restrictionProvider.readRestrictions(path, aceTree); }
@Override PrivilegeBits getPrivilegeBits(Privilege[] privileges) { return new PrivilegeBitsProvider(root).getBits(privileges, getNamePathMapper()); } };
private static PrivilegeBits toBits(Set<String> supported, PrivilegeBitsProvider pbp) { PrivilegeBits suppBits = PrivilegeBits.getInstance(); for (String s : supported) { suppBits.add(pbp.getBits(s)); } return suppBits; }
@Test public void testGetBitsBuiltInIterable() { PrivilegeBits bits = bitsProvider.getBits(ImmutableList.of(JCR_ADD_CHILD_NODES, JCR_REMOVE_CHILD_NODES)); assertFalse(bits.isEmpty()); PrivilegeBits mod = PrivilegeBits.getInstance(bitsProvider.getBits(JCR_ADD_CHILD_NODES)).add(bitsProvider.getBits(JCR_REMOVE_CHILD_NODES)); assertEquals(bits, mod.unmodifiable()); }
@Test public void testAggregation() throws RepositoryException { PrivilegeBits writeBits = bitsProvider.getBits(JCR_ADD_CHILD_NODES, JCR_REMOVE_CHILD_NODES, JCR_REMOVE_NODE, JCR_MODIFY_PROPERTIES); Set<String> names = bitsProvider.getPrivilegeNames(writeBits); assertEquals(1, names.size()); assertEquals(JCR_WRITE, names.iterator().next()); }
private ACE createEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Set<Restriction> restrictions) throws RepositoryException { ACL acl = createEmptyACL(); return acl.createACE(principal, getBitsProvider().getBits(privileges, getNamePathMapper()), isAllow, restrictions); }
@Test public void testGetBitsKnownPrivName() { when(privTree.exists()).thenReturn(true); when(privTree.hasChild(KNOWN_PRIV_NAME)).thenReturn(true); when(privTree.getChild(KNOWN_PRIV_NAME)).thenReturn(pTree); assertEquals(bits.unmodifiable(), bitsProvider.getBits(KNOWN_PRIV_NAME)); }
@Test public void testGetBitsBuiltInNames() { PrivilegeBits bits = bitsProvider.getBits(JCR_ADD_CHILD_NODES, JCR_REMOVE_CHILD_NODES); assertFalse(bits.isEmpty()); PrivilegeBits mod = PrivilegeBits.getInstance(bitsProvider.getBits(JCR_ADD_CHILD_NODES)).add(bitsProvider.getBits(JCR_REMOVE_CHILD_NODES)); assertEquals(bits, mod.unmodifiable()); }
@Test public void testUnknownAggregation() throws RepositoryException { PrivilegeBits bits = bitsProvider.getBits(REP_WRITE, JCR_LIFECYCLE_MANAGEMENT); Set<String> names = bitsProvider.getPrivilegeNames(bits); assertEquals(2, names.size()); }
@Test public void testGetBitsBuiltInSingleton() { PrivilegeBits bits = bitsProvider.getBits(ImmutableList.of(JCR_LOCK_MANAGEMENT)); assertFalse(bits.isEmpty()); assertEquals(PrivilegeBits.BUILT_IN.get(JCR_LOCK_MANAGEMENT), bits); }
@Test public void testGetBitsBuiltInSingleName() { PrivilegeBits bits = bitsProvider.getBits(JCR_LOCK_MANAGEMENT); assertFalse(bits.isEmpty()); assertEquals(PrivilegeBits.BUILT_IN.get(JCR_LOCK_MANAGEMENT), bits); }
@Test public void testAll() { PrivilegeBits all = bitsProvider.getBits(JCR_ALL); assertFalse(all.isEmpty()); assertEquals(Collections.singleton(JCR_ALL), bitsProvider.getPrivilegeNames(all)); }
@Override public void before() throws Exception { super.before(); cppTestUser = createPermissionProvider(getTestUser().getPrincipal(), EveryonePrincipal.getInstance()); cppAdminUser = createPermissionProvider(root.getContentSession().getAuthInfo().getPrincipals()); pbp = new PrivilegeBitsProvider(readOnlyRoot); denied = pbp.getBits(JCR_ADD_CHILD_NODES, REP_ADD_PROPERTIES); }