@Override public String toString() { StringBuilder sb = new StringBuilder(); if (getClassName().indexOf(".") > 0) sb.append(getClassName().substring(getClassName().lastIndexOf(".")+1)); else sb.append(getClassName()); sb.append(':').append(getUid()).append(":").append(getId()).append(':').append(getVersion()).append("={"); boolean first = true; for (Entry<String, Object> change : getChanges().entrySet()) { if (first) first = false; else sb.append(", "); sb.append(change.getKey()).append(": ").append(change.getValue()); } sb.append("}"); return sb.toString(); }
private boolean isForEntity(Change change, Object entity) { return entity.getClass().getName().equals(getType(change.getClassName())) && change.getUid().equals(dataManager.getUid(entity)); }
@Override public int compareTo(Change o) { if (!className.equals(o.getClassName())) return className.compareTo(o.getClassName()); if (!uid.equals(o.getUid())) return uid.compareTo(o.getUid()); if (version == null) return o.getVersion() == null ? 0 : -1; else if (version.equals(o.getVersion())) return 0; else if (o.getVersion() == null) return 1; return version.longValue() > o.getVersion().longValue() ? 1 : -1; } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); if (getClassName().indexOf(".") > 0) sb.append(getClassName().substring(getClassName().lastIndexOf(".")+1)); else sb.append(getClassName()); sb.append(':').append(getUid()).append(":").append(getId()).append(':').append(getVersion()).append("={"); boolean first = true; for (Entry<String, Object> change : getChanges().entrySet()) { if (first) first = false; else sb.append(", "); sb.append(change.getKey()).append(": ").append(change.getValue()); } sb.append("}"); return sb.toString(); }
@Override public int compareTo(Change o) { if (!className.equals(o.getClassName())) return className.compareTo(o.getClassName()); if (!uid.equals(o.getUid())) return uid.compareTo(o.getUid()); if (version == null) return o.getVersion() == null ? 0 : -1; else if (version.equals(o.getVersion())) return 0; else if (o.getVersion() == null) return 1; return version.longValue() > o.getVersion().longValue() ? 1 : -1; } }
@Override public int compareTo(Change o) { if (!className.equals(o.getClassName())) return className.compareTo(o.getClassName()); if (!uid.equals(o.getUid())) return uid.compareTo(o.getUid()); if (version == null) return o.getVersion() == null ? 0 : -1; else if (version.equals(o.getVersion())) return 0; else if (o.getVersion() == null) return 1; return version.longValue() > o.getVersion().longValue() ? 1 : -1; } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); if (getClassName().indexOf(".") > 0) sb.append(getClassName().substring(getClassName().lastIndexOf(".")+1)); else sb.append(getClassName()); sb.append(':').append(getUid()).append(":").append(getId()).append(':').append(getVersion()).append("={"); boolean first = true; for (Entry<String, Object> change : getChanges().entrySet()) { if (first) first = false; else sb.append(", "); sb.append(change.getKey()).append(": ").append(change.getValue()); } sb.append("}"); return sb.toString(); }
private boolean isForEntity(MergeContext mergeContext, Change change, Object entity) { String className = mergeContext.getServerSession().getAliasRegistry().getTypeForAlias(change.getClassName()); return entity.getClass().getName().equals(className) && change.getUid().equals(mergeContext.getDataManager().getUid(entity)); } private boolean isForEntity(MergeContext mergeContext, ChangeRef changeRef, Object entity) {
public ChangeEntity(Change change, ClientAliasRegistry aliasRegistry) { super(getTypeForAlias(aliasRegistry, change), change.getId(), change.getVersion(), change.getUid()); getChanges().putAll(change.getChanges()); }
public ChangeEntityRef(Object change, ClientAliasRegistry aliasRegistry) { if (change instanceof Change) { className = ((Change)change).getClassName(); uid = ((Change)change).getUid(); } else if (change instanceof ChangeRef) { className = ((ChangeRef)change).getClassName(); uid = ((ChangeRef)change).getUid(); } if (aliasRegistry.getTypeForAlias(className) != null) className = aliasRegistry.getTypeForAlias(className); }
if (dest == null) { log.warn("Incoming change received for unknown entity %s: %s", change.getClassName(), change.getUid()); continue; if (coll instanceof PersistentCollection && !((PersistentCollection<?>)coll).wasInitialized()) { log.debug("Incoming change for uninitialized collection %s:%s.%s", change.getClassName(), change.getUid(), p); continue; log.warn("Incoming change skipped %s:%s.%s, already processed", change.getClassName(), change.getUid(), p); continue; change.getUid(), mergeContext.getDataManager().getIdPropertyName(changeClass), change.getId(), mergeContext.getDataManager().getVersionPropertyName(changeClass), version, mergedChanges, templateObject);