@Override protected Change computeNext() { try { if (rs.next()) { final String featureId = rs.getString("fid"); // final long auditTimestamp = rs.getLong("audit_timestamp"); // System.err.println(new Timestamp(auditTimestamp)); final int auditOp = rs.getInt("audit_op"); final ChangeType changeType = toChangeType(auditOp); RevFeature revFeature = null; if (ChangeType.REMOVED.equals(changeType)) { report.removed.incrementAndGet(); } else { revFeature = recordToFeature.apply(rs); if (ChangeType.ADDED.equals(changeType)) { report.added.incrementAndGet(); } else { report.changed.incrementAndGet(); } } Change change = new Change(featureId, changeType, revFeature); return change; } } catch (SQLException e) { throw new RuntimeException(e); } return endOfData(); }
sb.append(diffEntry.changeType().toString().charAt(0)).append(' ').append(path) .append(LINE_BREAK); for (int i = 0; i < feature.size(); i++) { Optional<Object> value = feature.get(i); sb.append(diffEntry.changeType().toString().charAt(0)); sb.append(' '); sb.append(featureType.descriptors().get(i).getName().toString());
public @Override SimpleFeature apply(DiffObjectInfo<RevFeature> info) { DiffEntry entry = info.entry(); final String id = entry.name(); RevFeature oldFeature = info.oldValue().orElse(null); RevFeature newFeature = info.newValue().orElse(null); final ChangeType changeType = info.entry().changeType(); diffFeatureBuilder.set(BulkFeatureRetriever.DIFF_FEATURE_CHANGETYPE_ATTNAME, Integer.valueOf(changeType.value())); List<String> nativeTypeNames = this.nativeAttNames; for (int i = 0; i < nativeTypeNames.size(); i++) { String attNameFlattenedOld = flattenedAttNames.get(2 * i); String attNameFlattenedNew = flattenedAttNames.get(2 * i + 1); Object o = oldFeature == null ? null : oldFeature.get(i).orNull(); Object n = newFeature == null ? null : newFeature.get(i).orNull(); diffFeatureBuilder.set(attNameFlattenedOld, o); diffFeatureBuilder.set(attNameFlattenedNew, n); } return diffFeatureBuilder.buildFeature(id); } }
sb.append(diffEntry.changeType().toString().charAt(0)).append(' ').append(path) .append(LINE_BREAK); for (int i = 0; i < feature.size(); i++) { Optional<Object> value = feature.get(i); sb.append(diffEntry.changeType().toString().charAt(0)); sb.append(' '); sb.append(featureType.descriptors().get(i).getName().toString());
final boolean isDelete = ChangeType.REMOVED.equals(diff.changeType()); final TYPE type = ref.getType(); if (isDelete && deletedTrees.contains(parentPath)) {
final ObjectId theirs = theirsDiff.newObjectId(); if (!oursDiff.changeType().equals(theirsDiff.changeType())) { consumer.conflicted(new Conflict(path, ancestorVersionId, ours, theirs)); report.addConflict(path);
while (indexDiffs.hasNext()) { DiffEntry entry = indexDiffs.next(); msg.append("\n ").append(entry.changeType().toString().toLowerCase()) .append(' ') .append(entry.newPath() == null ? entry.oldName() : entry.newPath());
ansi.a("# ").fg(color).a(type.toString().toLowerCase()).a(" ").a(path) .reset(); console.println(ansi.toString());
private boolean hasConflicts(DiffEntry diff1, DiffEntry diff2) { if (!diff1.changeType().equals(diff2.changeType())) { return true;
ansi.a("# ").fg(color).a(type.toString().toLowerCase()).a(" ").a(path) .reset(); console.println(ansi.toString());
featureBuilder.set(name, value); featureBuilder.set(CHANGE_TYPE_NAME, de.changeType().name().charAt(0)); Feature feature = featureBuilder.buildFeature(nodeRef.name()); feature.getUserData().put(Hints.USE_PROVIDED_FID, true);
@Override public void print(GeoGIG geogig, Console console, DiffEntry entry) throws IOException { Ansi ansi = AnsiDecorator.newAnsi(console.isAnsiSupported()); final NodeRef newObject = entry.getNewObject(); final NodeRef oldObject = entry.getOldObject(); String oldMode = shortOid(oldObject == null ? ObjectId.NULL : oldObject.getMetadataId()); String newMode = shortOid(newObject == null ? ObjectId.NULL : newObject.getMetadataId()); String oldId = shortOid(oldObject == null ? ObjectId.NULL : oldObject.getObjectId()); String newId = shortOid(newObject == null ? ObjectId.NULL : newObject.getObjectId()); ansi.a(oldMode).a(" "); ansi.a(newMode).a(" "); ansi.a(oldId).a(" "); ansi.a(newId).a(" "); ansi.fg(entry.changeType() == ADDED ? GREEN : (entry.changeType() == MODIFIED ? YELLOW : RED)); char type = entry.changeType().toString().charAt(0); ansi.a(" ").a(type).reset(); ansi.a(" ").a(formatPath(entry)); console.println(ansi.toString()); }
public @Override SimpleFeature apply(DiffObjectInfo<RevFeature> info) { DiffEntry entry = info.entry(); final String id = entry.name(); RevFeature oldFeature = info.oldValue().orElse(null); RevFeature newFeature = info.newValue().orElse(null); SimpleFeature oldValue; SimpleFeature newValue; oldValue = (SimpleFeature) (oldFeature == null ? null : valueBuilder.build(id, oldFeature, geometryFactory)); newValue = (SimpleFeature) (newFeature == null ? null : valueBuilder.build(id, newFeature, geometryFactory)); SimpleFeature diffFeature; diffFeatureBuilder.reset(); final ChangeType changeType = info.entry().changeType(); diffFeatureBuilder.set(BulkFeatureRetriever.DIFF_FEATURE_CHANGETYPE_ATTNAME, Integer.valueOf(changeType.value())); diffFeatureBuilder.set("old", oldValue); diffFeatureBuilder.set("new", newValue); diffFeature = diffFeatureBuilder.buildFeature(id); return diffFeature; } }
@Override public void print(GeoGIG geogig, Console console, DiffEntry entry) throws IOException { Ansi ansi = AnsiDecorator.newAnsi(console.isAnsiSupported()); final NodeRef newObject = entry.getNewObject(); final NodeRef oldObject = entry.getOldObject(); String oldMode = shortOid(oldObject == null ? ObjectId.NULL : oldObject.getMetadataId()); String newMode = shortOid(newObject == null ? ObjectId.NULL : newObject.getMetadataId()); String oldId = shortOid(oldObject == null ? ObjectId.NULL : oldObject.getObjectId()); String newId = shortOid(newObject == null ? ObjectId.NULL : newObject.getObjectId()); ansi.a(oldMode).a(" "); ansi.a(newMode).a(" "); ansi.a(oldId).a(" "); ansi.a(newId).a(" "); ansi.fg(entry.changeType() == ADDED ? GREEN : (entry.changeType() == MODIFIED ? YELLOW : RED)); char type = entry.changeType().toString().charAt(0); ansi.a(" ").a(type).reset(); ansi.a(" ").a(formatPath(entry)); console.println(ansi.toString()); }
/** * @return the {@code DiffEntry} in the form of a readable {@code String} */ @Override public String toString() { StringBuilder sb = new StringBuilder(changeType().toString()); if (!isAdd()) { sb.append(" [").append(oldObject).append("] "); } if (isChange()) { sb.append("->"); } if (!isDelete()) { sb.append(" [").append(newObject).append("]"); } return sb.toString(); }
/** * @return {@code true} if the objects in this entry represent an added feature */ public boolean isAdd() { return ChangeType.ADDED.equals(changeType()); }
@Test public void testChangeTypes() { assertEquals(ChangeType.ADDED, ChangeType.valueOf(ChangeType.ADDED.value())); assertEquals(ChangeType.REMOVED, ChangeType.valueOf(ChangeType.REMOVED.value())); assertEquals(ChangeType.MODIFIED, ChangeType.valueOf(ChangeType.MODIFIED.value())); exception.expect(ArrayIndexOutOfBoundsException.class); ChangeType.valueOf(3); }
public static ChangeType valueOf(int value) { // relying in the enum ordinal, beware return ChangeType.values()[value]; } }
@Override public boolean apply(@Nullable DiffEntry input) { return input.changeType().equals(ChangeType.ADDED); } });
/** * @return {@code true} if the objects in this entry represent a changed feature */ public boolean isChange() { return ChangeType.MODIFIED.equals(changeType()); }