diff options
author | ddunne | 2010-07-19 16:47:25 +0000 |
---|---|---|
committer | ddunne | 2010-07-19 16:47:25 +0000 |
commit | 43015099824247d7363e4215afc75b58eb77b4fe (patch) | |
tree | 5ebcc45be78b2373f364731570161d02705e8fbc /plugins/org.eclipse.osee.coverage | |
parent | f84ba4f315faee9f79c3c341098dc5b0d074555c (diff) | |
download | org.eclipse.osee-43015099824247d7363e4215afc75b58eb77b4fe.tar.gz org.eclipse.osee-43015099824247d7363e4215afc75b58eb77b4fe.tar.xz org.eclipse.osee-43015099824247d7363e4215afc75b58eb77b4fe.zip |
Events - UI - remove FrameworkEventManager
Diffstat (limited to 'plugins/org.eclipse.osee.coverage')
-rw-r--r-- | plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java | 342 |
1 files changed, 171 insertions, 171 deletions
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java index 13c341e1d42..0643f2fd446 100644 --- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java +++ b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/event/CoverageEventManager.java @@ -8,174 +8,174 @@ * Contributors: * Boeing - initial API and implementation *******************************************************************************/ -package org.eclipse.osee.coverage.event;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-import org.eclipse.osee.coverage.editor.CoverageEditor;
-import org.eclipse.osee.coverage.internal.Activator;
-import org.eclipse.osee.coverage.msgs.CoveragePackageSave;
-import org.eclipse.osee.coverage.store.CoverageArtifactTypes;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.logging.OseeLevel;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.messaging.ConnectionNode;
-import org.eclipse.osee.framework.messaging.OseeMessagingListener;
-import org.eclipse.osee.framework.messaging.OseeMessagingStatusCallback;
-import org.eclipse.osee.framework.messaging.ReplyConnection;
-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.FrameworkEventManager;
-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.ArtifactTypeEventFilter;
-import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Donald G. Dunne
- */
-public class CoverageEventManager implements IArtifactEventListener, OseeMessagingStatusCallback {
-
- private static CoverageEventManager instance;
- private List<CoverageEditor> editors = new ArrayList<CoverageEditor>();
- private ArtifactTypeEventFilter artifactTypeEventFilter;
- private ConnectionNode connectionNode;
- private OseeMessagingTracker oseeMessagingTracker;
-
- private CoverageEventManager() {
- }
-
- public static CoverageEventManager getInstance() {
- if (instance == null) {
- instance = new CoverageEventManager();
- }
- return instance;
- }
-
- public static void dispose() {
- if (instance != null) {
- instance.stopListeneingForFrameworkEvents();
- instance.stopListeningForRemoteCoverageEvents();
- instance.editors.clear();
- instance.oseeMessagingTracker.close();
- instance = null;
- }
- }
-
- private void stopListeneingForFrameworkEvents() {
- FrameworkEventManager.removeListener(this);
- }
-
- private void startListeningForFrameworkEvents() {
- FrameworkEventManager.addListener(this);
- }
-
- private ArtifactTypeEventFilter createArtifactTypeEventFilter() {
- if (artifactTypeEventFilter == null) {
- artifactTypeEventFilter =
- new ArtifactTypeEventFilter(CoverageArtifactTypes.CoverageFolder, CoverageArtifactTypes.CoverageUnit,
- CoverageArtifactTypes.CoveragePackage);
- }
- return artifactTypeEventFilter;
- }
-
- private void startListeningForRemoteCoverageEvents() {
- if (oseeMessagingTracker == null) {
- oseeMessagingTracker = new OseeMessagingTracker();
- oseeMessagingTracker.open(true);
- }
- }
-
- private void stopListeningForRemoteCoverageEvents() {
- oseeMessagingTracker.close();
- oseeMessagingTracker = null;
- }
-
- public void addingRemoteEventService(ConnectionNode connectionNode) {
- this.connectionNode = connectionNode;
- connectionNode.subscribe(CoverageMessages.CoveragePackageSave, new CoverageMessageListener(), instance);
- }
-
- public void sendRemoteEvent(CoveragePackageSave packSave) {
- System.out.println(String.format("Sending CoveragePackageSave [%s]", packSave.getName()));
- if (connectionNode != null) {
- try {
- connectionNode.send(CoverageMessages.CoveragePackageSave, packSave, instance);
- } catch (OseeCoreException ex) {
- OseeLog.log(Activator.class, OseeLevel.SEVERE, ex);
- }
- }
- }
-
- public void register(CoverageEditor coverageEditor) throws OseeCoreException {
- editors.add(coverageEditor);
- startListeningForRemoteCoverageEvents();
- startListeningForFrameworkEvents();
- }
-
- public void unregister(CoverageEditor coverageEditor) throws OseeCoreException {
- editors.remove(coverageEditor);
- if (editors.isEmpty()) {
- stopListeningForRemoteCoverageEvents();
- stopListeneingForFrameworkEvents();
- }
- }
-
- @Override
- public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) {
- for (CoverageEditor editor : editors) {
- try {
- for (EventBasicGuidArtifact eventArt : artifactEvent.getArtifacts()) {
- if (editor.getCoverageEditorInput().getCoveragePackageArtifact() == null) return;
- if (editor.getCoverageEditorInput().getCoveragePackageArtifact().getBranch().getGuid() != eventArt.getBranchGuid()) return;
- if (eventArt.getModType() == EventModType.Deleted || eventArt.getModType() == EventModType.ChangeType || eventArt.getModType() == EventModType.Purged) {
- if (eventArt.getGuid().equals(editor.getCoverageEditorInput().getCoveragePackageArtifact().getGuid())) {
- unregister(editor);
- editor.closeEditor();
- }
- }
- }
- } catch (OseeCoreException ex) {
- OseeLog.log(Activator.class, OseeLevel.SEVERE, ex);
- }
- }
- }
-
- @Override
- public void fail(Throwable th) {
- OseeLog.log(CoverageEventManager.class, Level.SEVERE, th);
- }
-
- @Override
- public void success() {
- }
-
- public class CoverageMessageListener extends OseeMessagingListener {
-
- public CoverageMessageListener() {
- super(CoveragePackageSave.class);
- }
-
- @Override
- public void process(final Object message, Map<String, Object> headers, ReplyConnection replyConnection) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- CoveragePackageSave packSave = (CoveragePackageSave) message;
- System.out.println(String.format("Receiving CoveragePackageSave [%s]", packSave.getName()));
- }
- });
- }
- }
-
- @Override
- public List<? extends IEventFilter> getEventFilters() {
- return Arrays.asList(createArtifactTypeEventFilter());
- }
-
-}
+package org.eclipse.osee.coverage.event; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; +import org.eclipse.osee.coverage.editor.CoverageEditor; +import org.eclipse.osee.coverage.internal.Activator; +import org.eclipse.osee.coverage.msgs.CoveragePackageSave; +import org.eclipse.osee.coverage.store.CoverageArtifactTypes; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.logging.OseeLevel; +import org.eclipse.osee.framework.logging.OseeLog; +import org.eclipse.osee.framework.messaging.ConnectionNode; +import org.eclipse.osee.framework.messaging.OseeMessagingListener; +import org.eclipse.osee.framework.messaging.OseeMessagingStatusCallback; +import org.eclipse.osee.framework.messaging.ReplyConnection; +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.ArtifactTypeEventFilter; +import org.eclipse.osee.framework.skynet.core.event2.filter.IEventFilter; +import org.eclipse.ui.PlatformUI; + +/** + * @author Donald G. Dunne + */ +public class CoverageEventManager implements IArtifactEventListener, OseeMessagingStatusCallback { + + private static CoverageEventManager instance; + private List<CoverageEditor> editors = new ArrayList<CoverageEditor>(); + private ArtifactTypeEventFilter artifactTypeEventFilter; + private ConnectionNode connectionNode; + private OseeMessagingTracker oseeMessagingTracker; + + private CoverageEventManager() { + } + + public static CoverageEventManager getInstance() { + if (instance == null) { + instance = new CoverageEventManager(); + } + return instance; + } + + public static void dispose() { + if (instance != null) { + instance.stopListeneingForFrameworkEvents(); + instance.stopListeningForRemoteCoverageEvents(); + instance.editors.clear(); + instance.oseeMessagingTracker.close(); + instance = null; + } + } + + private void stopListeneingForFrameworkEvents() { + OseeEventManager.removeListener(this); + } + + private void startListeningForFrameworkEvents() { + OseeEventManager.addListener(this); + } + + private ArtifactTypeEventFilter createArtifactTypeEventFilter() { + if (artifactTypeEventFilter == null) { + artifactTypeEventFilter = + new ArtifactTypeEventFilter(CoverageArtifactTypes.CoverageFolder, CoverageArtifactTypes.CoverageUnit, + CoverageArtifactTypes.CoveragePackage); + } + return artifactTypeEventFilter; + } + + private void startListeningForRemoteCoverageEvents() { + if (oseeMessagingTracker == null) { + oseeMessagingTracker = new OseeMessagingTracker(); + oseeMessagingTracker.open(true); + } + } + + private void stopListeningForRemoteCoverageEvents() { + oseeMessagingTracker.close(); + oseeMessagingTracker = null; + } + + public void addingRemoteEventService(ConnectionNode connectionNode) { + this.connectionNode = connectionNode; + connectionNode.subscribe(CoverageMessages.CoveragePackageSave, new CoverageMessageListener(), instance); + } + + public void sendRemoteEvent(CoveragePackageSave packSave) { + System.out.println(String.format("Sending CoveragePackageSave [%s]", packSave.getName())); + if (connectionNode != null) { + try { + connectionNode.send(CoverageMessages.CoveragePackageSave, packSave, instance); + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, OseeLevel.SEVERE, ex); + } + } + } + + public void register(CoverageEditor coverageEditor) throws OseeCoreException { + editors.add(coverageEditor); + startListeningForRemoteCoverageEvents(); + startListeningForFrameworkEvents(); + } + + public void unregister(CoverageEditor coverageEditor) throws OseeCoreException { + editors.remove(coverageEditor); + if (editors.isEmpty()) { + stopListeningForRemoteCoverageEvents(); + stopListeneingForFrameworkEvents(); + } + } + + @Override + public void handleArtifactEvent(ArtifactEvent artifactEvent, Sender sender) { + for (CoverageEditor editor : editors) { + try { + for (EventBasicGuidArtifact eventArt : artifactEvent.getArtifacts()) { + if (editor.getCoverageEditorInput().getCoveragePackageArtifact() == null) return; + if (editor.getCoverageEditorInput().getCoveragePackageArtifact().getBranch().getGuid() != eventArt.getBranchGuid()) return; + if (eventArt.getModType() == EventModType.Deleted || eventArt.getModType() == EventModType.ChangeType || eventArt.getModType() == EventModType.Purged) { + if (eventArt.getGuid().equals(editor.getCoverageEditorInput().getCoveragePackageArtifact().getGuid())) { + unregister(editor); + editor.closeEditor(); + } + } + } + } catch (OseeCoreException ex) { + OseeLog.log(Activator.class, OseeLevel.SEVERE, ex); + } + } + } + + @Override + public void fail(Throwable th) { + OseeLog.log(CoverageEventManager.class, Level.SEVERE, th); + } + + @Override + public void success() { + } + + public class CoverageMessageListener extends OseeMessagingListener { + + public CoverageMessageListener() { + super(CoveragePackageSave.class); + } + + @Override + public void process(final Object message, Map<String, Object> headers, ReplyConnection replyConnection) { + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + CoveragePackageSave packSave = (CoveragePackageSave) message; + System.out.println(String.format("Receiving CoveragePackageSave [%s]", packSave.getName())); + } + }); + } + } + + @Override + public List<? extends IEventFilter> getEventFilters() { + return Arrays.asList(createArtifactTypeEventFilter()); + } + +} |