Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-08-03 16:33:43 +0000
committerddunne2010-08-03 16:33:43 +0000
commitee6619de5c84210ee39e1ba2730ca86f97e44ae7 (patch)
tree361cc7f76a5357eb34e92389e645d81a8e476158
parentc4585ecdfb63ba31f7d27c624f5ce3eda041f2a4 (diff)
downloadorg.eclipse.osee-ee6619de5c84210ee39e1ba2730ca86f97e44ae7.tar.gz
org.eclipse.osee-ee6619de5c84210ee39e1ba2730ca86f97e44ae7.tar.xz
org.eclipse.osee-ee6619de5c84210ee39e1ba2730ca86f97e44ae7.zip
Events - jms active
-rw-r--r--plugins/org.eclipse.osee.framework.messaging.event.res/src/org/eclipse/osee/framework/messaging/event/res/ResEventManager.java52
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager.java8
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager2.java15
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeBuildTypeContributionItem.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeContributionItem.java5
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ResServiceContributionItem.java2
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java24
-rw-r--r--plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java7
8 files changed, 99 insertions, 16 deletions
diff --git a/plugins/org.eclipse.osee.framework.messaging.event.res/src/org/eclipse/osee/framework/messaging/event/res/ResEventManager.java b/plugins/org.eclipse.osee.framework.messaging.event.res/src/org/eclipse/osee/framework/messaging/event/res/ResEventManager.java
index d76ad4338fa..812ee3eb3c1 100644
--- a/plugins/org.eclipse.osee.framework.messaging.event.res/src/org/eclipse/osee/framework/messaging/event/res/ResEventManager.java
+++ b/plugins/org.eclipse.osee.framework.messaging.event.res/src/org/eclipse/osee/framework/messaging/event/res/ResEventManager.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.framework.messaging.event.res;
import java.rmi.RemoteException;
import java.util.Map;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.messaging.ConnectionListener;
import org.eclipse.osee.framework.messaging.ConnectionNode;
import org.eclipse.osee.framework.messaging.OseeMessagingListener;
import org.eclipse.osee.framework.messaging.OseeMessagingStatusCallback;
@@ -32,8 +32,10 @@ public class ResEventManager implements OseeMessagingStatusCallback {
private ConnectionNode connectionNode;
private ResMessagingTracker resMessagingTracker;
private IFrameworkEventListener frameworkEventListener;
+ private ResConnectionListener connectionListener;
private ResEventManager() {
+ // private
}
public static ResEventManager getInstance() {
@@ -64,14 +66,34 @@ public class ResEventManager implements OseeMessagingStatusCallback {
System.out.println("De-Registering Client for Remote Events\n");
resMessagingTracker.close();
resMessagingTracker = null;
+ connectionListener = null;
}
public boolean isConnected() {
- return resMessagingTracker != null;
+ if (resMessagingTracker != null && resMessagingTracker.getConnectionNode() != null && connectionListener != null && connectionListener.isConnected()) {
+ return true;
+ }
+ return false;
+ }
+
+ public String getConnectionInfo() {
+ if (resMessagingTracker == null) {
+ return "Can't get RES Message Tracker";
+ }
+ if (resMessagingTracker.getConnectionNode() == null) {
+ return "RES Connection Node == null";
+ }
+ if (connectionListener == null || !connectionListener.isConnected()) {
+ return "ActiveMQ JMS Service is down";
+ }
+ return "Connected";
}
public void addingRemoteEventService(ConnectionNode connectionNode) {
this.connectionNode = connectionNode;
+ connectionListener = new ResConnectionListener();
+ connectionNode.addConnectionListener(connectionListener);
+
connectionNode.subscribe(ResMessages.RemoteTransactionEvent1, new RemoteTransactionEvent1Listener(), instance);
connectionNode.subscribe(ResMessages.RemotePersistEvent1, new RemotePersistEvent1Listener(), instance);
connectionNode.subscribe(ResMessages.RemoteBranchEvent1, new RemoteBranchEvent1Listener(), instance);
@@ -103,16 +125,37 @@ public class ResEventManager implements OseeMessagingStatusCallback {
}
}
- public void start(IFrameworkEventListener frameworkEventListener) throws OseeCoreException {
+ public void start(IFrameworkEventListener frameworkEventListener) {
this.frameworkEventListener = frameworkEventListener;
startListeningForRemoteCoverageEvents();
}
- public void stop() throws OseeCoreException {
+ public void stop() {
this.frameworkEventListener = null;
stopListeningForRemoteCoverageEvents();
}
+ private class ResConnectionListener implements ConnectionListener {
+
+ private boolean isConnected = false;
+
+ @Override
+ public void connected(ConnectionNode node) {
+ System.out.println("connected from res listner");
+ isConnected = true;
+ }
+
+ public boolean isConnected() {
+ return isConnected;
+ }
+
+ @Override
+ public void notConnected(ConnectionNode node) {
+ System.out.println("not connected from res listener");
+ isConnected = false;
+ }
+ }
+
@Override
public void fail(Throwable th) {
System.err.println(getClass().getSimpleName() + " - fail: " + th.getLocalizedMessage());
@@ -121,6 +164,7 @@ public class ResEventManager implements OseeMessagingStatusCallback {
@Override
public void success() {
+ // do nothing
}
public class RemoteAccessControlEvent1Listener extends OseeMessagingListener {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager.java
index 4863d0beb78..500472d1171 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager.java
@@ -157,6 +157,14 @@ public class RemoteEventManager {
return OseeEventManager.isOldEvents() && getEventServiceManager().isValid();
}
+ public static String getConnectionProperties() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("osee.jini.lookup.groups [" + System.getProperty("osee.jini.lookup.groups") + "]");
+ sb.append("eventSystem [" + System.getProperty("eventSystem") + "]");
+
+ return sb.toString();
+ }
+
public static void kick(final ISkynetEvent... events) {
if (OseeEventManager.isOldEvents() && isConnected()) {
Job job = new Job("Send Event") {
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager2.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager2.java
index e376856845b..ca327b43553 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager2.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/event/RemoteEventManager2.java
@@ -344,6 +344,21 @@ public class RemoteEventManager2 implements IFrameworkEventListener {
return OseeEventManager.isNewEvents() && ResEventManager.getInstance().isConnected();
}
+ public String getConnectionInfo() {
+ if (!OseeEventManager.isNewEvents()) {
+ return "New Events == OFF";
+ }
+ return ResEventManager.getInstance().getConnectionInfo();
+ }
+
+ public String getConnectionProperties() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("osee.default.broker.uri [" + System.getProperty("osee.default.broker.uri") + "]");
+ sb.append("eventDebug [" + System.getProperty("eventDebug") + "]");
+ sb.append("eventSystem [" + System.getProperty("eventSystem") + "]");
+ return sb.toString();
+ }
+
/**
* InternalEventManager.enableRemoteEventLoopback will enable a testing loopback that will take the kicked remote
* events and loop them back as if they came from an external client. It will allow for the testing of the OEM -> REM
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeBuildTypeContributionItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeBuildTypeContributionItem.java
index 6a39d71f76e..86e3cd7c364 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeBuildTypeContributionItem.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeBuildTypeContributionItem.java
@@ -99,7 +99,7 @@ public class OseeBuildTypeContributionItem extends OseeContributionItem {
}
}
- private final static class OpenConfigDetailsAction extends Action {
+ public final static class OpenConfigDetailsAction extends Action {
private final MutableBoolean isSelectionAllowed;
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeContributionItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeContributionItem.java
index 092382fa74e..82183529805 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeContributionItem.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/OseeContributionItem.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.framework.ui.skynet;
import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.osee.framework.skynet.core.event.RemoteEventManager2;
import org.eclipse.osee.framework.ui.skynet.ats.IOseeAtsService;
import org.eclipse.osee.framework.ui.skynet.ats.OseeAts;
import org.eclipse.osee.framework.ui.swt.Displays;
@@ -65,7 +66,9 @@ public abstract class OseeContributionItem extends StatusLineContributionItem {
if (atsService != null && atsService.isAtsAdmin()) {
AdminContributionItem.addTo(manager);
}
- SkynetServiceContributionItem.addTo(manager);
+ if (!RemoteEventManager2.isConnected()) {
+ SkynetServiceContributionItem.addTo(manager);
+ }
OseeServicesStatusContributionItem.addTo(manager);
SessionContributionItem.addTo(manager);
}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ResServiceContributionItem.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ResServiceContributionItem.java
index 288629dfd21..65848f46c3a 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ResServiceContributionItem.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/ResServiceContributionItem.java
@@ -18,6 +18,7 @@ import org.eclipse.osee.framework.skynet.core.event.OseeEventManager;
import org.eclipse.osee.framework.skynet.core.event.RemoteEventManager2;
import org.eclipse.osee.framework.skynet.core.event.RemoteEventServiceEventType;
import org.eclipse.osee.framework.skynet.core.event.Sender;
+import org.eclipse.osee.framework.ui.skynet.OseeBuildTypeContributionItem.OpenConfigDetailsAction;
import org.eclipse.osee.framework.ui.swt.Displays;
import org.eclipse.osee.framework.ui.swt.ImageManager;
import org.eclipse.osee.framework.ui.swt.OverlayImage;
@@ -59,6 +60,7 @@ public class ResServiceContributionItem extends OseeContributionItem implements
super(ID);
updateStatus(RemoteEventManager2.isConnected());
OseeEventManager.addListener(this);
+ setActionHandler(new OpenConfigDetailsAction());
icons.add(this);
createUpdateThread();
}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java
index 0243d6062d4..f617c499cb6 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/artifact/editor/ArtifactEditorEventManager.java
@@ -14,6 +14,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
+import org.eclipse.osee.framework.core.model.event.DefaultBasicGuidArtifact;
import org.eclipse.osee.framework.skynet.core.artifact.Artifact;
import org.eclipse.osee.framework.skynet.core.event.AccessControlEventType;
import org.eclipse.osee.framework.skynet.core.event.BranchEventType;
@@ -69,12 +70,13 @@ public class ArtifactEditorEventManager implements IArtifactEventListener, IBran
handlers.remove(handler);
}
}
- System.out.println("ArtifactEditorEventManager: handleArtifactEvent called [" + artifactEvent + "] - sender " + sender + "");
+ OseeEventManager.eventLog("ArtifactEditorEventManager: handleArtifactEvent called [" + artifactEvent + "] - sender " + sender + "");
final Collection<Artifact> modifiedArts =
artifactEvent.getCacheArtifacts(EventModType.Modified, EventModType.Reloaded);
final Collection<Artifact> relModifiedArts = artifactEvent.getRelCacheArtifacts();
final Collection<EventBasicGuidArtifact> deletedPurgedChangedArts =
artifactEvent.get(EventModType.Deleted, EventModType.Purged);
+ final Collection<DefaultBasicGuidArtifact> relOrderChangedArtifacts = artifactEvent.getRelOrderChangedArtifacts();
Displays.ensureInDisplayThread(new Runnable() {
@Override
@@ -86,15 +88,19 @@ public class ArtifactEditorEventManager implements IArtifactEventListener, IBran
}
}
}
- for (IArtifactEditorEventHandler handler : handlers) {
- if (!handler.isDisposed()) {
- if (handler.getArtifactFromEditorInput() != null && modifiedArts.contains(handler.getArtifactFromEditorInput())) {
- handler.refreshDirtyArtifact();
- }
+ if (!modifiedArts.isEmpty() || !relModifiedArts.isEmpty() || !relOrderChangedArtifacts.isEmpty()) {
+ for (IArtifactEditorEventHandler handler : handlers) {
+ if (!handler.isDisposed()) {
+ if (handler.getArtifactFromEditorInput() != null && modifiedArts.contains(handler.getArtifactFromEditorInput())) {
+ handler.refreshDirtyArtifact();
+ }
- if (handler.getArtifactFromEditorInput() != null && relModifiedArts.contains(handler.getArtifactFromEditorInput())) {
- handler.refreshRelations();
- handler.getEditor().onDirtied();
+ boolean relModified = relModifiedArts.contains(handler.getArtifactFromEditorInput());
+ boolean reorderArt = relOrderChangedArtifacts.contains(handler.getArtifactFromEditorInput());
+ if (handler.getArtifactFromEditorInput() != null && (relModified || reorderArt)) {
+ handler.refreshRelations();
+ handler.getEditor().onDirtied();
+ }
}
}
}
diff --git a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java
index 2800c7b3246..2203227bd85 100644
--- a/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java
+++ b/plugins/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/preferences/ConfigurationDetails.java
@@ -18,6 +18,7 @@ import org.eclipse.osee.framework.jdk.core.util.AHTML;
import org.eclipse.osee.framework.logging.IHealthStatus;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.event.RemoteEventManager;
+import org.eclipse.osee.framework.skynet.core.event.RemoteEventManager2;
import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
import org.eclipse.osee.framework.ui.swt.Displays;
import org.eclipse.swt.SWT;
@@ -113,7 +114,11 @@ public class ConfigurationDetails extends PreferencePage implements IWorkbenchPr
}
builder.append(AHTML.addRowMultiColumnTable(
"<b>Remote Event Service</b>",
- "",
+ RemoteEventManager2.getInstance().getConnectionProperties().replaceAll("]", "]<br/>"),
+ RemoteEventManager2.isConnected() ? "<font color=\"green\"><b>Ok</b></font>" : "<font color=\"red\"><b>Unavailable - " + RemoteEventManager2.getInstance().getConnectionInfo() + "</b></font>"));
+ builder.append(AHTML.addRowMultiColumnTable(
+ "<b>Old Remote Event Service</b>",
+ RemoteEventManager.getConnectionProperties().replaceAll("]", "]<br/>"),
RemoteEventManager.isConnected() ? "<font color=\"green\"><b>Ok</b></font>" : "<font color=\"red\"><b>Unavailable</b></font>"));
builder.append(AHTML.endMultiColumnTable());

Back to the top