Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerEventManager.java')
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerEventManager.java282
1 files changed, 141 insertions, 141 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerEventManager.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerEventManager.java
index c52ae8fa754..d048e9d9eae 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerEventManager.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/world/WorldXViewerEventManager.java
@@ -1,141 +1,141 @@
-/*
- * Created on Jun 30, 2010
- *
- * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
- */
-package org.eclipse.osee.ats.world;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.logging.Level;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.osee.ats.artifact.StateMachineArtifact;
-import org.eclipse.osee.ats.internal.AtsPlugin;
-import org.eclipse.osee.ats.util.AtsUtil;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
-import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
-import org.eclipse.osee.framework.skynet.core.event.Sender;
-import org.eclipse.osee.framework.skynet.core.event2.ArtifactEvent;
-import org.eclipse.osee.framework.skynet.core.event2.artifact.EventBasicGuidArtifact;
-import org.eclipse.osee.framework.skynet.core.event2.artifact.EventModType;
-import org.eclipse.osee.framework.skynet.core.event2.artifact.IArtifactEventListener;
-import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter;
-import org.eclipse.osee.framework.ui.swt.Displays;
-
-/**
- * Common location for event handling for task and world composites in order to keep number of registrations and
- * processing to a minimum.
- *
- * @author Donald G. Dunne
- */
-public class WorldXViewerEventManager implements IArtifactEventListener {
-
- List<IWorldViewerEventHandler> handlers = new ArrayList<IWorldViewerEventHandler>();
- static WorldXViewerEventManager instance;
-
- public static void add(IWorldViewerEventHandler iWorldEventHandler) {
- if (instance == null) {
- instance = new WorldXViewerEventManager();
- OseeEventManager.addListener(instance);
- }
- instance.handlers.add(iWorldEventHandler);
- }
-
- public static void remove(IWorldViewerEventHandler iWorldEventHandler) {
- if (instance != null) {
- instance.handlers.remove(iWorldEventHandler);
- }
- }
-
- @Override
- public void handleArtifactEvent(final ArtifactEvent artifactEvent, Sender sender) {
- for (IWorldViewerEventHandler handler : new CopyOnWriteArrayList<IWorldViewerEventHandler>(handlers)) {
- if (handler.isDisposed()) {
- handlers.remove(handler);
- }
- }
- try {
- if (artifactEvent.getBranchGuid() == null || !artifactEvent.getBranchGuid().equals(
- AtsUtil.getAtsBranch().getGuid())) {
- return;
- }
- } catch (OseeCoreException ex) {
- return;
- }
- final Collection<Artifact> modifiedArts =
- artifactEvent.getCacheArtifacts(EventModType.Modified, EventModType.Reloaded);
- final Collection<Artifact> relModifiedArts = artifactEvent.getRelCacheArtifacts();
- final Collection<EventBasicGuidArtifact> deletedPurgedArts =
- artifactEvent.get(EventModType.Deleted, EventModType.Purged);
-
- Displays.ensureInDisplayThread(new Runnable() {
- @Override
- public void run() {
- if (!deletedPurgedArts.isEmpty()) {
- for (IWorldViewerEventHandler handler : handlers) {
- if (!handler.isDisposed()) {
- // allow handler to remove from model
- handler.removeItems(deletedPurgedArts);
- IContentProvider contentProvider = handler.getWorldXViewer().getContentProvider();
- // remove from UI
- if (contentProvider instanceof WorldContentProvider) {
- handler.getWorldXViewer().remove(
- deletedPurgedArts.toArray(new Object[deletedPurgedArts.size()]));
- }
- }
- }
- }
- for (IWorldViewerEventHandler handler : handlers) {
- if (!handler.isDisposed()) {
- for (Artifact artifact : modifiedArts) {
- try {
- // Don't refresh deleted artifacts
- if (artifact.isDeleted()) {
- continue;
- }
- if (artifact instanceof IWorldViewArtifact) {
- handler.getWorldXViewer().refresh(artifact);
- // If parent is loaded and child changed, refresh parent
- if (artifact instanceof StateMachineArtifact && ((StateMachineArtifact) artifact).getParentAtsArtifact() instanceof IWorldViewArtifact) {
- handler.getWorldXViewer().refresh(
- ((StateMachineArtifact) artifact).getParentAtsArtifact());
- }
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- }
-
- for (Artifact art : relModifiedArts) {
- // Don't refresh deleted artifacts
- if (art.isDeleted()) {
- continue;
- }
- if (art instanceof IWorldViewArtifact) {
- handler.getWorldXViewer().refresh(art);
- // If parent is loaded and child changed, refresh parent
- try {
- if (art instanceof StateMachineArtifact && ((StateMachineArtifact) art).getParentAtsArtifact() instanceof IWorldViewArtifact) {
- handler.getWorldXViewer().refresh(((StateMachineArtifact) art).getParentAtsArtifact());
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
- }
- }
- }
- }
- }
- }
- });
- }
-
- @Override
- public List<? extends IEventFilter> getEventFilters() {
- return AtsUtil.getAtsObjectEventFilters();
- }
-
-}
+/*
+ * Created on Jun 30, 2010
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.ats.world;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.logging.Level;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.osee.ats.artifact.StateMachineArtifact;
+import org.eclipse.osee.ats.internal.AtsPlugin;
+import org.eclipse.osee.ats.util.AtsUtil;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
+import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
+import org.eclipse.osee.framework.skynet.core.event.Sender;
+import org.eclipse.osee.framework.skynet.core.event2.ArtifactEvent;
+import org.eclipse.osee.framework.skynet.core.event2.artifact.EventBasicGuidArtifact;
+import org.eclipse.osee.framework.skynet.core.event2.artifact.EventModType;
+import org.eclipse.osee.framework.skynet.core.event2.artifact.IArtifactEventListener;
+import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter;
+import org.eclipse.osee.framework.ui.swt.Displays;
+
+/**
+ * Common location for event handling for task and world composites in order to keep number of registrations and
+ * processing to a minimum.
+ *
+ * @author Donald G. Dunne
+ */
+public class WorldXViewerEventManager implements IArtifactEventListener {
+
+ List<IWorldViewerEventHandler> handlers = new ArrayList<IWorldViewerEventHandler>();
+ static WorldXViewerEventManager instance;
+
+ public static void add(IWorldViewerEventHandler iWorldEventHandler) {
+ if (instance == null) {
+ instance = new WorldXViewerEventManager();
+ OseeEventManager.addListener(instance);
+ }
+ instance.handlers.add(iWorldEventHandler);
+ }
+
+ public static void remove(IWorldViewerEventHandler iWorldEventHandler) {
+ if (instance != null) {
+ instance.handlers.remove(iWorldEventHandler);
+ }
+ }
+
+ @Override
+ public void handleArtifactEvent(final ArtifactEvent artifactEvent, Sender sender) {
+ for (IWorldViewerEventHandler handler : new CopyOnWriteArrayList<IWorldViewerEventHandler>(handlers)) {
+ if (handler.isDisposed()) {
+ handlers.remove(handler);
+ }
+ }
+ try {
+ if (artifactEvent.getBranchGuid() == null || !artifactEvent.getBranchGuid().equals(
+ AtsUtil.getAtsBranch().getGuid())) {
+ return;
+ }
+ } catch (OseeCoreException ex) {
+ return;
+ }
+ final Collection<Artifact> modifiedArts =
+ artifactEvent.getCacheArtifacts(EventModType.Modified, EventModType.Reloaded);
+ final Collection<Artifact> relModifiedArts = artifactEvent.getRelCacheArtifacts();
+ final Collection<EventBasicGuidArtifact> deletedPurgedArts =
+ artifactEvent.get(EventModType.Deleted, EventModType.Purged);
+
+ Displays.ensureInDisplayThread(new Runnable() {
+ @Override
+ public void run() {
+ if (!deletedPurgedArts.isEmpty()) {
+ for (IWorldViewerEventHandler handler : handlers) {
+ if (!handler.isDisposed()) {
+ // allow handler to remove from model
+ handler.removeItems(deletedPurgedArts);
+ IContentProvider contentProvider = handler.getWorldXViewer().getContentProvider();
+ // remove from UI
+ if (contentProvider instanceof WorldContentProvider) {
+ handler.getWorldXViewer().remove(
+ deletedPurgedArts.toArray(new Object[deletedPurgedArts.size()]));
+ }
+ }
+ }
+ }
+ for (IWorldViewerEventHandler handler : handlers) {
+ if (!handler.isDisposed()) {
+ for (Artifact artifact : modifiedArts) {
+ try {
+ // Don't refresh deleted artifacts
+ if (artifact.isDeleted()) {
+ continue;
+ }
+ if (artifact instanceof IWorldViewArtifact) {
+ handler.getWorldXViewer().refresh(artifact);
+ // If parent is loaded and child changed, refresh parent
+ if (artifact instanceof StateMachineArtifact && ((StateMachineArtifact) artifact).getParentAtsArtifact() instanceof IWorldViewArtifact) {
+ handler.getWorldXViewer().refresh(
+ ((StateMachineArtifact) artifact).getParentAtsArtifact());
+ }
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+ }
+
+ for (Artifact art : relModifiedArts) {
+ // Don't refresh deleted artifacts
+ if (art.isDeleted()) {
+ continue;
+ }
+ if (art instanceof IWorldViewArtifact) {
+ handler.getWorldXViewer().refresh(art);
+ // If parent is loaded and child changed, refresh parent
+ try {
+ if (art instanceof StateMachineArtifact && ((StateMachineArtifact) art).getParentAtsArtifact() instanceof IWorldViewArtifact) {
+ handler.getWorldXViewer().refresh(((StateMachineArtifact) art).getParentAtsArtifact());
+ }
+ } catch (OseeCoreException ex) {
+ OseeLog.log(AtsPlugin.class, Level.SEVERE, ex);
+ }
+ }
+ }
+ }
+ }
+ }
+ });
+ }
+
+ @Override
+ public List<? extends IEventFilter> getEventFilters() {
+ return AtsUtil.getAtsObjectEventFilters();
+ }
+
+}

Back to the top