diff options
author | Eike Stepper | 2009-11-05 18:46:16 +0000 |
---|---|---|
committer | Eike Stepper | 2009-11-05 18:46:16 +0000 |
commit | 39722b8c3978c68490e619df26539320ea2a832d (patch) | |
tree | 0be38f48188aeedc3d329fda5197e57aab6a9531 /plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo | |
parent | e7436e4fc369522df8c326e31fd8c42b153754d0 (diff) | |
download | cdo-39722b8c3978c68490e619df26539320ea2a832d.tar.gz cdo-39722b8c3978c68490e619df26539320ea2a832d.tar.xz cdo-39722b8c3978c68490e619df26539320ea2a832d.zip |
[289880] Emit CDOView events after all adapters have been notified
https://bugs.eclipse.org/bugs/show_bug.cgi?id=289880
Diffstat (limited to 'plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo')
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java | 2 | ||||
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java | 34 |
2 files changed, 35 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java index 9874b0396d..d75935fb50 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java @@ -610,6 +610,8 @@ public abstract class CDOSessionImpl extends Container<CDOView> implements Inter { ((InternalCDOTransaction)view).handleConflicts(conflicts); } + + view.fireAdaptersNotifiedEvent(timeStamp); } catch (RuntimeException ex) { diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java index 901ae32e66..07f9f86845 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOViewImpl.java @@ -47,6 +47,7 @@ import org.eclipse.emf.cdo.view.CDOQuery; import org.eclipse.emf.cdo.view.CDORevisionPrefetchingPolicy; import org.eclipse.emf.cdo.view.CDOStaleReferencePolicy; import org.eclipse.emf.cdo.view.CDOView; +import org.eclipse.emf.cdo.view.CDOViewAdaptersNotifiedEvent; import org.eclipse.emf.cdo.view.CDOViewEvent; import org.eclipse.emf.cdo.view.CDOViewInvalidationEvent; @@ -1304,7 +1305,7 @@ public class CDOViewImpl extends Lifecycle implements InternalCDOView /** * @since 2.0 */ - public void fireInvalidationEvent(long timeStamp, Set<? extends CDOObject> dirtyObjects, + private void fireInvalidationEvent(long timeStamp, Set<? extends CDOObject> dirtyObjects, Set<? extends CDOObject> detachedObjects) { if (!dirtyObjects.isEmpty() || !detachedObjects.isEmpty()) @@ -1317,6 +1318,11 @@ public class CDOViewImpl extends Lifecycle implements InternalCDOView } } + public void fireAdaptersNotifiedEvent(long timeStamp) + { + fireEvent(new AdaptersNotifiedEvent(timeStamp)); + } + /** * @since 2.0 */ @@ -2024,6 +2030,32 @@ public class CDOViewImpl extends Lifecycle implements InternalCDOView /** * @author Eike Stepper + */ + private final class AdaptersNotifiedEvent extends Event implements CDOViewAdaptersNotifiedEvent + { + private static final long serialVersionUID = 1L; + + private long timeStamp; + + public AdaptersNotifiedEvent(long timeStamp) + { + this.timeStamp = timeStamp; + } + + public long getTimeStamp() + { + return timeStamp; + } + + @Override + public String toString() + { + return "CDOViewAdaptersNotifiedEvent: " + timeStamp; //$NON-NLS-1$ + } + } + + /** + * @author Eike Stepper * @since 2.0 */ protected class OptionsImpl extends Notifier implements Options |