test_class.declarator: bitsProvider
test_class.modifier: private
test_class.original_string: private PrivilegeBitsProvider bitsProvider;
test_class.type: PrivilegeBitsProvider
test_class.var_name: bitsProvider
test_class.declarator: privilegesTree
test_class.modifier: private
test_class.original_string: private Tree privilegesTree;
test_class.type: Tree
test_class.var_name: privilegesTree
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidatorTest.java
test_class.identifier: PrivilegeValidatorTest
test_class.interfaces: implements PrivilegeConstants
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test(expected = CommitFailedException.class)
      public void testChildNodeDeleted() throws Exception {
          try {
              root.getTree(PRIVILEGES_PATH).getChild(JCR_READ).remove();
              root.commit();
          } catch (CommitFailedException e) {
              throw assertCommitFailed(e, 42);
          }
      }
test_case.class_method_signature: PrivilegeValidatorTest.testChildNodeDeleted()
test_case.full_signature: @Test(expected = CommitFailedException.class) public void testChildNodeDeleted()
test_case.identifier: testChildNodeDeleted
test_case.invocations: remove getChild getTree commit assertCommitFailed
test_case.modifiers: @Test(expected = CommitFailedException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testChildNodeDeleted()
focal_class.declarator: rootBefore
focal_class.modifier: private final
focal_class.original_string: private final Root rootBefore;
focal_class.type: Root
focal_class.var_name: rootBefore
focal_class.declarator: rootAfter
focal_class.modifier: private final
focal_class.original_string: private final Root rootAfter;
focal_class.type: Root
focal_class.var_name: rootAfter
focal_class.declarator: bitsProvider
focal_class.modifier: private final
focal_class.original_string: private final PrivilegeBitsProvider bitsProvider;
focal_class.type: PrivilegeBitsProvider
focal_class.var_name: bitsProvider
focal_class.declarator: treeProvider
focal_class.modifier: private final
focal_class.original_string: private final TreeProvider treeProvider;
focal_class.type: TreeProvider
focal_class.var_name: treeProvider
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeValidator.java
focal_class.identifier: PrivilegeValidator
focal_class.interfaces: implements PrivilegeConstants
focal_class.class_method_signature: PrivilegeValidator.PrivilegeValidator(@NotNull Root before, @NotNull Root after, @NotNull TreeProvider treeProvider)
focal_class.full_signature:   PrivilegeValidator(@NotNull Root before, @NotNull Root after, @NotNull TreeProvider treeProvider)
focal_class.identifier: PrivilegeValidator
focal_class.parameters: (@NotNull Root before, @NotNull Root after, @NotNull TreeProvider treeProvider)
focal_class.signature:  PrivilegeValidator(@NotNull Root before, @NotNull Root after, @NotNull TreeProvider treeProvider)
focal_class.class_method_signature: PrivilegeValidator.propertyAdded(PropertyState after)
focal_class.full_signature: @Override public void propertyAdded(PropertyState after)
focal_class.identifier: propertyAdded
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState after)
focal_class.return: void
focal_class.signature: void propertyAdded(PropertyState after)
focal_class.class_method_signature: PrivilegeValidator.propertyChanged(PropertyState before, PropertyState after)
focal_class.full_signature: @Override public void propertyChanged(PropertyState before, PropertyState after)
focal_class.identifier: propertyChanged
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState before, PropertyState after)
focal_class.return: void
focal_class.signature: void propertyChanged(PropertyState before, PropertyState after)
focal_class.class_method_signature: PrivilegeValidator.propertyDeleted(PropertyState before)
focal_class.full_signature: @Override public void propertyDeleted(PropertyState before)
focal_class.identifier: propertyDeleted
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState before)
focal_class.return: void
focal_class.signature: void propertyDeleted(PropertyState before)
focal_class.class_method_signature: PrivilegeValidator.childNodeAdded(String name, NodeState after)
focal_class.full_signature: @Override public Validator childNodeAdded(String name, NodeState after)
focal_class.identifier: childNodeAdded
focal_class.modifiers: @Override public
focal_class.parameters: (String name, NodeState after)
focal_class.return: Validator
focal_class.signature: Validator childNodeAdded(String name, NodeState after)
focal_class.class_method_signature: PrivilegeValidator.childNodeChanged(String name, NodeState before, NodeState after)
focal_class.full_signature: @Override public Validator childNodeChanged(String name, NodeState before, NodeState after)
focal_class.identifier: childNodeChanged
focal_class.modifiers: @Override public
focal_class.parameters: (String name, NodeState before, NodeState after)
focal_class.return: Validator
focal_class.signature: Validator childNodeChanged(String name, NodeState before, NodeState after)
focal_class.class_method_signature: PrivilegeValidator.childNodeDeleted(String name, NodeState before)
focal_class.full_signature: @Override public Validator childNodeDeleted(String name, NodeState before)
focal_class.identifier: childNodeDeleted
focal_class.modifiers: @Override public
focal_class.parameters: (String name, NodeState before)
focal_class.return: Validator
focal_class.signature: Validator childNodeDeleted(String name, NodeState before)
focal_class.class_method_signature: PrivilegeValidator.validateNext(PrivilegeBits bits)
focal_class.full_signature: private void validateNext(PrivilegeBits bits)
focal_class.identifier: validateNext
focal_class.modifiers: private
focal_class.parameters: (PrivilegeBits bits)
focal_class.return: void
focal_class.signature: void validateNext(PrivilegeBits bits)
focal_class.class_method_signature: PrivilegeValidator.getPrivilegesTree(Root root)
focal_class.full_signature: @NotNull private Tree getPrivilegesTree(Root root)
focal_class.identifier: getPrivilegesTree
focal_class.modifiers: @NotNull private
focal_class.parameters: (Root root)
focal_class.return: Tree
focal_class.signature: Tree getPrivilegesTree(Root root)
focal_class.class_method_signature: PrivilegeValidator.validateDefinition(Tree definitionTree)
focal_class.full_signature: private void validateDefinition(Tree definitionTree)
focal_class.identifier: validateDefinition
focal_class.modifiers: private
focal_class.parameters: (Tree definitionTree)
focal_class.return: void
focal_class.signature: void validateDefinition(Tree definitionTree)
focal_class.class_method_signature: PrivilegeValidator.isCircularAggregation(String privilegeName, String aggregateName,
                                                   Map<String, PrivilegeDefinition> definitions)
focal_class.full_signature: private static boolean isCircularAggregation(String privilegeName, String aggregateName,
                                                   Map<String, PrivilegeDefinition> definitions)
focal_class.identifier: isCircularAggregation
focal_class.modifiers: private static
focal_class.parameters: (String privilegeName, String aggregateName,
                                                   Map<String, PrivilegeDefinition> definitions)
focal_class.return: boolean
focal_class.signature: boolean isCircularAggregation(String privilegeName, String aggregateName,
                                                   Map<String, PrivilegeDefinition> definitions)
focal_class.class_method_signature: PrivilegeValidator.resolveAggregates(Set<String> declared, Map<String, PrivilegeDefinition> definitions)
focal_class.full_signature: private static Set<String> resolveAggregates(Set<String> declared, Map<String, PrivilegeDefinition> definitions)
focal_class.identifier: resolveAggregates
focal_class.modifiers: private static
focal_class.parameters: (Set<String> declared, Map<String, PrivilegeDefinition> definitions)
focal_class.return: Set<String>
focal_class.signature: Set<String> resolveAggregates(Set<String> declared, Map<String, PrivilegeDefinition> definitions)
focal_class.class_method_signature: PrivilegeValidator.isPrivilegeDefinition(@NotNull NodeState state)
focal_class.full_signature: private static boolean isPrivilegeDefinition(@NotNull NodeState state)
focal_class.identifier: isPrivilegeDefinition
focal_class.modifiers: private static
focal_class.parameters: (@NotNull NodeState state)
focal_class.return: boolean
focal_class.signature: boolean isPrivilegeDefinition(@NotNull NodeState state)
focal_class.superclass: extends DefaultValidator
focal_method.body: @Override
      public Validator childNodeDeleted(String name, NodeState before) throws CommitFailedException {
          if (isPrivilegeDefinition(before)) {
              throw new CommitFailedException(CONSTRAINT, 42, "Attempt to un-register privilege " + name);
          }  else {
              // not handled by this validator
              return null;
          }
      }
focal_method.class_method_signature: PrivilegeValidator.childNodeDeleted(String name, NodeState before)
focal_method.full_signature: @Override public Validator childNodeDeleted(String name, NodeState before)
focal_method.identifier: childNodeDeleted
focal_method.invocations: isPrivilegeDefinition
focal_method.modifiers: @Override public
focal_method.parameters: (String name, NodeState before)
focal_method.return: Validator
focal_method.signature: Validator childNodeDeleted(String name, NodeState before)