@Override public AttributeDiff reversed() { return new GenericAttributeDiffImpl(newValue, oldValue); }
public String toString() { if (getType().equals(TYPE.MODIFIED)) { return attributeValueAsString(oldValue) + " -> " + attributeValueAsString(newValue); } else if (getType().equals(TYPE.ADDED)) { return "[MISSING] -> " + attributeValueAsString(newValue); } else if (getType().equals(TYPE.REMOVED)) { return attributeValueAsString(oldValue) + " -> [MISSING]"; } else { return "[NO CHANGE] -> " + attributeValueAsString(oldValue); } }
@Override public Object applyOn(@Nullable Object obj) { Preconditions.checkState(canBeAppliedOn(obj)); return newValue; }
@Override public AttributeDiff reversed() { return new GenericAttributeDiffImpl(newValue, oldValue); }
public String toString() { if (getType().equals(TYPE.MODIFIED)) { return attributeValueAsString(oldValue) + " -> " + attributeValueAsString(newValue); } else if (getType().equals(TYPE.ADDED)) { return "[MISSING] -> " + attributeValueAsString(newValue); } else if (getType().equals(TYPE.REMOVED)) { return attributeValueAsString(oldValue) + " -> [MISSING]"; } else { return "[NO CHANGE] -> " + attributeValueAsString(oldValue); } }
@Override public Object applyOn(@Nullable Object obj) { Preconditions.checkState(canBeAppliedOn(obj)); return newValue; }
public static AttributeDiff attributeDiffFromText(Class<?> clazz, String s) { String[] tokens = s.split("\t"); AttributeDiff ad; if (Geometry.class.isAssignableFrom(clazz)) { ad = new GeometryAttributeDiff(s); } else { if (AttributeDiff.TYPE.REMOVED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(oldValue, null); } else if (AttributeDiff.TYPE.ADDED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(null, newValue); } else if (AttributeDiff.TYPE.MODIFIED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 3, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[2]); ad = new GenericAttributeDiffImpl(oldValue, newValue); } else { throw new IllegalArgumentException("Wrong difference definition:" + s); } } return ad; }
@Override public String asText() { if (getType().equals(TYPE.MODIFIED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue) + "\t" + attributeValueAsString(newValue); } else if (getType().equals(TYPE.ADDED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(newValue); } else { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue); } }
public static AttributeDiff attributeDiffFromText(Class<?> clazz, String s) { String[] tokens = s.split("\t"); AttributeDiff ad; if (Geometry.class.isAssignableFrom(clazz)) { ad = new GeometryAttributeDiff(s); } else { if (AttributeDiff.TYPE.REMOVED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(oldValue, null); } else if (AttributeDiff.TYPE.ADDED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(null, newValue); } else if (AttributeDiff.TYPE.MODIFIED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 3, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[2]); ad = new GenericAttributeDiffImpl(oldValue, newValue); } else { throw new IllegalArgumentException("Wrong difference definition:" + s); } } return ad; }
@Override public String asText() { if (getType().equals(TYPE.MODIFIED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue) + "\t" + attributeValueAsString(newValue); } else if (getType().equals(TYPE.ADDED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(newValue); } else { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue); } }
} else { diffs.put(oldAttributes.get(i), new GenericAttributeDiffImpl(oldValue.orNull(), null)); } else { diffs.put(newAttributes.get(i), new GenericAttributeDiffImpl(null, newValue.orNull())); (Geometry) oldValue.orNull(), (Geometry) newValue.orNull())); } else { diffs.put(oldAttributes.get(i), new GenericAttributeDiffImpl( oldValue.orNull(), newValue.orNull())); } else { diffs.put(oldAttributes.get(i), new GenericAttributeDiffImpl(oldValue.orNull(), null)); } else { diffs.put(descriptor, new GenericAttributeDiffImpl(null, newRevFeature.get(i).orNull()));
} else { diffs.put(oldAttributes.get(i), new GenericAttributeDiffImpl(oldValue.orNull(), null)); } else { diffs.put(newAttributes.get(i), new GenericAttributeDiffImpl(null, newValue.orNull())); (Geometry) oldValue.orNull(), (Geometry) newValue.orNull())); } else { diffs.put(oldAttributes.get(i), new GenericAttributeDiffImpl( oldValue.orNull(), newValue.orNull())); } else { diffs.put(oldAttributes.get(i), new GenericAttributeDiffImpl(oldValue.orNull(), null)); } else { diffs.put(descriptor, new GenericAttributeDiffImpl(null, newRevFeature.get(i).orNull()));
@Given("^I have a patch file$") public void I_have_a_patch_file() throws Throwable { Patch patch = new Patch(); String path = NodeRef.appendChild(pointsName, points1.getIdentifier().getID()); Map<PropertyDescriptor, AttributeDiff> map = Maps.newHashMap(); Object oldValue = points1.getProperty("sp").getValue(); GenericAttributeDiffImpl diff = new GenericAttributeDiffImpl(oldValue, "new"); map.put(pointsType.getDescriptor("sp"), diff); FeatureDiff feaureDiff = new FeatureDiff(path, map, RevFeatureTypeBuilder.build(pointsType), RevFeatureTypeBuilder.build(pointsType)); patch.addModifiedFeature(feaureDiff); File file = new File(localRepo.platform.pwd(), "test.patch"); BufferedWriter writer = Files.newWriter(file, Charsets.UTF_8); PatchSerializer.write(writer, patch); writer.flush(); writer.close(); }
@Given("^I have a patch file$") public void I_have_a_patch_file() throws Throwable { Patch patch = new Patch(); String path = NodeRef.appendChild(pointsName, points1.getIdentifier().getID()); Map<PropertyDescriptor, AttributeDiff> map = Maps.newHashMap(); Object oldValue = points1.getProperty("sp").getValue(); GenericAttributeDiffImpl diff = new GenericAttributeDiffImpl(oldValue, "new"); map.put(pointsType.getDescriptor("sp"), diff); FeatureDiff feaureDiff = new FeatureDiff(path, map, RevFeatureTypeBuilder.build(pointsType), RevFeatureTypeBuilder.build(pointsType)); patch.addModifiedFeature(feaureDiff); File file = new File(localRepo.platform.pwd(), "test.patch"); BufferedWriter writer = Files.newWriter(file, Charsets.UTF_8); PatchSerializer.write(writer, patch); writer.flush(); writer.close(); }
@Test public void testAttributeDiffRemoved() { Integer oldValue = 1; Integer newValue = null; AttributeDiff diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.REMOVED, diff.getType()); assertEquals(oldValue, diff.getOldValue()); assertNull(diff.getNewValue()); }
@Test public void testAttributeDiffRemoved() { Integer oldValue = 1; Integer newValue = null; AttributeDiff diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.REMOVED, diff.getType()); assertEquals(oldValue, diff.getOldValue()); assertNull(diff.getNewValue()); }
@Test public void testAttributeDiffModified() { Integer oldValue = 1; Integer newValue = 2; AttributeDiff diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.MODIFIED, diff.getType()); assertEquals(oldValue, diff.getOldValue()); assertEquals(newValue, diff.getNewValue()); }
@Test public void testAttributeDiffModified() { Integer oldValue = 1; Integer newValue = 2; AttributeDiff diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.MODIFIED, diff.getType()); assertEquals(oldValue, diff.getOldValue()); assertEquals(newValue, diff.getNewValue()); }
@Test public void testAttributeDiffAdded() { Integer oldValue = null; Integer newValue = 1; AttributeDiff diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.ADDED, diff.getType()); assertNull(diff.getOldValue()); assertEquals(newValue, diff.getNewValue()); oldValue = null; diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.ADDED, diff.getType()); assertNull(diff.getOldValue()); assertEquals(newValue, diff.getNewValue()); }
@Test public void testAttributeDiffAdded() { Integer oldValue = null; Integer newValue = 1; AttributeDiff diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.ADDED, diff.getType()); assertNull(diff.getOldValue()); assertEquals(newValue, diff.getNewValue()); oldValue = null; diff = new GenericAttributeDiffImpl(oldValue, newValue); assertEquals(AttributeDiff.TYPE.ADDED, diff.getType()); assertNull(diff.getOldValue()); assertEquals(newValue, diff.getNewValue()); }