test_class.declarator: handler = new ExternalIdentityConflictHandler()
test_class.modifier: private
test_class.original_string: private ExternalIdentityConflictHandler handler = new ExternalIdentityConflictHandler();
test_class.type: ExternalIdentityConflictHandler
test_class.var_name: handler
test_class.file: oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityConflictHandlerTest.java
test_class.identifier: ExternalIdentityConflictHandlerTest
test_case.body: @Test
      public void testMergeTheirsCannotBeParsed() {
          Calendar cal = Calendar.getInstance();
          String calStr = ISO8601.format(cal);
  
          PropertyState ours = when(mock(PropertyState.class).getName()).thenReturn(REP_LAST_SYNCED).getMock();
          when(ours.getValue(Type.DATE)).thenReturn(calStr);
          PropertyState theirs = when(mock(PropertyState.class).getValue(Type.DATE)).thenReturn("notParseable").getMock();
  
          NodeBuilder parent = mock(NodeBuilder.class);
          assertSame(ThreeWayConflictHandler.Resolution.MERGED, handler.changeChangedProperty(parent, ours, theirs, mock(PropertyState.class)));
          verify(parent, times(1)).setProperty(REP_LAST_SYNCED, ISO8601.parse(ours.getValue(Type.DATE)));
      }
test_case.class_method_signature: ExternalIdentityConflictHandlerTest.testMergeTheirsCannotBeParsed()
test_case.full_signature: @Test public void testMergeTheirsCannotBeParsed()
test_case.identifier: testMergeTheirsCannotBeParsed
test_case.invocations: getInstance format getMock thenReturn when getName mock thenReturn when getValue getMock thenReturn when getValue mock mock assertSame changeChangedProperty mock setProperty verify times parse getValue
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMergeTheirsCannotBeParsed()
focal_class.file: oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/ExternalIdentityConflictHandler.java
focal_class.identifier: ExternalIdentityConflictHandler
focal_class.interfaces: implements ThreeWayConflictHandler
focal_class.class_method_signature: ExternalIdentityConflictHandler.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: ExternalIdentityConflictHandler.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: ExternalIdentityConflictHandler.merge(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs)
focal_class.full_signature: private static Resolution merge(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs)
focal_class.identifier: merge
focal_class.modifiers: private static
focal_class.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs)
focal_class.return: Resolution
focal_class.signature: Resolution merge(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs)
focal_class.class_method_signature: ExternalIdentityConflictHandler.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: ExternalIdentityConflictHandler.deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base)
focal_class.full_signature: @Override @NotNull public Resolution deleteDeletedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState base)
focal_class.identifier: deleteDeletedProperty
focal_class.modifiers: @Override @NotNull 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: ExternalIdentityConflictHandler.deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs,
              @NotNull PropertyState base)
focal_class.full_signature: @Override @NotNull public Resolution deleteChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState theirs,
              @NotNull PropertyState base)
focal_class.identifier: deleteChangedProperty
focal_class.modifiers: @Override @NotNull 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: ExternalIdentityConflictHandler.addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState theirs)
focal_class.full_signature: @Override @NotNull public Resolution addExistingNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState theirs)
focal_class.identifier: addExistingNode
focal_class.modifiers: @Override @NotNull 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: ExternalIdentityConflictHandler.changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState base)
focal_class.full_signature: @Override @NotNull public Resolution changeDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState ours,
              @NotNull NodeState base)
focal_class.identifier: changeDeletedNode
focal_class.modifiers: @Override @NotNull 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: ExternalIdentityConflictHandler.deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs,
              @NotNull NodeState base)
focal_class.full_signature: @Override @NotNull public Resolution deleteChangedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState theirs,
              @NotNull NodeState base)
focal_class.identifier: deleteChangedNode
focal_class.modifiers: @Override @NotNull 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: ExternalIdentityConflictHandler.deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base)
focal_class.full_signature: @Override @NotNull public Resolution deleteDeletedNode(@NotNull NodeBuilder parent, @NotNull String name, @NotNull NodeState base)
focal_class.identifier: deleteDeletedNode
focal_class.modifiers: @Override @NotNull 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_method.body: @NotNull
      @Override
      public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
                                              @NotNull PropertyState base) {
          if (ExternalIdentityConstants.REP_LAST_SYNCED.equals(ours.getName())) {
              return merge(parent, ours, theirs);
          }
          return Resolution.IGNORED;
      }
focal_method.class_method_signature: ExternalIdentityConflictHandler.changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
                                              @NotNull PropertyState base)
focal_method.full_signature: @NotNull @Override public Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
                                              @NotNull PropertyState base)
focal_method.identifier: changeChangedProperty
focal_method.invocations: equals getName merge
focal_method.modifiers: @NotNull @Override public
focal_method.parameters: (@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
                                              @NotNull PropertyState base)
focal_method.return: Resolution
focal_method.signature: Resolution changeChangedProperty(@NotNull NodeBuilder parent, @NotNull PropertyState ours, @NotNull PropertyState theirs,
                                              @NotNull PropertyState base)