public void compare(final DiffNode node, final Class<?> type, final Object working, final Object base) { if (Comparable.class.isAssignableFrom(type)) { if (isEqualByComparison((Comparable) working, (Comparable) base)) { node.setState(DiffNode.State.UNTOUCHED); } else { node.setState(DiffNode.State.CHANGED); } } } }
public void compare(final DiffNode node, final Class<?> type, final Object working, final Object base) { final boolean result; if (equalsValueProviderMethod != null) { final Object workingValue = access(working, equalsValueProviderMethod); final Object baseValue = access(base, equalsValueProviderMethod); result = isEqual(workingValue, baseValue); } else { result = isEqual(working, base); } if (result) { node.setState(DiffNode.State.UNTOUCHED); } else { node.setState(DiffNode.State.CHANGED); } }
public final DiffNode compare(final DiffNode parentNode, final Instances instances) { if (!accepts(instances.getType())) { throw new IllegalArgumentException("The primitive differ can only deal with primitive types."); } final DiffNode node = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); if (shouldTreatPrimitiveDefaultsAsUnassigned(node) && instances.hasBeenAdded()) { node.setState(DiffNode.State.ADDED); } else if (shouldTreatPrimitiveDefaultsAsUnassigned(node) && instances.hasBeenRemoved()) { node.setState(DiffNode.State.REMOVED); } else if (!instances.areEqual()) { node.setState(DiffNode.State.CHANGED); } return node; }
public final DiffNode compare(final DiffNode parentNode, final Instances instances) { final DiffNode beanNode = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); if (instances.areNull() || instances.areSame()) { beanNode.setState(DiffNode.State.UNTOUCHED); } else if (instances.hasBeenAdded()) { compareUsingAppropriateMethod(beanNode, instances); beanNode.setState(DiffNode.State.ADDED); } else if (instances.hasBeenRemoved()) { compareUsingAppropriateMethod(beanNode, instances); beanNode.setState(DiffNode.State.REMOVED); } else { compareUsingAppropriateMethod(beanNode, instances); } return beanNode; }
private static DiffNode newCircularNode(final DiffNode parentNode, final Instances instances, final NodePath circleStartPath) { final DiffNode node = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); node.setState(DiffNode.State.CIRCULAR); node.setCircleStartPath(circleStartPath); node.setCircleStartNode(findNodeMatchingPropertyPath(parentNode, circleStartPath)); return node; } }
public final DiffNode compare(final DiffNode parentNode, final Instances instances) { final DiffNode mapNode = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); if (instances.hasBeenAdded()) { compareEntries(mapNode, instances, instances.getWorking(Map.class).keySet()); mapNode.setState(DiffNode.State.ADDED); } else if (instances.hasBeenRemoved()) { compareEntries(mapNode, instances, instances.getBase(Map.class).keySet()); mapNode.setState(DiffNode.State.REMOVED); } else if (instances.areSame()) { mapNode.setState(DiffNode.State.UNTOUCHED); } else if (comparisonStrategyResolver.resolveComparisonStrategy(mapNode) != null) { comparisonStrategyResolver.resolveComparisonStrategy(mapNode).compare(mapNode, instances.getType(), instances.getWorking(Map.class), instances.getBase(Map.class)); } else { compareEntries(mapNode, instances, findAddedKeys(instances)); compareEntries(mapNode, instances, findRemovedKeys(instances)); compareEntries(mapNode, instances, findKnownKeys(instances)); } return mapNode; }
public void compare(final DiffNode node, final Class<?> type, final Object working, final Object base) { if (Comparable.class.isAssignableFrom(type)) { if (isEqualByComparison((Comparable) working, (Comparable) base)) { node.setState(DiffNode.State.UNTOUCHED); } else { node.setState(DiffNode.State.CHANGED); } } } }
public void compare(final DiffNode node, final Class<?> type, final Object working, final Object base) { final boolean result; if (equalsValueProviderMethod != null) { final Object workingValue = access(working, equalsValueProviderMethod); final Object baseValue = access(base, equalsValueProviderMethod); result = isEqual(workingValue, baseValue); } else { result = isEqual(working, base); } if (result) { node.setState(DiffNode.State.UNTOUCHED); } else { node.setState(DiffNode.State.CHANGED); } }
public final DiffNode compare(final DiffNode parentNode, final Instances instances) { if (!accepts(instances.getType())) { throw new IllegalArgumentException("The primitive differ can only deal with primitive types."); } final DiffNode node = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); if (shouldTreatPrimitiveDefaultsAsUnassigned(node) && instances.hasBeenAdded()) { node.setState(DiffNode.State.ADDED); } else if (shouldTreatPrimitiveDefaultsAsUnassigned(node) && instances.hasBeenRemoved()) { node.setState(DiffNode.State.REMOVED); } else if (!instances.areEqual()) { node.setState(DiffNode.State.CHANGED); } return node; }
public final DiffNode compare(final DiffNode parentNode, final Instances instances) { final DiffNode beanNode = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); if (instances.areNull() || instances.areSame()) { beanNode.setState(DiffNode.State.UNTOUCHED); } else if (instances.hasBeenAdded()) { compareUsingAppropriateMethod(beanNode, instances); beanNode.setState(DiffNode.State.ADDED); } else if (instances.hasBeenRemoved()) { compareUsingAppropriateMethod(beanNode, instances); beanNode.setState(DiffNode.State.REMOVED); } else { compareUsingAppropriateMethod(beanNode, instances); } return beanNode; }
private static DiffNode newCircularNode(final DiffNode parentNode, final Instances instances, final NodePath circleStartPath) { final DiffNode node = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); node.setState(DiffNode.State.CIRCULAR); node.setCircleStartPath(circleStartPath); node.setCircleStartNode(findNodeMatchingPropertyPath(parentNode, circleStartPath)); return node; } }
public final DiffNode compare(final DiffNode parentNode, final Instances instances) { final DiffNode mapNode = new DiffNode(parentNode, instances.getSourceAccessor(), instances.getType()); if (instances.hasBeenAdded()) { compareEntries(mapNode, instances, instances.getWorking(Map.class).keySet()); mapNode.setState(DiffNode.State.ADDED); } else if (instances.hasBeenRemoved()) { compareEntries(mapNode, instances, instances.getBase(Map.class).keySet()); mapNode.setState(DiffNode.State.REMOVED); } else if (instances.areSame()) { mapNode.setState(DiffNode.State.UNTOUCHED); } else if (comparisonStrategyResolver.resolveComparisonStrategy(mapNode) != null) { comparisonStrategyResolver.resolveComparisonStrategy(mapNode).compare(mapNode, instances.getType(), instances.getWorking(Map.class), instances.getBase(Map.class)); } else { compareEntries(mapNode, instances, findAddedKeys(instances)); compareEntries(mapNode, instances, findRemovedKeys(instances)); compareEntries(mapNode, instances, findKnownKeys(instances)); } return mapNode; }