diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOAdapterImpl.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOAdapterImpl.java | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOAdapterImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOAdapterImpl.java index 8c0bbd80a6..831020b7e6 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOAdapterImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOAdapterImpl.java @@ -121,20 +121,22 @@ public class CDOAdapterImpl extends AdapterImpl implements InternalCDOObject @Override public void notifyChanged(Notification msg) { - if (msg.getEventType() == Notification.RESOLVE) - { - return; - } - - if (msg.getNotifier() instanceof InternalEObject) + switch (msg.getEventType()) { + case Notification.ADD: + case Notification.ADD_MANY: + case Notification.REMOVE: + case Notification.REMOVE_MANY: + case Notification.MOVE: + case Notification.SET: + case Notification.UNSET: InternalEObject notifier = (InternalEObject)msg.getNotifier(); - if (!notifier.eIsProxy()) + if (notifier != getTarget() || notifier.eIsProxy()) { - System.out.println(msg); - // TODO Implement method CDOAdapterImpl.notifyChanged() - throw new UnsupportedOperationException("Not yet implemented"); + return; } + + CDOStateMachine.INSTANCE.write(this); } } |