Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java15
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)

Back to the top