diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java index 5f1608b8c5..0968432db1 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java @@ -2269,6 +2269,23 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa return rev; } + @Override + protected InternalCDORevision getRevision(CDOObject object) + { + if (object.cdoState() == CDOState.TRANSIENT) + { + InternalCDORevision revision = cleanRevisions.get(object); + if (revision == null) + { + throw new IllegalStateException("No revision for transient object " + object); + } + + return revision; + } + + return super.getRevision(object); + } + private final class ResolvingRevisionMap extends HashMap<InternalCDOObject, InternalCDORevision> { private static final long serialVersionUID = 1L; |