Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2013-03-17 09:18:34 +0000
committerEike Stepper2013-03-17 17:16:06 +0000
commitcf6c29f8a8c059c6b8d9d8449700b5c807641c87 (patch)
tree3bc5da3cbce6c90412c82b588c4fb08c89effeac /plugins/org.eclipse.emf.cdo/src
parent1b69ce45f7ee434081c356355c8bf55faa07bfc7 (diff)
downloadcdo-cf6c29f8a8c059c6b8d9d8449700b5c807641c87.tar.gz
cdo-cf6c29f8a8c059c6b8d9d8449700b5c807641c87.tar.xz
cdo-cf6c29f8a8c059c6b8d9d8449700b5c807641c87.zip
[396804] CDOMergingConflictResolver tests
https://bugs.eclipse.org/bugs/show_bug.cgi?id=396804
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src')
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java2
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/AbstractChangeSetsConflictResolver.java5
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java18
3 files changed, 23 insertions, 2 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java
index 85a76eb0e7..f91b2ea743 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java
@@ -68,6 +68,7 @@ import org.eclipse.net4j.util.concurrent.QueueRunner;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.event.IListener;
import org.eclipse.net4j.util.event.Notifier;
+import org.eclipse.net4j.util.event.ThrowableEvent;
import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
import org.eclipse.net4j.util.om.log.OMLogger;
import org.eclipse.net4j.util.om.monitor.EclipseMonitor;
@@ -864,6 +865,7 @@ public class CDOViewImpl extends AbstractCDOView
{
if (isActive())
{
+ fireEvent(new ThrowableEvent(this, ex));
throw ex;
}
}
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/AbstractChangeSetsConflictResolver.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/AbstractChangeSetsConflictResolver.java
index 20f38f0f32..06c7423266 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/AbstractChangeSetsConflictResolver.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/AbstractChangeSetsConflictResolver.java
@@ -89,6 +89,11 @@ public abstract class AbstractChangeSetsConflictResolver extends AbstractConflic
public CDOChangeSet getRemoteChangeSet()
{
CDOChangeSetData changeSetData = remoteInvalidationEvents.getChangeSetData();
+ if (changeSetData == null)
+ {
+ return null;
+ }
+
return createChangeSet(changeSetData);
}
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java
index d765f08f30..a70f574c13 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/CDOMergingConflictResolver.java
@@ -30,6 +30,11 @@ import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionDelta;
import org.eclipse.emf.cdo.transaction.CDOMerger;
import org.eclipse.emf.cdo.transaction.CDOMerger.ConflictException;
+import org.eclipse.emf.internal.cdo.bundle.OM;
+import org.eclipse.emf.internal.cdo.view.CDOViewImpl;
+
+import org.eclipse.net4j.util.om.trace.ContextTracer;
+
import org.eclipse.emf.ecore.EStructuralFeature;
import java.util.HashMap;
@@ -44,6 +49,8 @@ import java.util.Set;
*/
public class CDOMergingConflictResolver extends AbstractChangeSetsConflictResolver
{
+ private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_VIEW, CDOViewImpl.class);
+
private CDOMerger merger;
public CDOMergingConflictResolver(CDOMerger merger)
@@ -204,7 +211,6 @@ public class CDOMergingConflictResolver extends AbstractChangeSetsConflictResolv
}
catch (RuntimeException ex)
{
- ex.printStackTrace();
throw ex;
}
}
@@ -214,7 +220,15 @@ public class CDOMergingConflictResolver extends AbstractChangeSetsConflictResolv
Map<CDOID, CDORevisionDelta> remoteDeltas = new HashMap<CDOID, CDORevisionDelta>();
for (CDORevisionKey key : remoteChangeSet.getChangedObjects())
{
- remoteDeltas.put(key.getID(), (CDORevisionDelta)key);
+ if (key instanceof CDORevisionDelta)
+ {
+ CDORevisionDelta delta = (CDORevisionDelta)key;
+ remoteDeltas.put(key.getID(), delta);
+ }
+ else if (TRACER.isEnabled())
+ {
+ TRACER.format("Not a CDORevisionDelta: {0}", key); //$NON-NLS-1$
+ }
}
return remoteDeltas;

Back to the top