diff options
author | Simon McDuff | 2008-11-03 01:30:51 +0000 |
---|---|---|
committer | Simon McDuff | 2008-11-03 01:30:51 +0000 |
commit | ae3b7dec3b6909d34aa086fcfcc5525175b7e066 (patch) | |
tree | 233f9a514d88d0a936311528bde2a3ec3fa8c1d8 | |
parent | 164b9ba5540a0412baba24293618abe1d09313aa (diff) | |
download | cdo-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.java | 26 | ||||
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/protocol/SyncRevisionRequest.java | 2 |
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; } } |