Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon McDuff2008-11-03 01:30:51 +0000
committerSimon McDuff2008-11-03 01:30:51 +0000
commitae3b7dec3b6909d34aa086fcfcc5525175b7e066 (patch)
tree233f9a514d88d0a936311528bde2a3ec3fa8c1d8
parent164b9ba5540a0412baba24293618abe1d09313aa (diff)
downloadcdo-ae3b7dec3b6909d34aa086fcfcc5525175b7e066.tar.gz
cdo-ae3b7dec3b6909d34aa086fcfcc5525175b7e066.tar.xz
cdo-ae3b7dec3b6909d34aa086fcfcc5525175b7e066.zip
[253103] Revised revision for nothing when committing
https://bugs.eclipse.org/bugs/show_bug.cgi?id=253103
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOSessionImpl.java26
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/SyncRevisionRequest.java2
2 files changed, 17 insertions, 11 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOSessionImpl.java
index 9645fa4e10..8dc6b67c1f 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOSessionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOSessionImpl.java
@@ -678,18 +678,24 @@ public class CDOSessionImpl extends Container<CDOView> implements CDOSession, CD
private void notifyInvalidation(final long timeStamp, Set<CDOIDAndVersion> dirtyOIDs,
Collection<CDOID> detachedObjects, CDOViewImpl excludedView, boolean async)
{
- for (CDOIDAndVersion dirtyOID : dirtyOIDs)
+
+ // revised is done automatically when postCommit is CDOTransaction.postCommit is happening
+ // Detached are not revised through postCommit
+ if (excludedView == null || timeStamp == CDORevision.UNSPECIFIED_DATE)
{
- CDOID id = dirtyOID.getID();
- int version = dirtyOID.getVersion();
- InternalCDORevision revision = revisionManager.getRevisionByVersion(id, 0, version, false);
- if (timeStamp == CDORevision.UNSPECIFIED_DATE)
- {
- revisionManager.removeCachedRevision(revision.getID(), revision.getVersion());
- }
- else if (revision != null)
+ for (CDOIDAndVersion dirtyOID : dirtyOIDs)
{
- revision.setRevised(timeStamp - 1);
+ CDOID id = dirtyOID.getID();
+ int version = dirtyOID.getVersion();
+ InternalCDORevision revision = revisionManager.getRevisionByVersion(id, 0, version, false);
+ if (timeStamp == CDORevision.UNSPECIFIED_DATE)
+ {
+ revisionManager.removeCachedRevision(revision.getID(), revision.getVersion());
+ }
+ else if (revision != null)
+ {
+ revision.setRevised(timeStamp - 1);
+ }
}
}
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/SyncRevisionRequest.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/SyncRevisionRequest.java
index e5ff6c7fea..0b9cf12a83 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/SyncRevisionRequest.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/SyncRevisionRequest.java
@@ -144,7 +144,7 @@ public class SyncRevisionRequest extends CDOClientRequest<Collection<CDOTimeStam
result = new CDOTimeStampContextImpl(timestamp);
mapOfContext.put(timestamp, result);
}
-
+
return result;
}
}

Back to the top