コード例 #1
0
  /** INTERNAL: Build and return a new element based on the change set. */
  public Object buildRemovedElementFromChangeSet(Object changeSet, MergeManager mergeManager) {
    ObjectChangeSet objectChangeSet = (ObjectChangeSet) changeSet;

    if (!mergeManager.shouldMergeChangesIntoDistributedCache()) {
      mergeManager.registerRemovedNewObjectIfRequired(objectChangeSet.getUnitOfWorkClone());
    }

    return this.buildElementFromChangeSet(changeSet, mergeManager);
  }
コード例 #2
0
  /** INTERNAL: Build and return a new element based on the change set. */
  public Object buildAddedElementFromChangeSet(Object changeSet, MergeManager mergeManager) {
    ObjectChangeSet objectChangeSet = (ObjectChangeSet) changeSet;

    if (this.shouldMergeCascadeParts(mergeManager)) {
      Object targetElement = null;
      if (mergeManager.shouldMergeChangesIntoDistributedCache()) {
        targetElement =
            objectChangeSet.getTargetVersionOfSourceObject(mergeManager.getSession(), true);
      } else {
        targetElement = objectChangeSet.getUnitOfWorkClone();
      }
      mergeManager.mergeChanges(targetElement, objectChangeSet);
    }

    return this.buildElementFromChangeSet(changeSet, mergeManager);
  }