diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/object/CDOObjectWrapper.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/object/CDOObjectWrapper.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/object/CDOObjectWrapper.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/object/CDOObjectWrapper.java index f0c3d8f120..1ed94f3a5e 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/object/CDOObjectWrapper.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/object/CDOObjectWrapper.java @@ -177,7 +177,12 @@ public abstract class CDOObjectWrapper implements InternalCDOObject */ public CDOLock cdoReadLock() { - if (FSMUtil.isTransient(this) || FSMUtil.isNew(this)) + if (FSMUtil.isTransient(this)) + { + throw new IllegalStateException("Call CDOView.lockObjects() for transient object " + this); + } + + if (FSMUtil.isNew(this)) { return CDOLockImpl.NOOP; } @@ -190,7 +195,12 @@ public abstract class CDOObjectWrapper implements InternalCDOObject */ public CDOLock cdoWriteLock() { - if (FSMUtil.isTransient(this) || FSMUtil.isNew(this)) + if (FSMUtil.isTransient(this)) + { + throw new IllegalStateException("Call CDOView.lockObjects() for transient object " + this); + } + + if (FSMUtil.isNew(this)) { return CDOLockImpl.NOOP; } @@ -203,7 +213,12 @@ public abstract class CDOObjectWrapper implements InternalCDOObject */ public CDOLock cdoWriteOption() { - if (FSMUtil.isTransient(this) || FSMUtil.isNew(this)) + if (FSMUtil.isTransient(this)) + { + throw new IllegalStateException("Call CDOView.lockObjects() for transient object " + this); + } + + if (FSMUtil.isNew(this)) { return CDOLockImpl.NOOP; } |