diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java index 4e5b154dff..6153b50d6e 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java @@ -1445,6 +1445,23 @@ public abstract class CDOSessionImpl extends CDOTransactionContainerImpl impleme public void setLockNotificationMode(LockNotificationMode lockNotificationMode) { + checkArg(lockNotificationMode, "lockNotificationMode"); //$NON-NLS-1$ + if (this.lockNotificationMode != lockNotificationMode) + { + LockNotificationMode oldMode = this.lockNotificationMode; + this.lockNotificationMode = lockNotificationMode; + CDOSessionProtocol protocol = getSessionProtocol(); + if (protocol != null) + { + protocol.setLockNotificationMode(lockNotificationMode); + + IListener[] listeners = getListeners(); + if (listeners != null) + { + fireEvent(new LockNotificationModeEventImpl(oldMode, lockNotificationMode), listeners); + } + } + } this.lockNotificationMode = lockNotificationMode; } @@ -1589,6 +1606,33 @@ public abstract class CDOSessionImpl extends CDOTransactionContainerImpl impleme } /** + * @author Caspar De Groot + */ + private final class LockNotificationModeEventImpl extends OptionsEvent implements LockNotificationModeEvent + { + private static final long serialVersionUID = 1L; + + private LockNotificationMode oldMode, newMode; + + public LockNotificationModeEventImpl(LockNotificationMode oldMode, LockNotificationMode newMode) + { + super(OptionsImpl.this); + this.oldMode = oldMode; + this.newMode = newMode; + } + + public LockNotificationMode getOldMode() + { + return oldMode; + } + + public LockNotificationMode getNewMode() + { + return newMode; + } + } + + /** * @author Eike Stepper */ private final class CollectionLoadingPolicyEventImpl extends OptionsEvent implements CollectionLoadingPolicyEvent |