test_class.declarator: t
test_class.modifier: private
test_class.original_string: private Tree t;
test_class.type: Tree
test_class.var_name: t
test_class.declarator: pp
test_class.modifier: private
test_class.original_string: private PermissionProvider pp;
test_class.type: PermissionProvider
test_class.var_name: pp
test_class.declarator: acl
test_class.modifier: private
test_class.original_string: private JackrabbitAccessControlList acl;
test_class.type: JackrabbitAccessControlList
test_class.var_name: acl
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidatorTest.java
test_class.identifier: MoveAwarePermissionValidatorTest
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testChildNodeAddedNoMatchingMove() throws Exception {
          MoveAwarePermissionValidator maValidator = spy(createRootValidator(adminSession.getAuthInfo().getPrincipals(), new MoveTracker()));
          Validator validator = maValidator.childNodeAdded("name", mock(NodeState.class));
  
          assertTrue(validator instanceof VisibleValidator);
          verify(maValidator, times(1)).checkPermissions(t.getChild("name"), false, Permissions.ADD_NODE);
      }
test_case.class_method_signature: MoveAwarePermissionValidatorTest.testChildNodeAddedNoMatchingMove()
test_case.full_signature: @Test public void testChildNodeAddedNoMatchingMove()
test_case.identifier: testChildNodeAddedNoMatchingMove
test_case.invocations: spy createRootValidator getPrincipals getAuthInfo childNodeAdded mock assertTrue checkPermissions verify times getChild
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testChildNodeAddedNoMatchingMove()
focal_class.declarator: moveCtx
focal_class.modifier: private final
focal_class.original_string: private final MoveContext moveCtx;
focal_class.type: MoveContext
focal_class.var_name: moveCtx
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/permission/MoveAwarePermissionValidator.java
focal_class.identifier: MoveAwarePermissionValidator
focal_class.class_method_signature: MoveAwarePermissionValidator.MoveAwarePermissionValidator(@NotNull NodeState rootBefore,
                                   @NotNull NodeState rootAfter,
                                   @NotNull PermissionProvider permissionProvider,
                                   @NotNull PermissionValidatorProvider provider,
                                   @NotNull MoveTracker moveTracker)
focal_class.full_signature:   MoveAwarePermissionValidator(@NotNull NodeState rootBefore,
                                   @NotNull NodeState rootAfter,
                                   @NotNull PermissionProvider permissionProvider,
                                   @NotNull PermissionValidatorProvider provider,
                                   @NotNull MoveTracker moveTracker)
focal_class.identifier: MoveAwarePermissionValidator
focal_class.parameters: (@NotNull NodeState rootBefore,
                                   @NotNull NodeState rootAfter,
                                   @NotNull PermissionProvider permissionProvider,
                                   @NotNull PermissionValidatorProvider provider,
                                   @NotNull MoveTracker moveTracker)
focal_class.signature:  MoveAwarePermissionValidator(@NotNull NodeState rootBefore,
                                   @NotNull NodeState rootAfter,
                                   @NotNull PermissionProvider permissionProvider,
                                   @NotNull PermissionValidatorProvider provider,
                                   @NotNull MoveTracker moveTracker)
focal_class.class_method_signature: MoveAwarePermissionValidator.MoveAwarePermissionValidator(@Nullable Tree parentBefore,
                                           @Nullable Tree parentAfter,
                                           @NotNull TreePermission parentPermission,
                                           @NotNull PermissionValidator parentValidator)
focal_class.full_signature: private  MoveAwarePermissionValidator(@Nullable Tree parentBefore,
                                           @Nullable Tree parentAfter,
                                           @NotNull TreePermission parentPermission,
                                           @NotNull PermissionValidator parentValidator)
focal_class.identifier: MoveAwarePermissionValidator
focal_class.modifiers: private
focal_class.parameters: (@Nullable Tree parentBefore,
                                           @Nullable Tree parentAfter,
                                           @NotNull TreePermission parentPermission,
                                           @NotNull PermissionValidator parentValidator)
focal_class.signature:  MoveAwarePermissionValidator(@Nullable Tree parentBefore,
                                           @Nullable Tree parentAfter,
                                           @NotNull TreePermission parentPermission,
                                           @NotNull PermissionValidator parentValidator)
focal_class.class_method_signature: MoveAwarePermissionValidator.createValidator(@Nullable Tree parentBefore,
                                          @Nullable Tree parentAfter,
                                          @NotNull TreePermission parentPermission,
                                          @NotNull PermissionValidator parentValidator)
focal_class.full_signature: @NotNull @Override PermissionValidator createValidator(@Nullable Tree parentBefore,
                                          @Nullable Tree parentAfter,
                                          @NotNull TreePermission parentPermission,
                                          @NotNull PermissionValidator parentValidator)
focal_class.identifier: createValidator
focal_class.modifiers: @NotNull @Override
focal_class.parameters: (@Nullable Tree parentBefore,
                                          @Nullable Tree parentAfter,
                                          @NotNull TreePermission parentPermission,
                                          @NotNull PermissionValidator parentValidator)
focal_class.return: PermissionValidator
focal_class.signature: PermissionValidator createValidator(@Nullable Tree parentBefore,
                                          @Nullable Tree parentAfter,
                                          @NotNull TreePermission parentPermission,
                                          @NotNull PermissionValidator parentValidator)
focal_class.class_method_signature: MoveAwarePermissionValidator.visibleValidator(@NotNull Tree source,
                                         @NotNull Tree dest)
focal_class.full_signature: private Validator visibleValidator(@NotNull Tree source,
                                         @NotNull Tree dest)
focal_class.identifier: visibleValidator
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree source,
                                         @NotNull Tree dest)
focal_class.return: Validator
focal_class.signature: Validator visibleValidator(@NotNull Tree source,
                                         @NotNull Tree dest)
focal_class.class_method_signature: MoveAwarePermissionValidator.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: MoveAwarePermissionValidator.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.superclass: extends PermissionValidator
focal_method.body: @Override
      public Validator childNodeAdded(String name, NodeState after) throws CommitFailedException {
          if (moveCtx.processAdd(getParentAfter(), name, this)) {
              return null;
          } else {
              return super.childNodeAdded(name, after);
          }
      }
focal_method.class_method_signature: MoveAwarePermissionValidator.childNodeAdded(String name, NodeState after)
focal_method.full_signature: @Override public Validator childNodeAdded(String name, NodeState after)
focal_method.identifier: childNodeAdded
focal_method.invocations: processAdd getParentAfter childNodeAdded
focal_method.modifiers: @Override public
focal_method.parameters: (String name, NodeState after)
focal_method.return: Validator
focal_method.signature: Validator childNodeAdded(String name, NodeState after)