/** Sets the effective time on the object for the desired value. */ private void setEffectiveTimeOnComponent(final InternalCDORevisionDelta revisionDelta, final Object effectiveTime) { final EStructuralFeature effectiveTimeFeature = getEffectiveTimeFeature(revisionDelta.getEClass()); revisionDelta.addFeatureDelta(createSetFeatureDelta(effectiveTimeFeature, NO_INDEX, effectiveTime)); }
private void mergeChangedObject(CDORevisionKey key, Map<CDOID, CDOIDAndVersion> newMap, Map<CDOID, CDORevisionKey> changedMap) { CDOID id = key.getID(); if (key instanceof CDORevisionDelta) { CDORevisionDelta delta = (CDORevisionDelta)key; // Try to add the delta to existing new revision CDOIDAndVersion oldRevision = newMap.get(id); if (oldRevision instanceof CDORevision) { CDORevision newRevision = (CDORevision)oldRevision; delta.apply(newRevision); return; } // Try to add the delta to existing delta CDORevisionKey oldDelta = changedMap.get(id); if (oldDelta instanceof CDORevisionDelta) { InternalCDORevisionDelta newDelta = (InternalCDORevisionDelta)oldDelta; for (CDOFeatureDelta featureDelta : delta.getFeatureDeltas()) { newDelta.addFeatureDelta(featureDelta); } return; } } // Fall back changedMap.put(id, key); }
/** Sets the released flag on the given component to {@code true}. */ private void setReleased(final InternalCDORevisionDelta revisionDelta) { final EStructuralFeature releasedFeature = getReleasedFeature(revisionDelta.getEClass()); revisionDelta.addFeatureDelta(createSetFeatureDelta(releasedFeature, NO_INDEX, getReleasedValue())); }
if (featureDelta != null) result.addFeatureDelta(featureDelta); if (featureDelta != null) result.addFeatureDelta(featureDelta); ((InternalCDORevisionDelta)conflict.getTargetDelta()).addFeatureDelta(targetFeatureDelta); ((InternalCDORevisionDelta)conflict.getSourceDelta()).addFeatureDelta(sourceFeatureDelta); if (featureDelta != null) result.addFeatureDelta(featureDelta);
if (featureDelta != null) result.addFeatureDelta(featureDelta, null); if (featureDelta != null) result.addFeatureDelta(featureDelta, null); ((InternalCDORevisionDelta)conflict.getTargetDelta()).addFeatureDelta(targetFeatureDelta, null); ((InternalCDORevisionDelta)conflict.getSourceDelta()).addFeatureDelta(sourceFeatureDelta, null); if (featureDelta != null) result.addFeatureDelta(featureDelta, null);
@Override protected void resolveConflict(CDOObject conflict, CDORevisionDelta localDelta, List<CDORevisionDelta> remoteDeltas) { if (hasFeatureConflicts(localDelta, remoteDeltas)) { // TODO localDelta may be corrupt already and the transaction will not be able to restore it!!! throw new CDOException(Messages.getString("AbstractObjectConflictResolver.0")); //$NON-NLS-1$ } rollbackObject(conflict); // Add remote deltas to local delta for (CDORevisionDelta remoteDelta : remoteDeltas) { for (CDOFeatureDelta remoteFeatureDelta : remoteDelta.getFeatureDeltas()) { // TODO Add public API for this: ((InternalCDORevisionDelta)localDelta).addFeatureDelta(remoteFeatureDelta); } } changeObject(conflict, localDelta); }
@Override protected void resolveConflict(CDOObject conflict, CDORevisionDelta localDelta, List<CDORevisionDelta> remoteDeltas) { if (hasFeatureConflicts(localDelta, remoteDeltas)) { // TODO localDelta may be corrupt already and the transaction will not be able to restore it!!! throw new CDOException(Messages.getString("AbstractObjectConflictResolver.0")); //$NON-NLS-1$ } rollbackObject(conflict); // Add remote deltas to local delta for (CDORevisionDelta remoteDelta : remoteDeltas) { for (CDOFeatureDelta remoteFeatureDelta : remoteDelta.getFeatureDeltas()) { // TODO Add public API for this: ((InternalCDORevisionDelta)localDelta).addFeatureDelta(remoteFeatureDelta, null); } } changeObject(conflict, localDelta); }
((InternalCDORevisionDelta)revisionDelta).addFeatureDelta(featureDelta);
((InternalCDORevisionDelta)revisionDelta).addFeatureDelta(featureDelta, new CDOOriginSizeProvider()