diff options
author | Eike Stepper | 2015-09-13 13:01:04 +0000 |
---|---|---|
committer | Eike Stepper | 2015-09-13 13:01:04 +0000 |
commit | 65d335a670ad3ccc0777482f7cf4134c890d05c1 (patch) | |
tree | c3dd2b12f7370ebbdaff561c7b429aa2bc2ad7a7 /plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java | |
parent | 73969d5eb69779c1ca2a13fa36a9e9d2fa0b9630 (diff) | |
download | cdo-65d335a670ad3ccc0777482f7cf4134c890d05c1.tar.gz cdo-65d335a670ad3ccc0777482f7cf4134c890d05c1.tar.xz cdo-65d335a670ad3ccc0777482f7cf4134c890d05c1.zip |
[467442] Add Interactive Transaction Conflict Resolution
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=467442
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java index 4fdbf9ef48..3e926bb4e4 100644 --- a/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java +++ b/plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java @@ -20,6 +20,8 @@ import org.eclipse.emf.cdo.ui.CDOEditorUtil; import org.eclipse.emf.cdo.util.CDOURIUtil; import org.eclipse.emf.cdo.view.CDOView; +import org.eclipse.emf.internal.cdo.transaction.CDOHandlingConflictResolver; + import org.eclipse.emf.common.util.URI; import org.eclipse.emf.spi.cdo.CDOMergingConflictResolver; @@ -35,8 +37,8 @@ import org.eclipse.ui.IWorkbenchPart; */ public class CDOModelEditorOpener extends CDOEditorOpener.Default { - private static final boolean INTERACTIVE_CONFLICT_RESOLUTION = "true" - .equalsIgnoreCase(System.getProperty("INTERACTIVE_CONFLICT_RESOLUTION")); + private static final boolean INTERACTIVE_CONFLICT_RESOLUTION = !"false" + .equalsIgnoreCase(System.getProperty("cdo.interactive.conflict.resolution")); public CDOModelEditorOpener() { @@ -99,20 +101,9 @@ public class CDOModelEditorOpener extends CDOEditorOpener.Default return editor; } - @SuppressWarnings("restriction") protected void configureTransaction(CDOTransaction transaction) { - if (INTERACTIVE_CONFLICT_RESOLUTION) - { - org.eclipse.emf.internal.cdo.transaction.CDOHandlingConflictResolver conflictResolver = new org.eclipse.emf.internal.cdo.transaction.CDOHandlingConflictResolver(); - conflictResolver.setConflictHandlerSelector(new InteractiveConflictHandlerSelector()); - - transaction.options().addConflictResolver(conflictResolver); - } - else - { - transaction.options().addConflictResolver(new CDOMergingConflictResolver()); - } + addConflictResolver(transaction); } private IEditorPart openEditor(IWorkbenchPage page, CDOView view, String resourcePath) @@ -142,4 +133,19 @@ public class CDOModelEditorOpener extends CDOEditorOpener.Default return null; } + + public static void addConflictResolver(CDOTransaction transaction) + { + if (INTERACTIVE_CONFLICT_RESOLUTION) + { + CDOHandlingConflictResolver conflictResolver = new CDOHandlingConflictResolver(); + conflictResolver.setConflictHandlerSelector(new InteractiveConflictHandlerSelector()); + + transaction.options().addConflictResolver(conflictResolver); + } + else + { + transaction.options().addConflictResolver(new CDOMergingConflictResolver()); + } + } } |