public Object getChangeKey(int index) { return changes[index].getKey(); }
public int getChangeType(int index) { return changes[index].getType(); }
@SuppressWarnings("unchecked") public <V> V getChangeValue(int index, Class<V> cast) { return (V)changes[index].getValue(); }
if (cc.getType() == -1) { if (cc.getKey() != null && (Integer)cc.getKey() >= 0 && cc.getValue() instanceof ChangeRef && isForEntity(mergeContext, (ChangeRef) cc.getValue(), savedList.get((Integer)cc.getKey()))) savedList.remove(((Integer)cc.getKey()).intValue()); else if (cc.getKey() != null && (Integer)cc.getKey() >= 0 && mergeContext.objectEquals(cc.getValue(), savedList.get((Integer)cc.getKey()))) savedList.remove(((Integer)cc.getKey()).intValue()); else if (cc.getKey() == null && cc.getValue() instanceof ChangeRef) { for (int i = 0; i < savedList.size(); i++) { if (isForEntity(mergeContext, (ChangeRef)cc.getValue(), savedList.get(i))) { savedList.remove(i); i--; else if (cc.getKey() == null) { for (int i = 0; i < savedList.size(); i++) { if (mergeContext.objectEquals(cc.getValue(), savedList.get(i))) { savedList.remove(i); i--; else if (cc.getType() == 1) { if (cc.getKey() != null && (Integer)cc.getKey() >= 0) { int key = (Integer)cc.getKey(); if (key > savedList.size()) log.warn("Could not add received element at index %d", key); else savedList.add(key, cc.getValue()); else if (cc.getKey() != null) savedList.add(cc.getValue()); else
if (((CollectionChange)graph).getKey() != null) { found = lookupEntity(mergeContext, ((CollectionChange)graph).getKey(), obj, cache); if (found != null) return found; if (((CollectionChange)graph).getValue() != null) { found = lookupEntity(mergeContext, ((CollectionChange)graph).getValue(), obj, cache); if (found != null) return found;
@Override public String toString() { StringBuilder sb = new StringBuilder("CollectionChanges["); boolean first = true; for (CollectionChange cc : changes) { if (first) first = false; else sb.append(", "); sb.append(cc.toString()); } sb.append("]"); return sb.toString(); } }
int idx = 0; for (Object[] obj : added) collChanges[idx++] = new CollectionChange(1, obj[0], obj[1]); value = new ChangeRef(e.getName(), (String)get(value, "uid"), (Serializable)e.getIdentifier()); collChanges[idx++] = new CollectionChange(-1, obj[0], value); collChanges[idx++] = new CollectionChange(0, obj[0], obj[1]); int idx = 0; for (Object[] obj : ops) collChanges[idx++] = new CollectionChange((Integer)obj[0], obj[1], obj[2]); int idx = 0; for (Object obj : added) collChanges[idx++] = new CollectionChange(1, null, obj); collChanges[idx++] = new CollectionChange(-1, null, obj); int idx = 0; for (Entry<?, ?> me : added) collChanges[idx++] = new CollectionChange(1, me.getKey(), me.getValue()); collChanges[idx++] = new CollectionChange(-1, me.getKey(), me.getValue());
if (cc.getType() == -1) { if (cc.getValue() instanceof ChangeRef) { for (int i = 0; i < savedList.size(); i++) { if (isForEntity(mergeContext, (ChangeRef)cc.getValue(), savedList.get(i))) { savedList.remove(i); i--; if (mergeContext.objectEquals(cc.getValue(), savedList.get(i))) { savedList.remove(i); i--; else if (cc.getType() == 1) { savedList.add(cc.getValue()); if (cc.getType() == -1) { if (cc.getKey() == null && cc.getValue() instanceof ChangeRef) { for (Iterator<Object> ic = coll.iterator(); ic.hasNext(); ) { Object c = ic.next(); if (isForEntity(mergeContext, (ChangeRef) cc.getValue(), c)) ic.remove(); else if (cc.getKey() == null) { for (Iterator<Object> ic = coll.iterator(); ic.hasNext(); ) { Object c = ic.next(); if (isForEntity(mergeContext, (ChangeRef) cc.getValue(), c)) ic.remove(); else if (cc.getType() == 1) { coll.add(cc.getValue());
@Override public String toString() { StringBuilder sb = new StringBuilder("CollectionChanges["); boolean first = true; for (CollectionChange cc : changes) { if (first) first = false; else sb.append(", "); sb.append(cc.toString()); } sb.append("]"); return sb.toString(); } }
int idx = 0; for (Object[] op : diffOps) collectionChanges[idx++] = new CollectionChange((Integer)op[0], buildRef(op[1]), buildRef(op[2]));
Object key = cc.getKey() instanceof ChangeRef ? mergeContext.getCachedObject(cc.getKey()) : cc.getKey(); if (cc.getType() == -1) { if (key != null && cc.getValue() instanceof ChangeRef && isForEntity(mergeContext, (ChangeRef)cc.getValue(), savedMap.get(key))) savedMap.remove(key); else if (key != null && mergeContext.objectEquals(cc.getValue(), savedMap.get(key))) savedMap.remove(key); else if (cc.getType() == 0 || cc.getType() == 1) { savedMap.put(key, cc.getValue()); Object key = cc.getKey() instanceof ChangeRef ? mergeContext.getCachedObject(cc.getKey()) : cc.getKey(); if (cc.getType() == -1) { if (key != null && cc.getValue() instanceof ChangeRef && isForEntity(mergeContext, (ChangeRef)cc.getValue(), map.get(key))) map.remove(key); else if (key != null && mergeContext.objectEquals(cc.getValue(), map.get(key))) map.remove(key); else if (cc.getType() == 0 || cc.getType() == 1) { map.put(key, cc.getValue());
public Object getChangeKey(int index) { return changes[index].getKey(); }
@SuppressWarnings("unchecked") public <V> V getChangeValue(int index, Class<V> cast) { return (V)changes[index].getValue(); }
public int getChangeType(int index) { return changes[index].getType(); }
@Override public String toString() { StringBuilder sb = new StringBuilder("CollectionChanges["); boolean first = true; for (CollectionChange cc : changes) { if (first) first = false; else sb.append(", "); sb.append(cc.toString()); } sb.append("]"); return sb.toString(); } }
if (collectionChange.getType() == 1) { if (collection instanceof Set<?>) { Type collectionType = propertyDescriptor.getReadMethod().getGenericReturnType(); Object value = converters.convert(mergeObject(collectionChange.getValue(), cache), elementType); ((Set<Object>)collection).add(value); Object value = converters.convert(mergeObject(collectionChange.getValue(), cache), elementType); ((List<Object>)collection).add((Integer)collectionChange.getKey(), value); Object key = converters.convert(mergeObject(collectionChange.getKey(), cache), keyType); Object value = converters.convert(mergeObject(collectionChange.getValue(), cache), valueType); ((Map<Object, Object>)collection).put(key, value); else if (collectionChange.getType() == -1) { if (collection instanceof Set<?>) { Type collectionType = propertyDescriptor.getReadMethod().getGenericReturnType(); Object value = converters.convert(mergeObject(collectionChange.getValue(), cache), elementType); Object removed = ((Set<Object>)collection).remove(value); cache.add(removed); int index = (Integer)collectionChange.getKey(); Object removed = ((List<Object>)collection).remove(index); cache.add(removed); Object key = converters.convert(mergeObject(collectionChange.getKey(), cache), keyType); Object removed = ((Map<Object, Object>)collection).remove(key); cache.add(removed);
public Object getChangeKey(int index) { return changes[index].getKey(); }
public Object getChangeValue(int index) { return changes[index].getValue(); }
public int getChangeType(int index) { return changes[index].getType(); }