Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java21
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;
}

Back to the top