diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOTransactionImpl.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOTransactionImpl.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOTransactionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOTransactionImpl.java index 8c72c92f13..70fe335084 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOTransactionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOTransactionImpl.java @@ -42,6 +42,8 @@ public class CDOTransactionImpl private Map<CDOID, CDOObjectImpl> dirtyObjects = new HashMap(); + private boolean dirty; + public CDOTransactionImpl(CDOViewImpl view) { this.view = view; @@ -52,6 +54,11 @@ public class CDOTransactionImpl return view; } + public boolean isDirty() + { + return dirty; + } + public Map<CDOID, CDOResourceImpl> getNewResources() { return newResources; @@ -79,6 +86,11 @@ public class CDOTransactionImpl public void commit() { + if (!dirty) + { + return; + } + if (TRACER.isEnabled()) { TRACER.trace("commit()"); @@ -98,6 +110,7 @@ public class CDOTransactionImpl newResources.clear(); newObjects.clear(); dirtyObjects.clear(); + dirty = false; nextTemporaryID = INITIAL_TEMPORARY_ID; } catch (RuntimeException ex) @@ -155,6 +168,8 @@ public class CDOTransactionImpl { throw new ImplementationError("Duplicate ID: " + object); } + + dirty = true; } private void postCommit(Map objects, CommitTransactionResult result) |