/** * INTERNAL: * This method will be used to merge a change set into an UnitOfWorkChangeSet * This method returns the local instance of the changeset */ public ObjectChangeSet mergeObjectChanges(ObjectChangeSet objectChangeSet, UnitOfWorkChangeSet mergeFromChangeSet) { ObjectChangeSet localChangeSet = this.findOrIntegrateObjectChangeSet(objectChangeSet, mergeFromChangeSet); if (localChangeSet != null) { localChangeSet.mergeObjectChanges(objectChangeSet, this, mergeFromChangeSet); } return localChangeSet; }
/** * INTERNAL: * This method will be used to merge one record into another */ public void mergeRecord(ChangeRecord mergeFromRecord, UnitOfWorkChangeSet mergeToChangeSet, UnitOfWorkChangeSet mergeFromChangeSet) { if (this.changedObject == null) { this.changedObject = ((AggregateChangeRecord)mergeFromRecord).getChangedObject(); if(this.changedObject == null) { return; } else { mergeToChangeSet.addObjectChangeSetForIdentity((ObjectChangeSet)this.changedObject, mergeFromChangeSet.getUOWCloneForObjectChangeSet(this.changedObject)); ((ObjectChangeSet)this.changedObject).updateReferences(mergeToChangeSet, mergeFromChangeSet); return; } } ((ObjectChangeSet)this.changedObject).mergeObjectChanges((ObjectChangeSet)((AggregateChangeRecord)mergeFromRecord).getChangedObject(), mergeToChangeSet, mergeFromChangeSet); }