@Override @SuppressWarnings("unchecked") public void onNewObject(NewObject newObject) { GlobalId id = newObject.getAffectedGlobalId(); Map<String, Object> newObject2 = (new ObjectMapper()).convertValue( newObject.getAffectedObject().orElse(null), new TypeReference<Map<String, Object>>() { }); if (id instanceof ValueObjectId) { ValueObjectId idV = (ValueObjectId) id; String[] path = idV.getFragment().split("/"); Map<String, Object> nextO = getNew(); for (int n = 0; n < path.length - 1; n++) { nextO.putIfAbsent(path[n], new HashMap<String, Object>()); nextO = (Map<String, Object>) nextO.get(path[n]); } nextO.put(path[path.length - 1], newObject2); } else { result.put(KEY_NEW, newObject2); } }
@Override public NewObject fromJson(JsonElement json, JsonDeserializationContext context) { JsonObject jsonObject = (JsonObject) json; CommitMetadata commitMetadata = deserializeCommitMetadata(jsonObject, context); return new NewObject(deserializeAffectedCdoId(jsonObject,context), Optional.empty(), ofNullable(commitMetadata)); }
@Override public void onNewObject(NewObject newObject) { appendln(" new object: " + newObject.getAffectedGlobalId()); }
@Override public void onNewObject(final NewObject newObject) { getAuditLogDetail(newObject.getAffectedObject()); }
@Override public String toString() { StringBuilder b = new StringBuilder(); getNewObjects().forEach(c -> b.append("* " + c.prettyPrint(valuePrinter) + "\n") ); getObjectsRemoved().forEach(c -> b.append("* " + c.prettyPrint(valuePrinter) + "\n") ); if (!getPropertyChanges().isEmpty()) { b.append("* changes on " + globalId.value() + " :\n"); } getPropertyChanges().forEach(c -> b.append(" - " + c.prettyPrint(valuePrinter).replace("\n", "\n ") + "\n") ); return b.toString(); } }
@Override public String prettyPrint(PrettyValuePrinter valuePrinter) { Validate.argumentIsNotNull(valuePrinter); return "new object: " + getAffectedGlobalId().value(); } }
private void addInitialChanges(List<Change> changes, CdoSnapshot initialSnapshot) { CdoSnapshot emptySnapshot = CdoSnapshotBuilder.emptyCopyOf(initialSnapshot).build(); Diff diff = diffFactory.create(snapshotGraph(emptySnapshot), snapshotGraph(initialSnapshot), commitMetadata(initialSnapshot)); NewObject newObjectChange = new NewObject(initialSnapshot.getGlobalId(), empty(), of(initialSnapshot.getCommitMetadata())); changes.addAll(diff.getChanges()); changes.add(newObjectChange); }
@Override public Set<Change> getChangeSet(GraphPair graphPair) { return Sets.transform(graphPair.getOnlyOnRight(), input -> new NewObject(input.getGlobalId(), input.wrappedCdo())); } }