/** * INTERNAL: * Build and return a new element based on the change set. */ public Object buildRemovedElementFromChangeSet(Object changeSet, MergeManager mergeManager, AbstractSession targetSession) { return this.buildElementFromChangeSet(changeSet, mergeManager, targetSession); }
/** * INTERNAL: * Build and return a new element based on the change set. */ public Object buildAddedElementFromChangeSet(Object changeSet, MergeManager mergeManager, AbstractSession targetSession) { return this.buildElementFromChangeSet(changeSet, mergeManager, targetSession); }
/** * INTERNAL: * Build and return a new element based on the change set. */ public Object buildRemovedElementFromChangeSet(Object changeSet, MergeManager mergeManager, AbstractSession targetSession) { return this.buildElementFromChangeSet(changeSet, mergeManager, targetSession); }
/** * INTERNAL: * Build and return a new element based on the change set. */ public Object buildRemovedElementFromChangeSet(Object changeSet, MergeManager mergeManager) { return this.buildElementFromChangeSet(changeSet, mergeManager); }
/** * INTERNAL: * Build and return a new element based on the change set. */ public Object buildAddedElementFromChangeSet(Object changeSet, MergeManager mergeManager, AbstractSession targetSession) { return this.buildElementFromChangeSet(changeSet, mergeManager, targetSession); }
/** * INTERNAL: * Build and return a new element based on the change set. */ public Object buildAddedElementFromChangeSet(Object changeSet, MergeManager mergeManager) { return this.buildElementFromChangeSet(changeSet, mergeManager); }
/** * INTERNAL: * Merge changes from the source to the target object. */ public void mergeChangesIntoObject(Object target, ChangeRecord changeRecord, Object source, MergeManager mergeManager) { ContainerPolicy containerPolicy = getContainerPolicy(); AbstractSession session = mergeManager.getSession(); // Iterate over the changes and merge the collections Vector aggregateObjects = ((AggregateCollectionChangeRecord)changeRecord).getChangedValues(); Object valueOfTarget = containerPolicy.containerInstance(); // Next iterate over the changes and add them to the container ObjectChangeSet objectChanges = null; int size = aggregateObjects.size(); for (int index = 0; index < size; ++index) { objectChanges = (ObjectChangeSet)aggregateObjects.get(index); // Since the CompositeCollectionMapping only registers an all or none // change set, we can simply replace the entire collection; containerPolicy.addInto(buildElementFromChangeSet(objectChanges, mergeManager), valueOfTarget, session); } setRealAttributeValueInObject(target, valueOfTarget); }