Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2015-09-13 13:01:04 +0000
committerEike Stepper2015-09-13 13:01:04 +0000
commit65d335a670ad3ccc0777482f7cf4134c890d05c1 (patch)
treec3dd2b12f7370ebbdaff561c7b429aa2bc2ad7a7 /plugins/org.eclipse.emf.cdo.explorer.ui/src/org/eclipse/emf/cdo/explorer/ui/checkouts/CDOModelEditorOpener.java
parent73969d5eb69779c1ca2a13fa36a9e9d2fa0b9630 (diff)
downloadcdo-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.java34
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());
+ }
+ }
}

Back to the top