diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org')
-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; } } |