Package org.eclipse.emf.spi.cdo
Class CDOMergingConflictResolver
java.lang.Object
org.eclipse.emf.spi.cdo.AbstractConflictResolver
org.eclipse.emf.spi.cdo.AbstractChangeSetsConflictResolver
org.eclipse.emf.spi.cdo.CDOMergingConflictResolver
- All Implemented Interfaces:
CDOConflictResolver,CDOConflictResolver.NonConflictAware
Reconciles local transaction edits with change sets received from the repository by passing both sides to a
CDOMerger. It applies the resulting revision changes to the transaction and records whether unresolved
conflicts remain, which lets the pre-commit path decide whether the transaction can be committed.- Since:
- 4.0
- Author:
- Eike Stepper
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOConflictResolver
CDOConflictResolver.NonConflictAware -
Constructor Summary
ConstructorsConstructorDescriptionCDOMergingConflictResolver(boolean ensureRemoteNotifications) CDOMergingConflictResolver(CDOMerger merger) CDOMergingConflictResolver(CDOMerger merger, boolean ensureRemoteNotifications) CDOMergingConflictResolver(DefaultCDOMerger.ResolutionPreference resolutionPreference) CDOMergingConflictResolver(DefaultCDOMerger.ResolutionPreference resolutionPreference, boolean ensureRemoteNotifications) -
Method Summary
Modifier and TypeMethodDescriptionlongprotected CDOChangeSetDatahandleConflict(CDOChangeSetData result) protected voidhookTransaction(CDOTransaction transaction) booleanvoidresolveConflicts(Set<CDOObject> conflicts) Resolves conflicts after remote invalidations arrived for objects that are locally dirty or detached.protected voidresolveConflicts(Set<CDOObject> conflicts, CDOChangeSet remoteChangeSet) protected voidtransactionCommitted(CDOCommitContext commitContext) protected voidMethods inherited from class org.eclipse.emf.spi.cdo.AbstractChangeSetsConflictResolver
getLocalChangeSet, getLocalChangeSetData, getRemoteChangeSet, getRemoteChangeSetData, getRemoteTimeStamp, handleNonConflict, transactionAttachingObject, transactionCommitting, transactionDetachingObject, transactionModifyingObject, unhookTransactionMethods inherited from class org.eclipse.emf.spi.cdo.AbstractConflictResolver
getTransaction, setTransactionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.emf.cdo.transaction.CDOConflictResolver
getTransaction, setTransaction
-
Constructor Details
-
CDOMergingConflictResolver
-
CDOMergingConflictResolver
- Parameters:
ensureRemoteNotifications- boolean to disable the use ofCDOAdapterPolicyto ensure remote changes reception for conflict resolution, true by default. Can be disabled to limit network traffic whenCDOCommonSession.Options.PassiveUpdateModeis enabled and inCDOCommonSession.Options.PassiveUpdateMode.CHANGESorCDOCommonSession.Options.PassiveUpdateMode.ADDITIONS- Since:
- 4.4
-
CDOMergingConflictResolver
- Since:
- 4.2
-
CDOMergingConflictResolver
public CDOMergingConflictResolver(DefaultCDOMerger.ResolutionPreference resolutionPreference, boolean ensureRemoteNotifications) - Parameters:
ensureRemoteNotifications- boolean to disable the use ofCDOAdapterPolicyto ensure remote changes reception for conflict resolution, true by default. Can be disabled to limit network traffic whenCDOCommonSession.Options.PassiveUpdateModeis enabled and inCDOCommonSession.Options.PassiveUpdateMode.CHANGESorCDOCommonSession.Options.PassiveUpdateMode.ADDITIONS- Since:
- 4.4
-
CDOMergingConflictResolver
public CDOMergingConflictResolver()- Since:
- 4.4
-
CDOMergingConflictResolver
public CDOMergingConflictResolver(boolean ensureRemoteNotifications) - Parameters:
ensureRemoteNotifications- boolean to disable the use ofCDOAdapterPolicyto ensure remote changes reception for conflict resolution, true by default. Can be disabled to limit network traffic whenCDOCommonSession.Options.PassiveUpdateModeis enabled and inCDOCommonSession.Options.PassiveUpdateMode.CHANGESorCDOCommonSession.Options.PassiveUpdateMode.ADDITIONS- Since:
- 4.4
-
-
Method Details
-
getMerger
-
getLastNonConflictTimeStamp
public long getLastNonConflictTimeStamp()- Since:
- 4.4
-
isConflict
public boolean isConflict()- Since:
- 4.4
-
resolveConflicts
Description copied from interface:CDOConflictResolverResolves conflicts after remote invalidations arrived for objects that are locally dirty or detached. -
resolveConflicts
- Since:
- 4.4
-
handleConflict
- Since:
- 4.4
-
hookTransaction
- Overrides:
hookTransactionin classAbstractChangeSetsConflictResolver
-
transactionCommitted
- Overrides:
transactionCommittedin classAbstractChangeSetsConflictResolver
-
transactionRolledBack
protected void transactionRolledBack()- Overrides:
transactionRolledBackin classAbstractChangeSetsConflictResolver
-