test_class.declarator: GROUP_ID = "test-groupId"
test_class.modifier: private static final
test_class.original_string: private static final String GROUP_ID = "test-groupId";
test_class.type: String
test_class.var_name: GROUP_ID
test_class.declarator: count
test_class.modifier: private final
test_class.original_string: private final int count;
test_class.type: int
test_class.var_name: count
test_class.declarator: group
test_class.modifier: private
test_class.original_string: private Group group;
test_class.type: Group
test_class.var_name: group
test_class.declarator: users
test_class.modifier: private
test_class.original_string: private User[] users;
test_class.type: User[]
test_class.var_name: users
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandlerTest.java
test_class.identifier: RepMembersConflictHandlerTest
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void addExistingProperty() throws Exception {
          Root ours = login(getAdminCredentials()).getLatestRoot();
          Root theirs = login(getAdminCredentials()).getLatestRoot();
  
          add(ours, users[1].getID());
          add(theirs, users[2].getID());
  
          root.refresh();
          assertTrue(group.isDeclaredMember(users[1]));
          assertTrue(group.isDeclaredMember(users[2]));
      }
test_case.class_method_signature: RepMembersConflictHandlerTest.addExistingProperty()
test_case.full_signature: @Test public void addExistingProperty()
test_case.identifier: addExistingProperty
test_case.invocations: getLatestRoot login getAdminCredentials getLatestRoot login getAdminCredentials add getID add getID refresh assertTrue isDeclaredMember assertTrue isDeclaredMember
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void addExistingProperty()
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/RepMembersConflictHandler.java
focal_class.identifier: RepMembersConflictHandler
focal_class.interfaces: implements ThreeWayConflictHandler
focal_class.class_method_signature: RepMembersConflictHandler.addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)
focal_class.full_signature: @NotNull @Override public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)
focal_class.identifier: addExistingProperty
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)
focal_class.return: Resolution
focal_class.signature: Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)
focal_class.class_method_signature: RepMembersConflictHandler.changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState base)
focal_class.full_signature: @Override @NotNull public Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState base)
focal_class.identifier: changeDeletedProperty
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState base)
focal_class.return: Resolution
focal_class.signature: Resolution changeDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState base)
focal_class.class_method_signature: RepMembersConflictHandler.changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs, @NotNull PropertyState base)
focal_class.full_signature: @NotNull @Override public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs, @NotNull PropertyState base)
focal_class.identifier: changeChangedProperty
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs, @NotNull PropertyState base)
focal_class.return: Resolution
focal_class.signature: Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs, @NotNull PropertyState base)
focal_class.class_method_signature: RepMembersConflictHandler.deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base)
focal_class.full_signature: @NotNull @Override public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base)
focal_class.identifier: deleteDeletedProperty
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState base)
focal_class.return: Resolution
focal_class.signature: Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base)
focal_class.class_method_signature: RepMembersConflictHandler.deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs,
              @NotNull PropertyState base)
focal_class.full_signature: @NotNull @Override public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs,
              @NotNull PropertyState base)
focal_class.identifier: deleteChangedProperty
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState theirs,
              @NotNull PropertyState base)
focal_class.return: Resolution
focal_class.signature: Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs,
              @NotNull PropertyState base)
focal_class.class_method_signature: RepMembersConflictHandler.addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState theirs)
focal_class.full_signature: @NotNull @Override public Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState theirs)
focal_class.identifier: addExistingNode
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState theirs)
focal_class.return: Resolution
focal_class.signature: Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState theirs)
focal_class.class_method_signature: RepMembersConflictHandler.changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState base)
focal_class.full_signature: @NotNull @Override public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState base)
focal_class.identifier: changeDeletedNode
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState base)
focal_class.return: Resolution
focal_class.signature: Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState base)
focal_class.class_method_signature: RepMembersConflictHandler.deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs,
              @NotNull NodeState base)
focal_class.full_signature: @NotNull @Override public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs,
              @NotNull NodeState base)
focal_class.identifier: deleteChangedNode
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs,
              @NotNull NodeState base)
focal_class.return: Resolution
focal_class.signature: Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs,
              @NotNull NodeState base)
focal_class.class_method_signature: RepMembersConflictHandler.deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base)
focal_class.full_signature: @NotNull @Override public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base)
focal_class.identifier: deleteDeletedNode
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base)
focal_class.return: Resolution
focal_class.signature: Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base)
focal_class.class_method_signature: RepMembersConflictHandler.mergeChange(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs, @NotNull Set<String> base)
focal_class.full_signature: private static void mergeChange(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs, @NotNull Set<String> base)
focal_class.identifier: mergeChange
focal_class.modifiers: private static
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs, @NotNull Set<String> base)
focal_class.return: void
focal_class.signature: void mergeChange(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs, @NotNull Set<String> base)
focal_class.class_method_signature: RepMembersConflictHandler.isRepMembersProperty(PropertyState p)
focal_class.full_signature: private static boolean isRepMembersProperty(PropertyState p)
focal_class.identifier: isRepMembersProperty
focal_class.modifiers: private static
focal_class.parameters: (PropertyState p)
focal_class.return: boolean
focal_class.signature: boolean isRepMembersProperty(PropertyState p)
focal_class.class_method_signature: RepMembersConflictHandler.isMemberRefType(NodeState base)
focal_class.full_signature: private static boolean isMemberRefType(NodeState base)
focal_class.identifier: isMemberRefType
focal_class.modifiers: private static
focal_class.parameters: (NodeState base)
focal_class.return: boolean
focal_class.signature: boolean isMemberRefType(NodeState base)
focal_method.body: @NotNull
      @Override
      public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs) {
          if (isRepMembersProperty(theirs)) {
              mergeChange(parent, ours, theirs, ImmutableSet.of());
              return Resolution.MERGED;
          } else {
              return Resolution.IGNORED;
          }
      }
focal_method.class_method_signature: RepMembersConflictHandler.addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)
focal_method.full_signature: @NotNull @Override public Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)
focal_method.identifier: addExistingProperty
focal_method.invocations: isRepMembersProperty mergeChange of
focal_method.modifiers: @NotNull @Override public
focal_method.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)
focal_method.return: Resolution
focal_method.signature: Resolution addExistingProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours,
              @NotNull PropertyState theirs)