Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrbrooks2010-07-24 17:38:31 +0000
committerrbrooks2010-07-24 17:38:31 +0000
commit4081f04850d3eff9eb1bd7241763707bfbb43a45 (patch)
tree258620df94d4b24077ff103a6c4dea9cb78493fb /plugins/org.eclipse.osee.ote.ui.mux/src
parent4ed8bddc791fda93940f238c5135556a07041dc0 (diff)
downloadorg.eclipse.osee-4081f04850d3eff9eb1bd7241763707bfbb43a45.tar.gz
org.eclipse.osee-4081f04850d3eff9eb1bd7241763707bfbb43a45.tar.xz
org.eclipse.osee-4081f04850d3eff9eb1bd7241763707bfbb43a45.zip
applied Eclipse source cleanup
Diffstat (limited to 'plugins/org.eclipse.osee.ote.ui.mux/src')
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/MuxToolPlugin.java98
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/actions/OpenMuxViewAction.java22
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DataNode.java25
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordContentProvider.java11
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordLabelProvider.java17
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/RowNode.java23
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/DatawordModel.java22
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/MessageModel.java21
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MessageNode.java85
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgContentProvider.java11
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgLabelProvider.java28
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/IRegistrationListener.java8
-rw-r--r--plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/MuxView.java1686
13 files changed, 1038 insertions, 1019 deletions
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/MuxToolPlugin.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/MuxToolPlugin.java
index 6da97c56a77..43483753692 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/MuxToolPlugin.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/MuxToolPlugin.java
@@ -21,60 +21,58 @@ import org.osgi.util.tracker.ServiceTracker;
*/
public class MuxToolPlugin extends AbstractUIPlugin {
- private ServiceTracker oteClientServiceTracker;
+ private ServiceTracker oteClientServiceTracker;
- // The shared instance.
- private static MuxToolPlugin plugin;
+ // The shared instance.
+ private static MuxToolPlugin plugin;
-
- public static String PLUGIN_ID = "org.eclipse.osee.ote.ui.mux";
- /**
- * The constructor.
- */
- public MuxToolPlugin() {
- plugin = this;
- }
+ public static String PLUGIN_ID = "org.eclipse.osee.ote.ui.mux";
- /**
- * This method is called upon plug-in activation
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- oteClientServiceTracker = new ServiceTracker(context,
- IOteClientService.class.getName(), null);
- oteClientServiceTracker.open();
- }
+ /**
+ * The constructor.
+ */
+ public MuxToolPlugin() {
+ plugin = this;
+ }
- /**
- * This method is called when the plug-in is stopped
- */
- public void stop(BundleContext context) throws Exception {
- super.stop(context);
- plugin = null;
- oteClientServiceTracker.close();
- }
+ /**
+ * This method is called upon plug-in activation
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ oteClientServiceTracker = new ServiceTracker(context, IOteClientService.class.getName(), null);
+ oteClientServiceTracker.open();
+ }
- /**
- * Returns the shared instance.
- */
- public static MuxToolPlugin getDefault() {
- return plugin;
- }
+ /**
+ * This method is called when the plug-in is stopped
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ super.stop(context);
+ plugin = null;
+ oteClientServiceTracker.close();
+ }
- /**
- * Returns an image descriptor for the image file at the given plug-in
- * relative path.
- *
- * @param path
- * the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return AbstractUIPlugin.imageDescriptorFromPlugin(
- "org.eclipse.osee.ote.ui.mux", path);
- }
-
- public IOteClientService getOteClientService() {
- return (IOteClientService) oteClientServiceTracker.getService();
- }
+ /**
+ * Returns the shared instance.
+ */
+ public static MuxToolPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns an image descriptor for the image file at the given plug-in relative path.
+ *
+ * @param path the path
+ * @return the image descriptor
+ */
+ public static ImageDescriptor getImageDescriptor(String path) {
+ return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.osee.ote.ui.mux", path);
+ }
+
+ public IOteClientService getOteClientService() {
+ return (IOteClientService) oteClientServiceTracker.getService();
+ }
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/actions/OpenMuxViewAction.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/actions/OpenMuxViewAction.java
index f15b84790af..ba80dd957cb 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/actions/OpenMuxViewAction.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/actions/OpenMuxViewAction.java
@@ -18,17 +18,17 @@ import org.eclipse.ui.PlatformUI;
public class OpenMuxViewAction extends Action {
- public OpenMuxViewAction() {
- super("Open Mux View");
- }
+ public OpenMuxViewAction() {
+ super("Open Mux View");
+ }
- @Override
- public void run() {
- try {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(MuxView.VIEW_ID);
- } catch (Exception e) {
- MessageDialog.openError(Displays.getActiveShell(), "Error", "got an exception");
- }
- }
+ @Override
+ public void run() {
+ try {
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(MuxView.VIEW_ID);
+ } catch (Exception e) {
+ MessageDialog.openError(Displays.getActiveShell(), "Error", "got an exception");
+ }
+ }
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DataNode.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DataNode.java
index 3dc89eec929..445b373909a 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DataNode.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DataNode.java
@@ -26,26 +26,31 @@ public class DataNode {
row4 = new RowNode();
temp = new byte[16];
}
-
+
public RowNode getRow(int row) {
switch (row) {
- case 1: return row1;
- case 2: return row2;
- case 3: return row3;
- case 4: return row4;
- default: return row1;
+ case 1:
+ return row1;
+ case 2:
+ return row2;
+ case 3:
+ return row3;
+ case 4:
+ return row4;
+ default:
+ return row1;
}
}
-
+
public synchronized void setData(ByteBuffer data) {
// discard header bytes
- if (data.remaining() <= 15)
+ if (data.remaining() <= 15) {
return;
- else {
+ } else {
temp = new byte[15];
data.get(temp, 0, 15);
}
-
+
int copySize = data.remaining() >= 16 ? 16 : data.remaining();
temp = new byte[copySize];
data.get(temp, 0, copySize);
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordContentProvider.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordContentProvider.java
index 14038af831d..a83089ac1ba 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordContentProvider.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordContentProvider.java
@@ -16,7 +16,6 @@ import org.eclipse.osee.ote.ui.mux.model.DatawordModel;
/**
* @author Ky Komadino
- *
*/
public class DatawordContentProvider implements IStructuredContentProvider {
private final static Object[] EMPTY_ARRAY = new Object[0];
@@ -25,19 +24,21 @@ public class DatawordContentProvider implements IStructuredContentProvider {
public void refresh() {
viewer.refresh();
}
-
+
+ @Override
public void inputChanged(Viewer v, Object oldInput, Object newInput) {
viewer = v;
}
+ @Override
public void dispose() {
}
+ @Override
public Object[] getElements(Object parent) {
if (parent instanceof DatawordModel) {
- return ((DatawordModel)parent).getChildren();
- }
- else {
+ return ((DatawordModel) parent).getChildren();
+ } else {
return EMPTY_ARRAY;
}
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordLabelProvider.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordLabelProvider.java
index c493b914ee2..2218d34b671 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordLabelProvider.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/DatawordLabelProvider.java
@@ -17,26 +17,29 @@ import org.eclipse.swt.graphics.Image;
/**
* @author Ky Komadino
- *
*/
public class DatawordLabelProvider extends LabelProvider implements ITableLabelProvider {
+ @Override
public String getColumnText(Object obj, int index) {
if (obj != null && obj instanceof RowNode) {
- if (index >= 0 && index <= 7)
- return String.valueOf(((RowNode)obj).getDataword(index));
- else
+ if (index >= 0 && index <= 7) {
+ return String.valueOf(((RowNode) obj).getDataword(index));
+ } else {
return "";
- }
- else
+ }
+ } else {
return "";
+ }
}
+ @Override
public Image getColumnImage(Object obj, int index) {
return getImage(obj);
}
+ @Override
public String getText(Object obj) {
- return ((MessageNode)obj).getName();
+ return ((MessageNode) obj).getName();
}
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/RowNode.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/RowNode.java
index 0fd69ec9bc4..a85b6d7d045 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/RowNode.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/datatable/RowNode.java
@@ -12,10 +12,9 @@ package org.eclipse.osee.ote.ui.mux.datatable;
/**
* @author Ky Komadino
- *
*/
public class RowNode {
- private byte[] databytes;
+ private final byte[] databytes;
private int numDatabytes;
public RowNode() {
@@ -25,24 +24,26 @@ public class RowNode {
public synchronized void setData(byte[] data) {
numDatabytes = data.length;
- for (int i = 0; i < data.length && i < databytes.length; i++)
+ for (int i = 0; i < data.length && i < databytes.length; i++) {
databytes[i] = data[i];
+ }
}
-
+
public synchronized void setDataword(int data, int index) {
- databytes[index * 2] = (byte)((data & 0x0000FF00) >> 8);
- databytes[index * 2 + 1] = (byte)(data & 0x000000FF);
+ databytes[index * 2] = (byte) ((data & 0x0000FF00) >> 8);
+ databytes[index * 2 + 1] = (byte) (data & 0x000000FF);
}
-
+
public synchronized byte getDatabyte(int index) {
return databytes[index];
}
public synchronized String getDataword(int index) {
- if (numDatabytes > index * 2 + 1)
- return String.format("%02X%02X", (short)(databytes[index * 2] & 0x00FF),
- (short)(databytes[index * 2 + 1] & 0x00FF));
- else
+ if (numDatabytes > index * 2 + 1) {
+ return String.format("%02X%02X", (short) (databytes[index * 2] & 0x00FF),
+ (short) (databytes[index * 2 + 1] & 0x00FF));
+ } else {
return "";
+ }
}
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/DatawordModel.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/DatawordModel.java
index c0632fba096..da2ba106b56 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/DatawordModel.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/DatawordModel.java
@@ -17,18 +17,17 @@ import org.eclipse.osee.ote.ui.mux.datatable.DataNode;
/**
* @author Ky Komadino
- *
*/
public class DatawordModel {
private final static Object[] EMPTY_ARRAY = new Object[0];
- private HashMap<String, DataNode> dataNodes;
+ private final HashMap<String, DataNode> dataNodes;
private final CharBuffer buffer = ByteBuffer.allocate(16).asCharBuffer();
private String currentNode = null;
-
+
public DatawordModel() {
dataNodes = new HashMap<String, DataNode>();
};
-
+
/**
* @param muxId - message ID
* @param node - node to add to list
@@ -36,15 +35,14 @@ public class DatawordModel {
public void addNode(String muxId, DataNode node) {
dataNodes.put(muxId, node);
}
-
+
/**
- *
* @param node - currently selected node
*/
public void setCurrentNode(String node) {
currentNode = node;
}
-
+
/**
* @return - values in list
*/
@@ -56,18 +54,18 @@ public class DatawordModel {
}
return EMPTY_ARRAY;
}
-
+
public void removeDatawords() {
dataNodes.clear();
}
-
+
public void onDataAvailable(ByteBuffer data) {
buffer.clear();
- buffer.append(String.format("%02d", ((short)(data.array()[1] & 0x00F8)) >> 3));
+ buffer.append(String.format("%02d", (short) (data.array()[1] & 0x00F8) >> 3));
final char transmitReceive = (data.array()[1] & 0x04) >> 2 == 1 ? 'T' : 'R';
buffer.append(transmitReceive);
- buffer.append(String.format("%02d", (((short)(data.array()[1] & 0x0003)) << 3) +
- (((short)(data.array()[2] & 0x00E0)) >> 5)));
+ buffer.append(String.format("%02d",
+ ((short) (data.array()[1] & 0x0003) << 3) + ((short) (data.array()[2] & 0x00E0) >> 5)));
String muxId = buffer.flip().toString();
DataNode receiveData = dataNodes.get(muxId);
if (receiveData == null) {
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/MessageModel.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/MessageModel.java
index a0ca16e7ed0..cc3ffb85eeb 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/MessageModel.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/model/MessageModel.java
@@ -20,9 +20,9 @@ import org.eclipse.osee.ote.ui.mux.msgtable.MessageNode;
* @author Ky Komadino
*/
public class MessageModel {
- private HashMap<String, MessageNode> messageNodes;
+ private final HashMap<String, MessageNode> messageNodes;
private final CharBuffer buffer = ByteBuffer.allocate(16).asCharBuffer();
-
+
public MessageModel() {
messageNodes = new HashMap<String, MessageNode>();
};
@@ -34,29 +34,30 @@ public class MessageModel {
public void addNode(String muxId, MessageNode node) {
messageNodes.put(muxId, node);
}
-
+
/**
* @return - values in list
*/
public Collection<MessageNode> getChildren() {
return messageNodes.values();
}
-
+
public void removeMessages() {
messageNodes.clear();
}
-
+
public void onDataAvailable(ByteBuffer data) {
// if this is the "T" side of an RT-RT message, then discard
- if ((data.array()[1] & 0x04) >> 2 == 1 && data.array()[3] != 0 && data.array()[4] != 0)
+ if ((data.array()[1] & 0x04) >> 2 == 1 && data.array()[3] != 0 && data.array()[4] != 0) {
return;
-
+ }
+
buffer.clear();
- buffer.append(String.format("%02d", ((short)(data.array()[1] & 0x00F8)) >> 3));
+ buffer.append(String.format("%02d", (short) (data.array()[1] & 0x00F8) >> 3));
final char transmitReceive = (data.array()[1] & 0x04) >> 2 == 1 ? 'T' : 'R';
buffer.append(transmitReceive);
- buffer.append(String.format("%02d", (((short)(data.array()[1] & 0x0003)) << 3) +
- (((short)(data.array()[2] & 0x00E0)) >> 5)));
+ buffer.append(String.format("%02d",
+ ((short) (data.array()[1] & 0x0003) << 3) + ((short) (data.array()[2] & 0x00E0) >> 5)));
String muxId = buffer.flip().toString();
MessageNode receiveMessage = messageNodes.get(muxId);
if (receiveMessage == null) {
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MessageNode.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MessageNode.java
index dbaa383193e..afd50cbe9a1 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MessageNode.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MessageNode.java
@@ -29,78 +29,81 @@ public class MessageNode {
private int activity;
private int errCount;
private String errType;
- private CharBuffer temp = ByteBuffer.allocate(32).asCharBuffer();
+ private final CharBuffer temp = ByteBuffer.allocate(32).asCharBuffer();
public MessageNode(String muxId) {
this.name = muxId;
}
/**
- *
* @param data - raw mux data from 1553 driver
*/
public synchronized void setData(ByteBuffer data) {
- if (data.array()[3] == 0 && data.array()[4] == 0) { // not an RT-RT msg
- rt = ((short)(data.array()[1] & 0x00F8)) >> 3;
- transmitReceive = ((short)(data.array()[1] & 0x0004)) >> 2;
- subaddress = (((short)(data.array()[1] & 0x0003)) << 3) + (((short)(data.array()[2] & 0x00E0)) >> 5);
+ if (data.array()[3] == 0 && data.array()[4] == 0) { // not an RT-RT msg
+ rt = (short) (data.array()[1] & 0x00F8) >> 3;
+ transmitReceive = (short) (data.array()[1] & 0x0004) >> 2;
+ subaddress = ((short) (data.array()[1] & 0x0003) << 3) + ((short) (data.array()[2] & 0x00E0) >> 5);
temp.clear();
temp.append(String.format(" "));
rtRt = temp.flip().toString();
- }
- else { // is an RT-RT msg, reference the "T" side datawords
- rt = ((short)(data.array()[3] & 0x00F8)) >> 3;
- transmitReceive = ((short)(data.array()[3] & 0x0004)) >> 2;
- subaddress = (((short)(data.array()[3] & 0x0003)) << 3) + (((short)(data.array()[4] & 0x00E0)) >> 5);
+ } else { // is an RT-RT msg, reference the "T" side datawords
+ rt = (short) (data.array()[3] & 0x00F8) >> 3;
+ transmitReceive = (short) (data.array()[3] & 0x0004) >> 2;
+ subaddress = ((short) (data.array()[3] & 0x0003) << 3) + ((short) (data.array()[4] & 0x00E0) >> 5);
temp.clear();
- temp.append(String.format("%02d", ((short)(data.array()[3] & 0x00F8)) >> 3));
+ temp.append(String.format("%02d", (short) (data.array()[3] & 0x00F8) >> 3));
temp.append((data.array()[3] & 0x0004) >> 2 == 1 ? 'T' : 'R');
- temp.append(String.format("%02d", (((short)(data.array()[3] & 0x0003)) << 3) +
- (((short)(data.array()[4] & 0x00E0)) >> 5)));
+ temp.append(String.format("%02d",
+ ((short) (data.array()[3] & 0x0003) << 3) + ((short) (data.array()[4] & 0x00E0) >> 5)));
rtRt = temp.flip().toString();
}
-
- if (subaddress == 0 || subaddress == 31)
- wordCount = (short)(data.array()[2] & 0x001F) >= 16 ? 1 : 0;
- else
- wordCount = (short)(data.array()[2] & 0x001F) == 0 ? 32 : (short)(data.array()[2] & 0x001F);
-
+
+ if (subaddress == 0 || subaddress == 31) {
+ wordCount = (short) (data.array()[2] & 0x001F) >= 16 ? 1 : 0;
+ } else {
+ wordCount = (short) (data.array()[2] & 0x001F) == 0 ? 32 : (short) (data.array()[2] & 0x001F);
+ }
+
temp.clear();
temp.append(String.format("0x%02X%02X", data.array()[5], data.array()[6]));
statusWord = temp.flip().toString();
-
+
temp.clear();
- switch (((short)(data.array()[9] & 0x00C0)) >> 6) {
- case 1: temp.append("-/B");
- break;
- case 2: temp.append("A/-");
- break;
- case 3: temp.append("A/B");
- break;
- default: temp.append("MON");
+ switch ((short) (data.array()[9] & 0x00C0) >> 6) {
+ case 1:
+ temp.append("-/B");
+ break;
+ case 2:
+ temp.append("A/-");
+ break;
+ case 3:
+ temp.append("A/B");
+ break;
+ default:
+ temp.append("MON");
}
emulation = temp.flip().toString();
-
+
temp.clear();
- if ((short)(data.array()[10] & 0x0008) == 0)
+ if ((short) (data.array()[10] & 0x0008) == 0) {
temp.append(String.format("PRI"));
- else
+ } else {
temp.append(String.format("SEC"));
+ }
bus = temp.flip().toString();
-
+
activity++;
-
+
temp.clear();
- if ((short)(data.array()[10] & 0x0080) == 0) {
+ if ((short) (data.array()[10] & 0x0080) == 0) {
temp.append(" ");
- }
- else {
+ } else {
errCount++;
temp.append("NO RESPONSE");
}
errType = temp.flip().toString();
}
-
+
/**
* @return Returns the activity.
*/
@@ -149,7 +152,7 @@ public class MessageNode {
public synchronized int getRt() {
return rt;
}
-
+
/**
* @return Returns the rtRt.
*/
@@ -170,14 +173,14 @@ public class MessageNode {
public synchronized int getSubaddress() {
return subaddress;
}
-
+
/**
* @return Returns the transmitReceive.
*/
public synchronized int getTransmitReceive() {
return transmitReceive;
}
-
+
/**
* @return Returns the wordCount.
*/
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgContentProvider.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgContentProvider.java
index efdfc066642..e6e0a61a4bf 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgContentProvider.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgContentProvider.java
@@ -16,7 +16,6 @@ import org.eclipse.osee.ote.ui.mux.model.MessageModel;
/**
* @author Ky Komadino
- *
*/
public class MuxMsgContentProvider implements IStructuredContentProvider {
private final static Object[] EMPTY_ARRAY = new Object[0];
@@ -25,19 +24,21 @@ public class MuxMsgContentProvider implements IStructuredContentProvider {
public void refresh() {
viewer.refresh();
}
-
+
+ @Override
public void inputChanged(Viewer v, Object oldInput, Object newInput) {
viewer = v;
}
+ @Override
public void dispose() {
}
+ @Override
public Object[] getElements(Object parent) {
if (parent instanceof MessageModel) {
- return ((MessageModel)parent).getChildren().toArray();
- }
- else {
+ return ((MessageModel) parent).getChildren().toArray();
+ } else {
return EMPTY_ARRAY;
}
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgLabelProvider.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgLabelProvider.java
index aeaec4a54de..a501eae2463 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgLabelProvider.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/msgtable/MuxMsgLabelProvider.java
@@ -16,43 +16,45 @@ import org.eclipse.swt.graphics.Image;
/**
* @author Ky Komadino
- *
*/
public class MuxMsgLabelProvider extends LabelProvider implements ITableLabelProvider {
+ @Override
public String getColumnText(Object obj, int index) {
if (obj != null && obj instanceof MessageNode) {
switch (index) {
case 0:
- return ((MessageNode)obj).getName();
+ return ((MessageNode) obj).getName();
case 1:
- return ((MessageNode)obj).getRtRt();
+ return ((MessageNode) obj).getRtRt();
case 2:
- return String.valueOf(((MessageNode)obj).getWordCount());
+ return String.valueOf(((MessageNode) obj).getWordCount());
case 3:
- return ((MessageNode)obj).getStatusWord();
+ return ((MessageNode) obj).getStatusWord();
case 4:
- return ((MessageNode)obj).getEmulation();
+ return ((MessageNode) obj).getEmulation();
case 5:
- return ((MessageNode)obj).getBus();
+ return ((MessageNode) obj).getBus();
case 6:
- return String.valueOf(((MessageNode)obj).getActivity());
+ return String.valueOf(((MessageNode) obj).getActivity());
case 7:
- return String.valueOf(((MessageNode)obj).getErrCount());
+ return String.valueOf(((MessageNode) obj).getErrCount());
case 8:
- return ((MessageNode)obj).getErrType();
+ return ((MessageNode) obj).getErrType();
default:
return "";
}
- }
- else
+ } else {
return "";
+ }
}
+ @Override
public Image getColumnImage(Object obj, int index) {
return getImage(obj);
}
+ @Override
public String getText(Object obj) {
- return ((MessageNode)obj).getName();
+ return ((MessageNode) obj).getName();
}
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/IRegistrationListener.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/IRegistrationListener.java
index 115f5dd683e..936a1013bfe 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/IRegistrationListener.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/IRegistrationListener.java
@@ -12,17 +12,17 @@ package org.eclipse.osee.ote.ui.mux.view;
import java.rmi.Remote;
import java.rmi.RemoteException;
-
import org.eclipse.osee.ote.message.IInstrumentationRegistrationListener;
import org.eclipse.osee.ote.message.instrumentation.IOInstrumentation;
/**
* @author Ken J. Aguilar
- *
*/
public interface IRegistrationListener extends Remote, IInstrumentationRegistrationListener {
- void onRegistered(String name, IOInstrumentation instrumentation) throws RemoteException;
+ @Override
+ void onRegistered(String name, IOInstrumentation instrumentation) throws RemoteException;
- void onDeregistered(String name) throws RemoteException;
+ @Override
+ void onDeregistered(String name) throws RemoteException;
}
diff --git a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/MuxView.java b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/MuxView.java
index e38c1a4513d..fc0c124fa97 100644
--- a/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/MuxView.java
+++ b/plugins/org.eclipse.osee.ote.ui.mux/src/org/eclipse/osee/ote/ui/mux/view/MuxView.java
@@ -90,844 +90,850 @@ import org.eclipse.ui.part.ViewPart;
*/
public class MuxView extends ViewPart implements ITestConnectionListener, IInstrumentationRegistrationListener, Remote {
- private TableViewer msgViewer1, msgViewer2, msgViewer3, msgViewer5;
- private TableViewer dataViewer1, dataViewer2, dataViewer3, dataViewer5;
- private MessageModel chan1Msgs, chan2Msgs, chan3Msgs, chan5Msgs;
- private DatawordModel chan1Dwrds, chan2Dwrds, chan3Dwrds, chan5Dwrds;
- private IOInstrumentation muxProbe;
- private PeriodicDisplayTask task;
- private ListenerThread thread;
- private int port;
- private int selectedChannel;
- private int selectedRt;
- private int selectedTR;
- private int selectedSubaddr;
- private final static Color GRAY = Displays.getSystemColor(SWT.COLOR_GRAY);
- private final static Color WHITE = Displays.getSystemColor(SWT.COLOR_WHITE);
-
- private IInstrumentationRegistrationListener exportedThis;
-
- public static final String VIEW_ID = "osee.test.muxTool.views.MuxView";
- class NameSorter extends ViewerSorter {
- }
-
- /**
- * The constructor.
- */
- public MuxView() {
- super();
- }
-
- /**
- * This is a callback that will allow us to create the viewers and initialize them.
- */
- @Override
- public void createPartControl(Composite parent) {
- final TabFolder tabFolder = new TabFolder(parent, SWT.WRAP);
- tabFolder.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- switch (tabFolder.getSelectionIndex()) {
- case 0:
- selectedChannel = 1;
- break;
- case 1:
- selectedChannel = 2;
- break;
- case 2:
- selectedChannel = 3;
- break;
- case 3:
- selectedChannel = 5;
- break;
- default:
- selectedChannel = 1;
- }
- }
-
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
-
- // Setup Channel 1 display
- TabItem chan1Tab = new TabItem(tabFolder, SWT.NONE);
- chan1Tab.setText("Channel 1");
- Composite chan1TabComp = new Composite(tabFolder, SWT.NONE);
- chan1Tab.setControl(chan1TabComp);
- GridLayout chan1Layout = new GridLayout(1, false);
- chan1TabComp.setLayout(chan1Layout);
-
- msgViewer1 = new TableViewer(chan1TabComp, SWT.BORDER | SWT.FULL_SELECTION);
- msgViewer1.setLabelProvider(new MuxMsgLabelProvider());
- msgViewer1.setSorter(new NameSorter());
- msgViewer1.setContentProvider(new MuxMsgContentProvider());
-
- createMsgTable(msgViewer1);
-
- Composite bottom1 = new Composite(chan1TabComp, SWT.NONE);
- bottom1.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
- bottom1.setLayout(new GridLayout(2, false));
-
- Composite data1 = new Composite(bottom1, SWT.NONE);
- RowLayout dataLayout1 = new RowLayout(SWT.HORIZONTAL);
- data1.setLayout(dataLayout1);
-
- Composite labels1 = new Composite(data1, SWT.NONE);
- RowLayout labelLayout1 = new RowLayout(SWT.VERTICAL);
- labelLayout1.marginTop = 5;
- labelLayout1.spacing = 1;
- labels1.setLayout(labelLayout1);
- Label label1_1 = new Label(labels1, SWT.NONE);
- label1_1.setText("Datawords 1-8");
- Label label2_1 = new Label(labels1, SWT.NONE);
- label2_1.setText("Datawords 9-16");
- Label label3_1 = new Label(labels1, SWT.NONE);
- label3_1.setText("Datawords 17-24");
- Label label4_1 = new Label(labels1, SWT.NONE);
- label4_1.setText("Datawords 25-32");
-
- Composite datawords1 = new Composite(data1, SWT.NONE);
- datawords1.setLayout(new GridLayout(1, false));
- dataViewer1 = new TableViewer(datawords1, SWT.BORDER | SWT.FULL_SELECTION);
- dataViewer1.setContentProvider(new DatawordContentProvider());
- dataViewer1.setLabelProvider(new DatawordLabelProvider());
- createDwordTable(dataViewer1);
- msgViewer1.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- MessageNode node = (MessageNode) selection.getFirstElement();
- if (node != null) {
- selectedRt = node.getRt();
- selectedTR = node.getTransmitReceive();
- selectedSubaddr = node.getSubaddress();
- chan1Dwrds.setCurrentNode(node.getName());
- }
- }
- });
- final Button reset1 = new Button(bottom1, SWT.PUSH);
- reset1.setText("Reset Display");
- reset1.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
- reset1.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- selectedRt = 0;
- selectedTR = 0;
- selectedSubaddr = 0;
- chan1Msgs.removeMessages();
- chan1Dwrds.setCurrentNode(null);
- }
- });
-
- // Setup Channel 2 display
- TabItem chan2Tab = new TabItem(tabFolder, SWT.NONE);
- chan2Tab.setText("Channel 2");
- Composite chan2TabComp = new Composite(tabFolder, SWT.NONE);
- chan2Tab.setControl(chan2TabComp);
- GridLayout chan2Layout = new GridLayout(1, false);
- chan2TabComp.setLayout(chan2Layout);
- msgViewer2 = new TableViewer(chan2TabComp, SWT.BORDER | SWT.FULL_SELECTION);
- msgViewer2.setContentProvider(new MuxMsgContentProvider());
- msgViewer2.setLabelProvider(new MuxMsgLabelProvider());
- msgViewer2.setSorter(new NameSorter());
- createMsgTable(msgViewer2);
- Composite bottom2 = new Composite(chan2TabComp, SWT.NONE);
- bottom2.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
- bottom2.setLayout(new GridLayout(2, false));
-
- Composite data2 = new Composite(bottom2, SWT.NONE);
- RowLayout dataLayout2 = new RowLayout(SWT.HORIZONTAL);
- data2.setLayout(dataLayout2);
-
- Composite labels2 = new Composite(data2, SWT.NONE);
- RowLayout lableLayout2 = new RowLayout(SWT.VERTICAL);
- lableLayout2.marginTop = 5;
- lableLayout2.spacing = 1;
- labels2.setLayout(lableLayout2);
- Label label1_2 = new Label(labels2, SWT.NONE);
- label1_2.setText("Datawords 1-8");
- Label label2_2 = new Label(labels2, SWT.NONE);
- label2_2.setText("Datawords 9-16");
- Label label3_2 = new Label(labels2, SWT.NONE);
- label3_2.setText("Datawords 17-24");
- Label label4_2 = new Label(labels2, SWT.NONE);
- label4_2.setText("Datawords 25-32");
-
- Composite datawords2 = new Composite(data2, SWT.NONE);
- datawords2.setLayout(new GridLayout(1, false));
- dataViewer2 = new TableViewer(datawords2, SWT.BORDER | SWT.FULL_SELECTION);
- dataViewer2.setContentProvider(new DatawordContentProvider());
- dataViewer2.setLabelProvider(new DatawordLabelProvider());
- createDwordTable(dataViewer2);
- msgViewer2.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- MessageNode node = (MessageNode) selection.getFirstElement();
- if (node != null) {
- selectedRt = node.getRt();
- selectedTR = node.getTransmitReceive();
- selectedSubaddr = node.getSubaddress();
- chan2Dwrds.setCurrentNode(node.getName());
- }
- }
- });
- final Button reset2 = new Button(bottom2, SWT.PUSH);
- reset2.setText("Reset Display");
- reset2.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
- reset2.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- selectedRt = 0;
- selectedTR = 0;
- selectedSubaddr = 0;
- chan2Msgs.removeMessages();
- chan2Dwrds.setCurrentNode(null);
- }
- });
-
- // Setup Channel 3 display
- TabItem chan3Tab = new TabItem(tabFolder, SWT.NONE);
- chan3Tab.setText("Channel 3");
- Composite chan3TabComp = new Composite(tabFolder, SWT.NONE);
- chan3Tab.setControl(chan3TabComp);
- GridLayout chan3Layout = new GridLayout(1, false);
- chan3TabComp.setLayout(chan3Layout);
- msgViewer3 = new TableViewer(chan3TabComp, SWT.BORDER | SWT.FULL_SELECTION);
- msgViewer3.setContentProvider(new MuxMsgContentProvider());
- msgViewer3.setLabelProvider(new MuxMsgLabelProvider());
- msgViewer3.setSorter(new NameSorter());
- createMsgTable(msgViewer3);
- Composite bottom3 = new Composite(chan3TabComp, SWT.NONE);
- bottom3.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
- bottom3.setLayout(new GridLayout(2, false));
-
- Composite data3 = new Composite(bottom3, SWT.NONE);
- RowLayout dataLayout3 = new RowLayout(SWT.HORIZONTAL);
- data3.setLayout(dataLayout3);
-
- Composite labels3 = new Composite(data3, SWT.NONE);
- RowLayout lableLayout3 = new RowLayout(SWT.VERTICAL);
- lableLayout3.marginTop = 5;
- lableLayout3.spacing = 1;
- labels3.setLayout(lableLayout3);
- Label label1_3 = new Label(labels3, SWT.NONE);
- label1_3.setText("Datawords 1-8");
- Label label2_3 = new Label(labels3, SWT.NONE);
- label2_3.setText("Datawords 9-16");
- Label label3_3 = new Label(labels3, SWT.NONE);
- label3_3.setText("Datawords 17-24");
- Label label4_3 = new Label(labels3, SWT.NONE);
- label4_3.setText("Datawords 25-32");
-
- Composite datawords3 = new Composite(data3, SWT.NONE);
- datawords3.setLayout(new GridLayout(1, false));
- dataViewer3 = new TableViewer(datawords3, SWT.BORDER | SWT.FULL_SELECTION);
- dataViewer3.setContentProvider(new DatawordContentProvider());
- dataViewer3.setLabelProvider(new DatawordLabelProvider());
- createDwordTable(dataViewer3);
- msgViewer3.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- MessageNode node = (MessageNode) selection.getFirstElement();
- if (node != null) {
- selectedRt = node.getRt();
- selectedTR = node.getTransmitReceive();
- selectedSubaddr = node.getSubaddress();
- chan3Dwrds.setCurrentNode(node.getName());
- }
- }
- });
- final Button reset3 = new Button(bottom3, SWT.PUSH);
- reset3.setText("Reset Display");
- reset3.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
- reset3.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- selectedRt = 0;
- selectedTR = 0;
- selectedSubaddr = 0;
- chan3Msgs.removeMessages();
- chan3Dwrds.setCurrentNode(null);
- }
- });
-
- // Setup Channel 5 display
- TabItem chan5Tab = new TabItem(tabFolder, SWT.NONE);
- chan5Tab.setText("Channel 5");
- Composite chan5TabComp = new Composite(tabFolder, SWT.NONE);
- chan5Tab.setControl(chan5TabComp);
- GridLayout chan5Layout = new GridLayout(1, false);
- chan5TabComp.setLayout(chan5Layout);
- msgViewer5 = new TableViewer(chan5TabComp, SWT.BORDER | SWT.FULL_SELECTION);
- msgViewer5.setContentProvider(new MuxMsgContentProvider());
- msgViewer5.setLabelProvider(new MuxMsgLabelProvider());
- msgViewer5.setSorter(new NameSorter());
- createMsgTable(msgViewer5);
- Composite bottom5 = new Composite(chan5TabComp, SWT.NONE);
- bottom5.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
- bottom5.setLayout(new GridLayout(2, false));
-
- Composite data5 = new Composite(bottom5, SWT.NONE);
- RowLayout dataLayout5 = new RowLayout(SWT.HORIZONTAL);
- data5.setLayout(dataLayout5);
-
- Composite labels5 = new Composite(data5, SWT.NONE);
- RowLayout lableLayout5 = new RowLayout(SWT.VERTICAL);
- lableLayout5.marginTop = 5;
- lableLayout5.spacing = 1;
- labels5.setLayout(lableLayout5);
- Label label1_5 = new Label(labels5, SWT.NONE);
- label1_5.setText("Datawords 1-8");
- Label label2_5 = new Label(labels5, SWT.NONE);
- label2_5.setText("Datawords 9-16");
- Label label3_5 = new Label(labels5, SWT.NONE);
- label3_5.setText("Datawords 17-24");
- Label label4_5 = new Label(labels5, SWT.NONE);
- label4_5.setText("Datawords 25-32");
-
- Composite datawords5 = new Composite(data5, SWT.NONE);
- datawords5.setLayout(new GridLayout(1, false));
- dataViewer5 = new TableViewer(datawords5, SWT.BORDER | SWT.FULL_SELECTION);
- dataViewer5.setContentProvider(new DatawordContentProvider());
- dataViewer5.setLabelProvider(new DatawordLabelProvider());
- createDwordTable(dataViewer5);
- msgViewer5.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- IStructuredSelection selection = (IStructuredSelection) event.getSelection();
- MessageNode node = (MessageNode) selection.getFirstElement();
- if (node != null) {
- selectedRt = node.getRt();
- selectedTR = node.getTransmitReceive();
- selectedSubaddr = node.getSubaddress();
- chan5Dwrds.setCurrentNode(node.getName());
- }
- }
- });
- final Button reset5 = new Button(bottom5, SWT.PUSH);
- reset5.setText("Reset Display");
- reset5.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
- reset5.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- selectedRt = 0;
- selectedTR = 0;
- selectedSubaddr = 0;
- chan5Msgs.removeMessages();
- chan5Dwrds.setCurrentNode(null);
- }
- });
- msgViewer1.setInput(chan1Msgs = new MessageModel());
- dataViewer1.setInput(chan1Dwrds = new DatawordModel());
- msgViewer2.setInput(chan2Msgs = new MessageModel());
- dataViewer2.setInput(chan2Dwrds = new DatawordModel());
- msgViewer3.setInput(chan3Msgs = new MessageModel());
- dataViewer3.setInput(chan3Dwrds = new DatawordModel());
- msgViewer5.setInput(chan5Msgs = new MessageModel());
- dataViewer5.setInput(chan5Dwrds = new DatawordModel());
- updateColors(false);
- try {
- thread = new ListenerThread();
- } catch (Exception e) {
- OseeLog.log(MuxView.class, Level.SEVERE, "Mux View could not start listening thread", e);
- MessageDialog.openError(parent.getShell(), "Error", "Mux View could not initialize. See Error Log for details");
- return;
- }
- thread.start();
-
- task = new PeriodicDisplayTask(Display.getDefault(), 333) {
- @Override
- protected void update() {
- try {
- msgViewer1.refresh();
- dataViewer1.refresh();
- msgViewer2.refresh();
- dataViewer2.refresh();
- msgViewer3.refresh();
- dataViewer3.refresh();
- msgViewer5.refresh();
- dataViewer5.refresh();
- } catch (Throwable t) {
- OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "problems refreshing viewer", t);
- stop();
- }
- }
- };
- task.start();
- PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "org.eclipse.osee.ote.ui.mux.muxView");
- MuxToolPlugin.getDefault().getOteClientService().addConnectionListener(this);
- }
-
- /**
- * Create the Mux Message Tree
- */
- private void createMsgTable(TableViewer parent) {
- final Table table = parent.getTable();
- GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
- int height = table.getItemHeight() * 20;
- Rectangle trim = table.computeTrim(0, 0, 0, height);
- gridData.heightHint = trim.height;
- table.setLayoutData(gridData);
- table.setHeaderVisible(true);
- TableColumn column = new TableColumn(table, SWT.CENTER, 0);
- column.setText("Message");
- column.setWidth(70);
- column = new TableColumn(table, SWT.CENTER, 1);
- column.setText("RT-RT");
- column.setWidth(60);
- column = new TableColumn(table, SWT.CENTER, 2);
- column.setText("Word Cnt");
- column.setWidth(70);
- column = new TableColumn(table, SWT.CENTER, 3);
- column.setText("StatusWd");
- column.setWidth(70);
- column = new TableColumn(table, SWT.CENTER, 4);
- column.setText("Emulation");
- column.setWidth(70);
- column = new TableColumn(table, SWT.CENTER, 5);
- column.setText("Bus");
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 6);
- column.setText("Activity");
- column.setWidth(60);
- column = new TableColumn(table, SWT.CENTER, 7);
- column.setText("Error Cnt");
- column.setWidth(70);
- column = new TableColumn(table, SWT.CENTER, 8);
- column.setText("Error Type");
- column.setWidth(150);
-
- table.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseDown(final MouseEvent event) {
- if (event.button == 3) {
- Menu menu = new Menu(table.getShell(), SWT.POP_UP);
- MenuItem enableBoth = new MenuItem(menu, SWT.PUSH);
- enableBoth.setText("Emulate RT (Pri + Sec)");
- enableBoth.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (muxProbe != null) {
- byte[] cmd = new byte[4];
- cmd[0] = 'R'; // RT simulation cmd
- cmd[1] = (byte) selectedChannel;
- cmd[2] = (byte) selectedRt;
- cmd[3] = (byte) 3;
- try {
- muxProbe.command(cmd);
- } catch (RemoteException ex) {
- OseeLog.log(MuxToolPlugin.class, Level.WARNING,
- "MuxView unable to send RT simulation command");
- }
- }
- }
- });
- MenuItem enableA = new MenuItem(menu, SWT.PUSH);
- enableA.setText("Emulate RT (Pri Only)");
- enableA.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (muxProbe != null) {
- byte[] cmd = new byte[4];
- cmd[0] = 'R'; // RT simulation cmd
- cmd[1] = (byte) selectedChannel;
- cmd[2] = (byte) selectedRt;
- cmd[3] = (byte) 1;
- try {
- muxProbe.command(cmd);
- } catch (RemoteException ex) {
- OseeLog.log(MuxToolPlugin.class, Level.WARNING,
- "MuxView unable to send RT simulation command");
- }
- }
- }
- });
- MenuItem enableB = new MenuItem(menu, SWT.PUSH);
- enableB.setText("Emulate RT (Sec only)");
- enableB.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (muxProbe != null) {
- byte[] cmd = new byte[4];
- cmd[0] = 'R'; // RT simulation cmd
- cmd[1] = (byte) selectedChannel;
- cmd[2] = (byte) selectedRt;
- cmd[3] = (byte) 2;
- try {
- muxProbe.command(cmd);
- } catch (RemoteException ex) {
- OseeLog.log(MuxToolPlugin.class, Level.WARNING,
- "MuxView unable to send RT simulation command");
- }
- }
- }
- });
- new MenuItem(menu, SWT.SEPARATOR);
- MenuItem disableBoth = new MenuItem(menu, SWT.PUSH);
- disableBoth.setText("Monitor RT (Pri + Sec)");
- disableBoth.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (muxProbe != null) {
- byte[] cmd = new byte[4];
- cmd[0] = 'R'; // RT simulation cmd
- cmd[1] = (byte) selectedChannel;
- cmd[2] = (byte) selectedRt;
- cmd[3] = (byte) 0;
- try {
- muxProbe.command(cmd);
- } catch (RemoteException ex) {
- OseeLog.log(MuxToolPlugin.class, Level.WARNING,
- "MuxView unable to send RT simulation command");
- }
- }
- }
- });
-
- // draws pop up menu:
- Point pt = new Point(event.x, event.y);
- pt = table.toDisplay(pt);
- menu.setLocation(pt.x, pt.y);
- menu.setVisible(true);
- }
- }
- });
-
- }
-
- /**
- * Create the Datawords Tree
- */
- private void createDwordTable(final TableViewer parent) {
- final Table table = parent.getTable();
- GridData gridData = new GridData();
- int height = table.getItemHeight() * 2;
- Rectangle trim = table.computeTrim(0, 0, 0, height);
- gridData.heightHint = trim.height;
- table.setLayoutData(gridData);
- table.setHeaderVisible(false);
- table.setLinesVisible(true);
-
- TableColumn column = new TableColumn(table, SWT.CENTER, 0);
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 1);
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 2);
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 3);
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 4);
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 5);
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 6);
- column.setWidth(50);
- column = new TableColumn(table, SWT.CENTER, 7);
- column.setWidth(50);
-
- table.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
-
- final TableCursor cursor = new TableCursor(table, SWT.NONE);
- final ControlEditor editor = new ControlEditor(cursor);
- editor.grabHorizontal = true;
- editor.grabVertical = true;
-
- cursor.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- final Text text = new Text(cursor, SWT.NONE);
- text.setTextLimit(4);
- TableItem row = cursor.getRow();
- int column = cursor.getColumn();
- text.setText(row.getText(column));
- text.addKeyListener(new KeyAdapter() {
- @Override
- public void keyPressed(KeyEvent e) {
- // close the text editor and copy the data over
- // when the user hits "ENTER"
- if (e.character == SWT.CR) {
- TableItem row = cursor.getRow();
- int column = cursor.getColumn();
- int newVal = Integer.parseInt(text.getText(), 16);
- row.setText(column, text.getText());
- text.dispose();
- cursor.dispose();
- if (muxProbe != null) {
- byte[] cmd = new byte[100];
- int index = 0;
- cmd[index++] = 'S'; // set 1553 data cmd
- cmd[index++] = (byte) selectedChannel;
- cmd[index++] = (byte) selectedRt;
- cmd[index++] = (byte) selectedTR;
- cmd[index++] = (byte) selectedSubaddr;
- Object[] o = ((DatawordModel) parent.getInput()).getChildren();
- ((RowNode) o[table.indexOf(row)]).setDataword(newVal, column);
- for (Object r : o) {
- for (int i = 0; i < 16; i++) {
- cmd[index++] = ((RowNode) r).getDatabyte(i);
- }
- }
- try {
- muxProbe.command(cmd);
- } catch (RemoteException ex) {
- OseeLog.log(MuxToolPlugin.class, Level.WARNING,
- "MuxView unable to send RT simulation command");
- }
- }
- }
- // close the text editor when the user hits
- // "ESC"
- if (e.character == SWT.ESC) {
- text.dispose();
- cursor.dispose();
- }
- // allow only hexadecimal characters, backspace,
- // delete,
- // left and right arrow keys
- if (e.character >= 0x30 && e.character <= 0x39 || e.character >= 0x41 && e.character <= 0x46 || e.character >= 0x61 && e.character <= 0x66 || e.character == SWT.BS || e.character == SWT.DEL || e.keyCode == SWT.ARROW_LEFT || e.keyCode == SWT.ARROW_RIGHT) {
- e.doit = true;
- } else {
- e.doit = false;
- }
- }
- });
- // close the text editor when the user clicks away
- text.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- text.dispose();
- cursor.dispose();
- }
- });
- editor.setEditor(text);
- text.setFocus();
- }
- });
- table.deselectAll();
- }
- });
- }
-
- /**
- * Passing the focus request to the viewer's control.
- */
- @Override
- public void setFocus() {
- // msgViewer1.getControl().setFocus();
- }
-
- @Override
- public void dispose() {
- MuxToolPlugin.getDefault().getOteClientService().removeConnectionListener(this);
- ITestEnvironment env = MuxToolPlugin.getDefault().getOteClientService().getConnectedEnvironment();
- if (env != null) {
- try {
- ((ITestEnvironmentMessageSystem) env).removeInstrumentationRegistrationListener(exportedThis);
- } catch (RemoteException ex) {
- OseeLog.log(MuxView.class, Level.WARNING, "could not deregister instrumentation registration listener", ex);
- }
- IServiceConnector connector = MuxToolPlugin.getDefault().getOteClientService().getConnector();
- try {
- connector.unexport(this);
- } catch (Exception ex) {
- OseeLog.log(MuxView.class, Level.WARNING, "could not unexport this", ex);
- }
- }
- if (muxProbe != null) {
- try {
- muxProbe.unregister(thread.address);
- } catch (RemoteException ex) {
- OseeLog.log(MuxView.class, Level.WARNING, "could not disconnect from mux probe", ex);
- }
- muxProbe = null;
- }
- if (task != null) {
- task.stop();
- }
- thread.shutdown();
-
- super.dispose();
- }
-
- class ListenerThread extends Thread {
- private volatile boolean done = false;
- private final DatagramChannel channel;
- private final InetSocketAddress address;
-
- public ListenerThread() throws IOException {
- super("Mux View Listener Thread");
- channel = DatagramChannel.open();
- port = PortUtil.getInstance().getValidPort();
- address = new InetSocketAddress(InetAddress.getLocalHost(), port);
- channel.socket().bind(address);
- OseeLog.log(MuxToolPlugin.class, Level.INFO,
- "MuxView connection - host: " + address.getHostName() + " port: " + address.getPort());
- }
-
- @Override
- public void run() {
- final ByteBuffer buffer = ByteBuffer.wrap(new byte[256]);
- try {
- while (!done) {
- buffer.clear();
- channel.receive(buffer);
- buffer.flip();
- switch (buffer.array()[0]) {
- case 1:
- chan1Msgs.onDataAvailable(buffer);
- chan1Dwrds.onDataAvailable(buffer);
- break;
- case 2:
- chan2Msgs.onDataAvailable(buffer);
- chan2Dwrds.onDataAvailable(buffer);
- break;
- case 3:
- chan3Msgs.onDataAvailable(buffer);
- chan3Dwrds.onDataAvailable(buffer);
- break;
- case 5:
- chan5Msgs.onDataAvailable(buffer);
- chan5Dwrds.onDataAvailable(buffer);
- }
- }
- } catch (InterruptedIOException e) {
- Thread.currentThread().interrupt();
- } catch (IOException e) {
- if (!isInterrupted()) {
- OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "Interrupted", e);
- }
- } finally {
- try {
- channel.close();
- } catch (IOException e) {
- // do nothing
- }
- }
- }
-
- public void shutdown() {
- done = true;
- interrupt();
- try {
- thread.join(5000);
- assert !channel.isOpen();
- } catch (InterruptedException e) {
- OseeLog.log(MuxView.class, Level.SEVERE, "could not join wiht listener thread", e);
- }
- }
- }
-
- @Override
- public void onConnectionLost(IServiceConnector connector) {
- handleConnectionLostStatus();
- }
-
- @Override
- public void onPostConnect(final ConnectionEvent event) {
- final ITestEnvironmentMessageSystem environment = (ITestEnvironmentMessageSystem) event.getEnvironment();
- if (environment != null) {
- // we are connected
- try {
- exportedThis = (IInstrumentationRegistrationListener) event.getConnector().findExport(MuxView.this);
- if (exportedThis == null) {
- exportedThis = (IInstrumentationRegistrationListener) event.getConnector().export(MuxView.this);
- }
- environment.addInstrumentationRegistrationListener(exportedThis);
- } catch (Exception ex) {
- OseeLog.log(MuxView.class, Level.SEVERE, "could not register for instrumentation events", ex);
- Displays.ensureInDisplayThread(new Runnable() {
- @Override
- public void run() {
- MessageDialog.openError(Displays.getActiveShell(), "Connect Error",
- "Could not register for instrumentation events. See Error Log for details");
- }
-
- });
-
- }
- }
-
- }
-
- private void detach() {
-
- }
-
- @Override
- public void onPreDisconnect(ConnectionEvent event) {
- final ITestEnvironmentMessageSystem environment = (ITestEnvironmentMessageSystem) event.getEnvironment();
- try {
- environment.removeInstrumentationRegistrationListener(exportedThis);
- } catch (RemoteException ex1) {
- OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "Problem unregistering instrumentation registration listener",
- ex1);
- }
-
- if (muxProbe != null) {
- try {
- muxProbe.unregister(thread.address);
- } catch (RemoteException ex) {
- OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "Problem unregistering socket address", ex);
- } finally {
- muxProbe = null;
- }
- }
- handleConnectionLostStatus();
- }
-
- private void handleConnectionLostStatus() {
- Displays.ensureInDisplayThread(new Runnable() {
- @Override
- public void run() {
- updateColors(false);
- // we are not connected
- if (task != null) {
- task.stop();
- }
- }
- });
- }
-
- private void updateColors(boolean connected) {
- msgViewer1.getTable().setBackground(connected ? WHITE : GRAY);
- msgViewer2.getTable().setBackground(connected ? WHITE : GRAY);
- msgViewer3.getTable().setBackground(connected ? WHITE : GRAY);
- msgViewer5.getTable().setBackground(connected ? WHITE : GRAY);
- dataViewer1.getTable().setBackground(connected ? WHITE : GRAY);
- dataViewer2.getTable().setBackground(connected ? WHITE : GRAY);
- dataViewer3.getTable().setBackground(connected ? WHITE : GRAY);
- dataViewer5.getTable().setBackground(connected ? WHITE : GRAY);
- }
-
- @Override
- public void onDeregistered(String name) throws RemoteException {
- if (muxProbe != null && name.equals("MUXIO")) {
- muxProbe = null;
- handleConnectionLostStatus();
- }
- }
-
- @Override
- public void onRegistered(String name, IOInstrumentation instrumentation) throws RemoteException {
- try {
- if (muxProbe == null && name.equals("MUXIO")) {
- muxProbe = instrumentation;
- Displays.ensureInDisplayThread(new Runnable() {
- @Override
- public void run() {
- if (task != null) {
- task.start();
- }
- updateColors(true);
- }
-
- });
- muxProbe.register(thread.address);
-
- }
- } catch (RemoteException ex) {
- OseeLog.log(MuxToolPlugin.class, Level.SEVERE,
- "Problem registering socket address with remote instrumentation service", ex);
- }
-
- }
+ private TableViewer msgViewer1, msgViewer2, msgViewer3, msgViewer5;
+ private TableViewer dataViewer1, dataViewer2, dataViewer3, dataViewer5;
+ private MessageModel chan1Msgs, chan2Msgs, chan3Msgs, chan5Msgs;
+ private DatawordModel chan1Dwrds, chan2Dwrds, chan3Dwrds, chan5Dwrds;
+ private IOInstrumentation muxProbe;
+ private PeriodicDisplayTask task;
+ private ListenerThread thread;
+ private int port;
+ private int selectedChannel;
+ private int selectedRt;
+ private int selectedTR;
+ private int selectedSubaddr;
+ private final static Color GRAY = Displays.getSystemColor(SWT.COLOR_GRAY);
+ private final static Color WHITE = Displays.getSystemColor(SWT.COLOR_WHITE);
+
+ private IInstrumentationRegistrationListener exportedThis;
+
+ public static final String VIEW_ID = "osee.test.muxTool.views.MuxView";
+ class NameSorter extends ViewerSorter {
+ }
+
+ /**
+ * The constructor.
+ */
+ public MuxView() {
+ super();
+ }
+
+ /**
+ * This is a callback that will allow us to create the viewers and initialize them.
+ */
+ @Override
+ public void createPartControl(Composite parent) {
+ final TabFolder tabFolder = new TabFolder(parent, SWT.WRAP);
+ tabFolder.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ switch (tabFolder.getSelectionIndex()) {
+ case 0:
+ selectedChannel = 1;
+ break;
+ case 1:
+ selectedChannel = 2;
+ break;
+ case 2:
+ selectedChannel = 3;
+ break;
+ case 3:
+ selectedChannel = 5;
+ break;
+ default:
+ selectedChannel = 1;
+ }
+ }
+
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ });
+
+ // Setup Channel 1 display
+ TabItem chan1Tab = new TabItem(tabFolder, SWT.NONE);
+ chan1Tab.setText("Channel 1");
+ Composite chan1TabComp = new Composite(tabFolder, SWT.NONE);
+ chan1Tab.setControl(chan1TabComp);
+ GridLayout chan1Layout = new GridLayout(1, false);
+ chan1TabComp.setLayout(chan1Layout);
+
+ msgViewer1 = new TableViewer(chan1TabComp, SWT.BORDER | SWT.FULL_SELECTION);
+ msgViewer1.setLabelProvider(new MuxMsgLabelProvider());
+ msgViewer1.setSorter(new NameSorter());
+ msgViewer1.setContentProvider(new MuxMsgContentProvider());
+
+ createMsgTable(msgViewer1);
+
+ Composite bottom1 = new Composite(chan1TabComp, SWT.NONE);
+ bottom1.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ bottom1.setLayout(new GridLayout(2, false));
+
+ Composite data1 = new Composite(bottom1, SWT.NONE);
+ RowLayout dataLayout1 = new RowLayout(SWT.HORIZONTAL);
+ data1.setLayout(dataLayout1);
+
+ Composite labels1 = new Composite(data1, SWT.NONE);
+ RowLayout labelLayout1 = new RowLayout(SWT.VERTICAL);
+ labelLayout1.marginTop = 5;
+ labelLayout1.spacing = 1;
+ labels1.setLayout(labelLayout1);
+ Label label1_1 = new Label(labels1, SWT.NONE);
+ label1_1.setText("Datawords 1-8");
+ Label label2_1 = new Label(labels1, SWT.NONE);
+ label2_1.setText("Datawords 9-16");
+ Label label3_1 = new Label(labels1, SWT.NONE);
+ label3_1.setText("Datawords 17-24");
+ Label label4_1 = new Label(labels1, SWT.NONE);
+ label4_1.setText("Datawords 25-32");
+
+ Composite datawords1 = new Composite(data1, SWT.NONE);
+ datawords1.setLayout(new GridLayout(1, false));
+ dataViewer1 = new TableViewer(datawords1, SWT.BORDER | SWT.FULL_SELECTION);
+ dataViewer1.setContentProvider(new DatawordContentProvider());
+ dataViewer1.setLabelProvider(new DatawordLabelProvider());
+ createDwordTable(dataViewer1);
+ msgViewer1.addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ MessageNode node = (MessageNode) selection.getFirstElement();
+ if (node != null) {
+ selectedRt = node.getRt();
+ selectedTR = node.getTransmitReceive();
+ selectedSubaddr = node.getSubaddress();
+ chan1Dwrds.setCurrentNode(node.getName());
+ }
+ }
+ });
+ final Button reset1 = new Button(bottom1, SWT.PUSH);
+ reset1.setText("Reset Display");
+ reset1.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
+ reset1.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectedRt = 0;
+ selectedTR = 0;
+ selectedSubaddr = 0;
+ chan1Msgs.removeMessages();
+ chan1Dwrds.setCurrentNode(null);
+ }
+ });
+
+ // Setup Channel 2 display
+ TabItem chan2Tab = new TabItem(tabFolder, SWT.NONE);
+ chan2Tab.setText("Channel 2");
+ Composite chan2TabComp = new Composite(tabFolder, SWT.NONE);
+ chan2Tab.setControl(chan2TabComp);
+ GridLayout chan2Layout = new GridLayout(1, false);
+ chan2TabComp.setLayout(chan2Layout);
+ msgViewer2 = new TableViewer(chan2TabComp, SWT.BORDER | SWT.FULL_SELECTION);
+ msgViewer2.setContentProvider(new MuxMsgContentProvider());
+ msgViewer2.setLabelProvider(new MuxMsgLabelProvider());
+ msgViewer2.setSorter(new NameSorter());
+ createMsgTable(msgViewer2);
+ Composite bottom2 = new Composite(chan2TabComp, SWT.NONE);
+ bottom2.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ bottom2.setLayout(new GridLayout(2, false));
+
+ Composite data2 = new Composite(bottom2, SWT.NONE);
+ RowLayout dataLayout2 = new RowLayout(SWT.HORIZONTAL);
+ data2.setLayout(dataLayout2);
+
+ Composite labels2 = new Composite(data2, SWT.NONE);
+ RowLayout lableLayout2 = new RowLayout(SWT.VERTICAL);
+ lableLayout2.marginTop = 5;
+ lableLayout2.spacing = 1;
+ labels2.setLayout(lableLayout2);
+ Label label1_2 = new Label(labels2, SWT.NONE);
+ label1_2.setText("Datawords 1-8");
+ Label label2_2 = new Label(labels2, SWT.NONE);
+ label2_2.setText("Datawords 9-16");
+ Label label3_2 = new Label(labels2, SWT.NONE);
+ label3_2.setText("Datawords 17-24");
+ Label label4_2 = new Label(labels2, SWT.NONE);
+ label4_2.setText("Datawords 25-32");
+
+ Composite datawords2 = new Composite(data2, SWT.NONE);
+ datawords2.setLayout(new GridLayout(1, false));
+ dataViewer2 = new TableViewer(datawords2, SWT.BORDER | SWT.FULL_SELECTION);
+ dataViewer2.setContentProvider(new DatawordContentProvider());
+ dataViewer2.setLabelProvider(new DatawordLabelProvider());
+ createDwordTable(dataViewer2);
+ msgViewer2.addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ MessageNode node = (MessageNode) selection.getFirstElement();
+ if (node != null) {
+ selectedRt = node.getRt();
+ selectedTR = node.getTransmitReceive();
+ selectedSubaddr = node.getSubaddress();
+ chan2Dwrds.setCurrentNode(node.getName());
+ }
+ }
+ });
+ final Button reset2 = new Button(bottom2, SWT.PUSH);
+ reset2.setText("Reset Display");
+ reset2.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
+ reset2.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectedRt = 0;
+ selectedTR = 0;
+ selectedSubaddr = 0;
+ chan2Msgs.removeMessages();
+ chan2Dwrds.setCurrentNode(null);
+ }
+ });
+
+ // Setup Channel 3 display
+ TabItem chan3Tab = new TabItem(tabFolder, SWT.NONE);
+ chan3Tab.setText("Channel 3");
+ Composite chan3TabComp = new Composite(tabFolder, SWT.NONE);
+ chan3Tab.setControl(chan3TabComp);
+ GridLayout chan3Layout = new GridLayout(1, false);
+ chan3TabComp.setLayout(chan3Layout);
+ msgViewer3 = new TableViewer(chan3TabComp, SWT.BORDER | SWT.FULL_SELECTION);
+ msgViewer3.setContentProvider(new MuxMsgContentProvider());
+ msgViewer3.setLabelProvider(new MuxMsgLabelProvider());
+ msgViewer3.setSorter(new NameSorter());
+ createMsgTable(msgViewer3);
+ Composite bottom3 = new Composite(chan3TabComp, SWT.NONE);
+ bottom3.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ bottom3.setLayout(new GridLayout(2, false));
+
+ Composite data3 = new Composite(bottom3, SWT.NONE);
+ RowLayout dataLayout3 = new RowLayout(SWT.HORIZONTAL);
+ data3.setLayout(dataLayout3);
+
+ Composite labels3 = new Composite(data3, SWT.NONE);
+ RowLayout lableLayout3 = new RowLayout(SWT.VERTICAL);
+ lableLayout3.marginTop = 5;
+ lableLayout3.spacing = 1;
+ labels3.setLayout(lableLayout3);
+ Label label1_3 = new Label(labels3, SWT.NONE);
+ label1_3.setText("Datawords 1-8");
+ Label label2_3 = new Label(labels3, SWT.NONE);
+ label2_3.setText("Datawords 9-16");
+ Label label3_3 = new Label(labels3, SWT.NONE);
+ label3_3.setText("Datawords 17-24");
+ Label label4_3 = new Label(labels3, SWT.NONE);
+ label4_3.setText("Datawords 25-32");
+
+ Composite datawords3 = new Composite(data3, SWT.NONE);
+ datawords3.setLayout(new GridLayout(1, false));
+ dataViewer3 = new TableViewer(datawords3, SWT.BORDER | SWT.FULL_SELECTION);
+ dataViewer3.setContentProvider(new DatawordContentProvider());
+ dataViewer3.setLabelProvider(new DatawordLabelProvider());
+ createDwordTable(dataViewer3);
+ msgViewer3.addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ MessageNode node = (MessageNode) selection.getFirstElement();
+ if (node != null) {
+ selectedRt = node.getRt();
+ selectedTR = node.getTransmitReceive();
+ selectedSubaddr = node.getSubaddress();
+ chan3Dwrds.setCurrentNode(node.getName());
+ }
+ }
+ });
+ final Button reset3 = new Button(bottom3, SWT.PUSH);
+ reset3.setText("Reset Display");
+ reset3.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
+ reset3.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectedRt = 0;
+ selectedTR = 0;
+ selectedSubaddr = 0;
+ chan3Msgs.removeMessages();
+ chan3Dwrds.setCurrentNode(null);
+ }
+ });
+
+ // Setup Channel 5 display
+ TabItem chan5Tab = new TabItem(tabFolder, SWT.NONE);
+ chan5Tab.setText("Channel 5");
+ Composite chan5TabComp = new Composite(tabFolder, SWT.NONE);
+ chan5Tab.setControl(chan5TabComp);
+ GridLayout chan5Layout = new GridLayout(1, false);
+ chan5TabComp.setLayout(chan5Layout);
+ msgViewer5 = new TableViewer(chan5TabComp, SWT.BORDER | SWT.FULL_SELECTION);
+ msgViewer5.setContentProvider(new MuxMsgContentProvider());
+ msgViewer5.setLabelProvider(new MuxMsgLabelProvider());
+ msgViewer5.setSorter(new NameSorter());
+ createMsgTable(msgViewer5);
+ Composite bottom5 = new Composite(chan5TabComp, SWT.NONE);
+ bottom5.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ bottom5.setLayout(new GridLayout(2, false));
+
+ Composite data5 = new Composite(bottom5, SWT.NONE);
+ RowLayout dataLayout5 = new RowLayout(SWT.HORIZONTAL);
+ data5.setLayout(dataLayout5);
+
+ Composite labels5 = new Composite(data5, SWT.NONE);
+ RowLayout lableLayout5 = new RowLayout(SWT.VERTICAL);
+ lableLayout5.marginTop = 5;
+ lableLayout5.spacing = 1;
+ labels5.setLayout(lableLayout5);
+ Label label1_5 = new Label(labels5, SWT.NONE);
+ label1_5.setText("Datawords 1-8");
+ Label label2_5 = new Label(labels5, SWT.NONE);
+ label2_5.setText("Datawords 9-16");
+ Label label3_5 = new Label(labels5, SWT.NONE);
+ label3_5.setText("Datawords 17-24");
+ Label label4_5 = new Label(labels5, SWT.NONE);
+ label4_5.setText("Datawords 25-32");
+
+ Composite datawords5 = new Composite(data5, SWT.NONE);
+ datawords5.setLayout(new GridLayout(1, false));
+ dataViewer5 = new TableViewer(datawords5, SWT.BORDER | SWT.FULL_SELECTION);
+ dataViewer5.setContentProvider(new DatawordContentProvider());
+ dataViewer5.setLabelProvider(new DatawordLabelProvider());
+ createDwordTable(dataViewer5);
+ msgViewer5.addSelectionChangedListener(new ISelectionChangedListener() {
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ MessageNode node = (MessageNode) selection.getFirstElement();
+ if (node != null) {
+ selectedRt = node.getRt();
+ selectedTR = node.getTransmitReceive();
+ selectedSubaddr = node.getSubaddress();
+ chan5Dwrds.setCurrentNode(node.getName());
+ }
+ }
+ });
+ final Button reset5 = new Button(bottom5, SWT.PUSH);
+ reset5.setText("Reset Display");
+ reset5.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.GRAB_HORIZONTAL));
+ reset5.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ selectedRt = 0;
+ selectedTR = 0;
+ selectedSubaddr = 0;
+ chan5Msgs.removeMessages();
+ chan5Dwrds.setCurrentNode(null);
+ }
+ });
+ msgViewer1.setInput(chan1Msgs = new MessageModel());
+ dataViewer1.setInput(chan1Dwrds = new DatawordModel());
+ msgViewer2.setInput(chan2Msgs = new MessageModel());
+ dataViewer2.setInput(chan2Dwrds = new DatawordModel());
+ msgViewer3.setInput(chan3Msgs = new MessageModel());
+ dataViewer3.setInput(chan3Dwrds = new DatawordModel());
+ msgViewer5.setInput(chan5Msgs = new MessageModel());
+ dataViewer5.setInput(chan5Dwrds = new DatawordModel());
+ updateColors(false);
+ try {
+ thread = new ListenerThread();
+ } catch (Exception e) {
+ OseeLog.log(MuxView.class, Level.SEVERE, "Mux View could not start listening thread", e);
+ MessageDialog.openError(parent.getShell(), "Error", "Mux View could not initialize. See Error Log for details");
+ return;
+ }
+ thread.start();
+
+ task = new PeriodicDisplayTask(Display.getDefault(), 333) {
+ @Override
+ protected void update() {
+ try {
+ msgViewer1.refresh();
+ dataViewer1.refresh();
+ msgViewer2.refresh();
+ dataViewer2.refresh();
+ msgViewer3.refresh();
+ dataViewer3.refresh();
+ msgViewer5.refresh();
+ dataViewer5.refresh();
+ } catch (Throwable t) {
+ OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "problems refreshing viewer", t);
+ stop();
+ }
+ }
+ };
+ task.start();
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "org.eclipse.osee.ote.ui.mux.muxView");
+ MuxToolPlugin.getDefault().getOteClientService().addConnectionListener(this);
+ }
+
+ /**
+ * Create the Mux Message Tree
+ */
+ private void createMsgTable(TableViewer parent) {
+ final Table table = parent.getTable();
+ GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
+ int height = table.getItemHeight() * 20;
+ Rectangle trim = table.computeTrim(0, 0, 0, height);
+ gridData.heightHint = trim.height;
+ table.setLayoutData(gridData);
+ table.setHeaderVisible(true);
+ TableColumn column = new TableColumn(table, SWT.CENTER, 0);
+ column.setText("Message");
+ column.setWidth(70);
+ column = new TableColumn(table, SWT.CENTER, 1);
+ column.setText("RT-RT");
+ column.setWidth(60);
+ column = new TableColumn(table, SWT.CENTER, 2);
+ column.setText("Word Cnt");
+ column.setWidth(70);
+ column = new TableColumn(table, SWT.CENTER, 3);
+ column.setText("StatusWd");
+ column.setWidth(70);
+ column = new TableColumn(table, SWT.CENTER, 4);
+ column.setText("Emulation");
+ column.setWidth(70);
+ column = new TableColumn(table, SWT.CENTER, 5);
+ column.setText("Bus");
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 6);
+ column.setText("Activity");
+ column.setWidth(60);
+ column = new TableColumn(table, SWT.CENTER, 7);
+ column.setText("Error Cnt");
+ column.setWidth(70);
+ column = new TableColumn(table, SWT.CENTER, 8);
+ column.setText("Error Type");
+ column.setWidth(150);
+
+ table.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseDown(final MouseEvent event) {
+ if (event.button == 3) {
+ Menu menu = new Menu(table.getShell(), SWT.POP_UP);
+ MenuItem enableBoth = new MenuItem(menu, SWT.PUSH);
+ enableBoth.setText("Emulate RT (Pri + Sec)");
+ enableBoth.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (muxProbe != null) {
+ byte[] cmd = new byte[4];
+ cmd[0] = 'R'; // RT simulation cmd
+ cmd[1] = (byte) selectedChannel;
+ cmd[2] = (byte) selectedRt;
+ cmd[3] = (byte) 3;
+ try {
+ muxProbe.command(cmd);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxToolPlugin.class, Level.WARNING,
+ "MuxView unable to send RT simulation command");
+ }
+ }
+ }
+ });
+ MenuItem enableA = new MenuItem(menu, SWT.PUSH);
+ enableA.setText("Emulate RT (Pri Only)");
+ enableA.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (muxProbe != null) {
+ byte[] cmd = new byte[4];
+ cmd[0] = 'R'; // RT simulation cmd
+ cmd[1] = (byte) selectedChannel;
+ cmd[2] = (byte) selectedRt;
+ cmd[3] = (byte) 1;
+ try {
+ muxProbe.command(cmd);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxToolPlugin.class, Level.WARNING,
+ "MuxView unable to send RT simulation command");
+ }
+ }
+ }
+ });
+ MenuItem enableB = new MenuItem(menu, SWT.PUSH);
+ enableB.setText("Emulate RT (Sec only)");
+ enableB.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (muxProbe != null) {
+ byte[] cmd = new byte[4];
+ cmd[0] = 'R'; // RT simulation cmd
+ cmd[1] = (byte) selectedChannel;
+ cmd[2] = (byte) selectedRt;
+ cmd[3] = (byte) 2;
+ try {
+ muxProbe.command(cmd);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxToolPlugin.class, Level.WARNING,
+ "MuxView unable to send RT simulation command");
+ }
+ }
+ }
+ });
+ new MenuItem(menu, SWT.SEPARATOR);
+ MenuItem disableBoth = new MenuItem(menu, SWT.PUSH);
+ disableBoth.setText("Monitor RT (Pri + Sec)");
+ disableBoth.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ if (muxProbe != null) {
+ byte[] cmd = new byte[4];
+ cmd[0] = 'R'; // RT simulation cmd
+ cmd[1] = (byte) selectedChannel;
+ cmd[2] = (byte) selectedRt;
+ cmd[3] = (byte) 0;
+ try {
+ muxProbe.command(cmd);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxToolPlugin.class, Level.WARNING,
+ "MuxView unable to send RT simulation command");
+ }
+ }
+ }
+ });
+
+ // draws pop up menu:
+ Point pt = new Point(event.x, event.y);
+ pt = table.toDisplay(pt);
+ menu.setLocation(pt.x, pt.y);
+ menu.setVisible(true);
+ }
+ }
+ });
+
+ }
+
+ /**
+ * Create the Datawords Tree
+ */
+ private void createDwordTable(final TableViewer parent) {
+ final Table table = parent.getTable();
+ GridData gridData = new GridData();
+ int height = table.getItemHeight() * 2;
+ Rectangle trim = table.computeTrim(0, 0, 0, height);
+ gridData.heightHint = trim.height;
+ table.setLayoutData(gridData);
+ table.setHeaderVisible(false);
+ table.setLinesVisible(true);
+
+ TableColumn column = new TableColumn(table, SWT.CENTER, 0);
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 1);
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 2);
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 3);
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 4);
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 5);
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 6);
+ column.setWidth(50);
+ column = new TableColumn(table, SWT.CENTER, 7);
+ column.setWidth(50);
+
+ table.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+
+ final TableCursor cursor = new TableCursor(table, SWT.NONE);
+ final ControlEditor editor = new ControlEditor(cursor);
+ editor.grabHorizontal = true;
+ editor.grabVertical = true;
+
+ cursor.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ final Text text = new Text(cursor, SWT.NONE);
+ text.setTextLimit(4);
+ TableItem row = cursor.getRow();
+ int column = cursor.getColumn();
+ text.setText(row.getText(column));
+ text.addKeyListener(new KeyAdapter() {
+ @Override
+ public void keyPressed(KeyEvent e) {
+ // close the text editor and copy the data over
+ // when the user hits "ENTER"
+ if (e.character == SWT.CR) {
+ TableItem row = cursor.getRow();
+ int column = cursor.getColumn();
+ int newVal = Integer.parseInt(text.getText(), 16);
+ row.setText(column, text.getText());
+ text.dispose();
+ cursor.dispose();
+ if (muxProbe != null) {
+ byte[] cmd = new byte[100];
+ int index = 0;
+ cmd[index++] = 'S'; // set 1553 data cmd
+ cmd[index++] = (byte) selectedChannel;
+ cmd[index++] = (byte) selectedRt;
+ cmd[index++] = (byte) selectedTR;
+ cmd[index++] = (byte) selectedSubaddr;
+ Object[] o = ((DatawordModel) parent.getInput()).getChildren();
+ ((RowNode) o[table.indexOf(row)]).setDataword(newVal, column);
+ for (Object r : o) {
+ for (int i = 0; i < 16; i++) {
+ cmd[index++] = ((RowNode) r).getDatabyte(i);
+ }
+ }
+ try {
+ muxProbe.command(cmd);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxToolPlugin.class, Level.WARNING,
+ "MuxView unable to send RT simulation command");
+ }
+ }
+ }
+ // close the text editor when the user hits
+ // "ESC"
+ if (e.character == SWT.ESC) {
+ text.dispose();
+ cursor.dispose();
+ }
+ // allow only hexadecimal characters, backspace,
+ // delete,
+ // left and right arrow keys
+ if (e.character >= 0x30 && e.character <= 0x39 || e.character >= 0x41 && e.character <= 0x46 || e.character >= 0x61 && e.character <= 0x66 || e.character == SWT.BS || e.character == SWT.DEL || e.keyCode == SWT.ARROW_LEFT || e.keyCode == SWT.ARROW_RIGHT) {
+ e.doit = true;
+ } else {
+ e.doit = false;
+ }
+ }
+ });
+ // close the text editor when the user clicks away
+ text.addFocusListener(new FocusAdapter() {
+ @Override
+ public void focusLost(FocusEvent e) {
+ text.dispose();
+ cursor.dispose();
+ }
+ });
+ editor.setEditor(text);
+ text.setFocus();
+ }
+ });
+ table.deselectAll();
+ }
+ });
+ }
+
+ /**
+ * Passing the focus request to the viewer's control.
+ */
+ @Override
+ public void setFocus() {
+ // msgViewer1.getControl().setFocus();
+ }
+
+ @Override
+ public void dispose() {
+ MuxToolPlugin.getDefault().getOteClientService().removeConnectionListener(this);
+ ITestEnvironment env = MuxToolPlugin.getDefault().getOteClientService().getConnectedEnvironment();
+ if (env != null) {
+ try {
+ ((ITestEnvironmentMessageSystem) env).removeInstrumentationRegistrationListener(exportedThis);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxView.class, Level.WARNING, "could not deregister instrumentation registration listener", ex);
+ }
+ IServiceConnector connector = MuxToolPlugin.getDefault().getOteClientService().getConnector();
+ try {
+ connector.unexport(this);
+ } catch (Exception ex) {
+ OseeLog.log(MuxView.class, Level.WARNING, "could not unexport this", ex);
+ }
+ }
+ if (muxProbe != null) {
+ try {
+ muxProbe.unregister(thread.address);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxView.class, Level.WARNING, "could not disconnect from mux probe", ex);
+ }
+ muxProbe = null;
+ }
+ if (task != null) {
+ task.stop();
+ }
+ thread.shutdown();
+
+ super.dispose();
+ }
+
+ class ListenerThread extends Thread {
+ private volatile boolean done = false;
+ private final DatagramChannel channel;
+ private final InetSocketAddress address;
+
+ public ListenerThread() throws IOException {
+ super("Mux View Listener Thread");
+ channel = DatagramChannel.open();
+ port = PortUtil.getInstance().getValidPort();
+ address = new InetSocketAddress(InetAddress.getLocalHost(), port);
+ channel.socket().bind(address);
+ OseeLog.log(MuxToolPlugin.class, Level.INFO,
+ "MuxView connection - host: " + address.getHostName() + " port: " + address.getPort());
+ }
+
+ @Override
+ public void run() {
+ final ByteBuffer buffer = ByteBuffer.wrap(new byte[256]);
+ try {
+ while (!done) {
+ buffer.clear();
+ channel.receive(buffer);
+ buffer.flip();
+ switch (buffer.array()[0]) {
+ case 1:
+ chan1Msgs.onDataAvailable(buffer);
+ chan1Dwrds.onDataAvailable(buffer);
+ break;
+ case 2:
+ chan2Msgs.onDataAvailable(buffer);
+ chan2Dwrds.onDataAvailable(buffer);
+ break;
+ case 3:
+ chan3Msgs.onDataAvailable(buffer);
+ chan3Dwrds.onDataAvailable(buffer);
+ break;
+ case 5:
+ chan5Msgs.onDataAvailable(buffer);
+ chan5Dwrds.onDataAvailable(buffer);
+ }
+ }
+ } catch (InterruptedIOException e) {
+ Thread.currentThread().interrupt();
+ } catch (IOException e) {
+ if (!isInterrupted()) {
+ OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "Interrupted", e);
+ }
+ } finally {
+ try {
+ channel.close();
+ } catch (IOException e) {
+ // do nothing
+ }
+ }
+ }
+
+ public void shutdown() {
+ done = true;
+ interrupt();
+ try {
+ thread.join(5000);
+ assert !channel.isOpen();
+ } catch (InterruptedException e) {
+ OseeLog.log(MuxView.class, Level.SEVERE, "could not join wiht listener thread", e);
+ }
+ }
+ }
+
+ @Override
+ public void onConnectionLost(IServiceConnector connector) {
+ handleConnectionLostStatus();
+ }
+
+ @Override
+ public void onPostConnect(final ConnectionEvent event) {
+ final ITestEnvironmentMessageSystem environment = (ITestEnvironmentMessageSystem) event.getEnvironment();
+ if (environment != null) {
+ // we are connected
+ try {
+ exportedThis = (IInstrumentationRegistrationListener) event.getConnector().findExport(MuxView.this);
+ if (exportedThis == null) {
+ exportedThis = (IInstrumentationRegistrationListener) event.getConnector().export(MuxView.this);
+ }
+ environment.addInstrumentationRegistrationListener(exportedThis);
+ } catch (Exception ex) {
+ OseeLog.log(MuxView.class, Level.SEVERE, "could not register for instrumentation events", ex);
+ Displays.ensureInDisplayThread(new Runnable() {
+ @Override
+ public void run() {
+ MessageDialog.openError(Displays.getActiveShell(), "Connect Error",
+ "Could not register for instrumentation events. See Error Log for details");
+ }
+
+ });
+
+ }
+ }
+
+ }
+
+ private void detach() {
+
+ }
+
+ @Override
+ public void onPreDisconnect(ConnectionEvent event) {
+ final ITestEnvironmentMessageSystem environment = (ITestEnvironmentMessageSystem) event.getEnvironment();
+ try {
+ environment.removeInstrumentationRegistrationListener(exportedThis);
+ } catch (RemoteException ex1) {
+ OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "Problem unregistering instrumentation registration listener",
+ ex1);
+ }
+
+ if (muxProbe != null) {
+ try {
+ muxProbe.unregister(thread.address);
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxToolPlugin.class, Level.SEVERE, "Problem unregistering socket address", ex);
+ } finally {
+ muxProbe = null;
+ }
+ }
+ handleConnectionLostStatus();
+ }
+
+ private void handleConnectionLostStatus() {
+ Displays.ensureInDisplayThread(new Runnable() {
+ @Override
+ public void run() {
+ updateColors(false);
+ // we are not connected
+ if (task != null) {
+ task.stop();
+ }
+ }
+ });
+ }
+
+ private void updateColors(boolean connected) {
+ msgViewer1.getTable().setBackground(connected ? WHITE : GRAY);
+ msgViewer2.getTable().setBackground(connected ? WHITE : GRAY);
+ msgViewer3.getTable().setBackground(connected ? WHITE : GRAY);
+ msgViewer5.getTable().setBackground(connected ? WHITE : GRAY);
+ dataViewer1.getTable().setBackground(connected ? WHITE : GRAY);
+ dataViewer2.getTable().setBackground(connected ? WHITE : GRAY);
+ dataViewer3.getTable().setBackground(connected ? WHITE : GRAY);
+ dataViewer5.getTable().setBackground(connected ? WHITE : GRAY);
+ }
+
+ @Override
+ public void onDeregistered(String name) throws RemoteException {
+ if (muxProbe != null && name.equals("MUXIO")) {
+ muxProbe = null;
+ handleConnectionLostStatus();
+ }
+ }
+
+ @Override
+ public void onRegistered(String name, IOInstrumentation instrumentation) throws RemoteException {
+ try {
+ if (muxProbe == null && name.equals("MUXIO")) {
+ muxProbe = instrumentation;
+ Displays.ensureInDisplayThread(new Runnable() {
+ @Override
+ public void run() {
+ if (task != null) {
+ task.start();
+ }
+ updateColors(true);
+ }
+
+ });
+ muxProbe.register(thread.address);
+
+ }
+ } catch (RemoteException ex) {
+ OseeLog.log(MuxToolPlugin.class, Level.SEVERE,
+ "Problem registering socket address with remote instrumentation service", ex);
+ }
+
+ }
}

Back to the top