Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOCallbackImpl.java')
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOCallbackImpl.java44
1 files changed, 26 insertions, 18 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOCallbackImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOCallbackImpl.java
index fd22c24da1..65c31b5516 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOCallbackImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOCallbackImpl.java
@@ -16,6 +16,7 @@ import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.CDOCallback;
import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.internal.cdo.bundle.OM;
import org.eclipse.emf.internal.cdo.util.FSMUtil;
/**
@@ -41,35 +42,42 @@ public class CDOCallbackImpl extends CDOAdapterImpl implements CDOCallback
@Override
public void notifyChanged(Notification msg)
{
- if (msg.getNotifier() == instance)
+ try
{
- Object feature = msg.getFeature();
- if (feature instanceof EReference)
+ if (msg.getNotifier() == instance)
{
- EReference reference = (EReference)feature;
- if (reference.isContainment())
+ Object feature = msg.getFeature();
+ if (feature instanceof EReference)
{
- switch (msg.getEventType())
+ EReference reference = (EReference)feature;
+ if (reference.isContainment())
{
- case Notification.ADD:
- notifyAdd((InternalEObject)msg.getNewValue());
- break;
+ switch (msg.getEventType())
+ {
+ case Notification.ADD:
+ notifyAdd((InternalEObject)msg.getNewValue());
+ break;
- case Notification.ADD_MANY:
- notifyAddMany(msg);
- break;
+ case Notification.ADD_MANY:
+ notifyAddMany(msg);
+ break;
- case Notification.REMOVE:
- notifyRemove((InternalEObject)msg.getOldValue());
- break;
+ case Notification.REMOVE:
+ notifyRemove((InternalEObject)msg.getOldValue());
+ break;
- case Notification.REMOVE_MANY:
- notifyRemoveMany(msg);
- break;
+ case Notification.REMOVE_MANY:
+ notifyRemoveMany(msg);
+ break;
+ }
}
}
}
}
+ catch (RuntimeException ex)
+ {
+ OM.LOG.error(ex);
+ }
}
@Override

Back to the top