Merge branch 'sprint49'
diff --git a/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessage.java b/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessage.java
index 6336cad..0ebdf09 100644
--- a/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessage.java
+++ b/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessage.java
@@ -47,6 +47,7 @@
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
+ oos.flush();
return bos.toByteArray();
}
diff --git a/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/SerializedClassMessage.java b/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/SerializedClassMessage.java
new file mode 100644
index 0000000..b471189
--- /dev/null
+++ b/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/SerializedClassMessage.java
@@ -0,0 +1,76 @@
+package org.eclipse.ote.bytemessage;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectStreamClass;
+import java.io.Serializable;
+
+import org.eclipse.osee.ote.message.elements.ArrayElement;
+
+public class SerializedClassMessage<T> extends OteByteMessage {
+
+ public static final int _BYTE_SIZE = 0;
+
+ public ArrayElement OBJECT;
+
+ public SerializedClassMessage(String topic) {
+ super(SerializedClassMessage.class.getSimpleName(), topic, 1, _BYTE_SIZE);
+ OBJECT = new ArrayElement(this, "CLAZZ", getDefaultMessageData(), 0, 0, 0);
+ addElements(OBJECT);
+ }
+
+
+ public SerializedClassMessage(String topic, Serializable object) throws IOException {
+ this(topic);
+ setObject(object);
+ }
+
+ public SerializedClassMessage(byte[] bytes) {
+ super(bytes);
+ OBJECT = new ArrayElement(this, "CLAZZ", getDefaultMessageData(), 0, 0, 0);
+ addElements(OBJECT);
+ }
+
+ public void setObject(Serializable obj) throws IOException{
+ byte[] data = serializeObject(obj);
+ int offset = OBJECT.getByteOffset() + getHeaderSize();
+ byte[] newData = new byte[data.length + offset];
+ System.arraycopy(getData(), 0, newData, 0, offset);
+ System.arraycopy(data, 0, newData, offset, data.length);
+ getDefaultMessageData().setNewBackingBuffer(newData);
+ }
+
+ public T getObject() throws IOException, ClassNotFoundException{
+ int offset = OBJECT.getByteOffset() + getHeaderSize();
+ ByteArrayInputStream bis = new ByteArrayInputStream(getData(), offset, getData().length - offset);
+ ObjectInputStream ois = new ObjectInputStream(bis);
+ return (T)ois.readObject();
+ }
+
+ public T getObject(final Class<T> clazz) throws IOException, ClassNotFoundException{
+ return getObject(clazz, clazz.getClassLoader());
+ }
+
+ public T getObject(final Class<T> clazz, final ClassLoader loader) throws IOException, ClassNotFoundException{
+ int offset = OBJECT.getByteOffset() + getHeaderSize();
+ ByteArrayInputStream bis = new ByteArrayInputStream(getData(), offset, getData().length - offset);
+ ObjectInputStream ois = new ObjectInputStream(bis) {
+
+ @Override
+ protected Class<?> resolveClass(ObjectStreamClass desc)
+ throws IOException, ClassNotFoundException {
+ try {
+ return loader.loadClass(desc.getName());
+ } catch (ClassNotFoundException e) {
+ try {
+ return Thread.currentThread().getContextClassLoader().loadClass(desc.getName());
+ } catch (ClassNotFoundException e1) {
+ return super.resolveClass(desc);
+ }
+ }
+ }};
+ return clazz.cast(ois.readObject());
+ }
+
+}
diff --git a/org.eclipse.ote.event.bridge.jms/META-INF/MANIFEST.MF b/org.eclipse.ote.event.bridge.jms/META-INF/MANIFEST.MF
index 8a34aa1..aa682d1 100644
--- a/org.eclipse.ote.event.bridge.jms/META-INF/MANIFEST.MF
+++ b/org.eclipse.ote.event.bridge.jms/META-INF/MANIFEST.MF
@@ -8,6 +8,7 @@
Import-Package: org.eclipse.core.runtime;version="3.4.0",
org.eclipse.osee.framework.core.data,
org.eclipse.osee.framework.core.exception,
+ org.eclipse.osee.framework.jdk.core.type,
org.eclipse.osee.framework.logging,
org.eclipse.osee.framework.messaging,
org.eclipse.osee.ote.message,
diff --git a/org.eclipse.ote.event.bridge.jms/src/org/eclipse/ote/event/bridge/jms/EventToJmsComponent.java b/org.eclipse.ote.event.bridge.jms/src/org/eclipse/ote/event/bridge/jms/EventToJmsComponent.java
index 53a2da7..25adccf 100644
--- a/org.eclipse.ote.event.bridge.jms/src/org/eclipse/ote/event/bridge/jms/EventToJmsComponent.java
+++ b/org.eclipse.ote.event.bridge.jms/src/org/eclipse/ote/event/bridge/jms/EventToJmsComponent.java
@@ -17,7 +17,6 @@
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Level;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.messaging.OseeMessagingListener;
import org.eclipse.osee.framework.messaging.ReplyConnection;
@@ -87,7 +86,7 @@
OteByteMessageUtil.setUUID(msg, MYID);
connecitonNode.getConnectionNode().send(BridgeMessages.BYTE_MESSAGE, obj);
}
- } catch (OseeCoreException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
diff --git a/org.eclipse.ote.io/src/org/eclipse/ote/io/DatagramChannelWorker.java b/org.eclipse.ote.io/src/org/eclipse/ote/io/DatagramChannelWorker.java
index ed59bf9..440e59a 100644
--- a/org.eclipse.ote.io/src/org/eclipse/ote/io/DatagramChannelWorker.java
+++ b/org.eclipse.ote.io/src/org/eclipse/ote/io/DatagramChannelWorker.java
@@ -21,6 +21,7 @@
public void start(){
Thread th = new Thread(runnable);
th.setDaemon(true);
+ th.setPriority(Thread.MAX_PRIORITY);
th.setName(threadName);
th.start();
}
diff --git a/org.eclipse.ote.io/src/org/eclipse/ote/io/NanoTime.java b/org.eclipse.ote.io/src/org/eclipse/ote/io/NanoTime.java
new file mode 100644
index 0000000..e6aa27d
--- /dev/null
+++ b/org.eclipse.ote.io/src/org/eclipse/ote/io/NanoTime.java
@@ -0,0 +1,61 @@
+package org.eclipse.ote.io;
+
+/**
+ * This Class is useful for tooling time critical sections of code to help determine what might be
+ * running too slowly. It keeps track of both the average and the largest difference. the largest
+ * difference is useful for tracking down when we run into GC or thread scheduling issues that can
+ * cause poor performance at random times.
+ *
+ * @author Andrew M. Finkbeiner
+ *
+ */
+public class NanoTime {
+
+ long startTime;
+ long endTime;
+ long count = 1;
+ long longest = 0;
+ long totalElapsed = 0;
+
+ public void start(){
+ count++;
+ startTime = System.nanoTime();
+ }
+
+ public void stop(){
+ endTime = System.nanoTime();
+ long diff = endTime - startTime;
+ if(diff > 0 ){
+ if(diff > longest){
+ longest = diff;
+ }
+ totalElapsed+=diff;
+ if(totalElapsed < 0){//if addition wrapped reset the average
+ count = 1;
+ totalElapsed = 0;
+ }
+ }
+ }
+
+ public long average(){
+ return totalElapsed/count;
+ }
+
+ public long count(){
+ return count;
+ }
+
+ public long largestElapsed(){
+ return longest;
+ }
+
+ public String summary(){
+ return String.format("Average [%d]us Longest [%d]us count[%d]", average()/1000, largestElapsed()/1000, count());
+ }
+
+ public void print(String title, int interval){
+ if(count() % interval == 0){
+ System.out.println(title + " " + summary());
+ }
+ }
+}
\ No newline at end of file
diff --git a/org.eclipse.ote.jms.node/META-INF/MANIFEST.MF b/org.eclipse.ote.jms.node/META-INF/MANIFEST.MF
index 90c29d3..2b50b7e 100644
--- a/org.eclipse.ote.jms.node/META-INF/MANIFEST.MF
+++ b/org.eclipse.ote.jms.node/META-INF/MANIFEST.MF
@@ -7,6 +7,7 @@
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.eclipse.osee.connection.service,
org.eclipse.osee.framework.core.exception,
+ org.eclipse.osee.framework.jdk.core.type,
org.eclipse.osee.framework.jdk.core.util;resolution:=optional,
org.eclipse.osee.framework.logging,
org.eclipse.osee.framework.messaging,
diff --git a/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ClientSideConnectionNodeLifecycleController.java b/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ClientSideConnectionNodeLifecycleController.java
index 21a7c3b..dd9bef6 100644
--- a/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ClientSideConnectionNodeLifecycleController.java
+++ b/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ClientSideConnectionNodeLifecycleController.java
@@ -15,7 +15,6 @@
import java.util.logging.Level;
import org.eclipse.osee.connection.service.IServiceConnector;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.jdk.core.util.EnhancedProperties;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.messaging.ConnectionNode;
@@ -99,7 +98,7 @@
ConnectionNode node = messageService.get(nodeInfo);
registration =
context.registerService(JmsConnectionNodeProvider.class.getName(), new ClientSideConnectionNodeProviderImpl(node), null);
- } catch (OseeCoreException ex) {
+ } catch (Exception ex) {
OseeLog.log(getClass(), Level.SEVERE, ex);
}
}
diff --git a/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ServerSideConnectionNodeProviderImpl.java b/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ServerSideConnectionNodeProviderImpl.java
index 705331b..5de9eb1 100644
--- a/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ServerSideConnectionNodeProviderImpl.java
+++ b/org.eclipse.ote.jms.node/src/org/eclipse/ote/jms/node/internal/ServerSideConnectionNodeProviderImpl.java
@@ -10,10 +10,8 @@
*******************************************************************************/
package org.eclipse.ote.jms.node.internal;
-import java.rmi.RemoteException;
import java.util.logging.Level;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.messaging.ConnectionNode;
import org.eclipse.osee.framework.messaging.MessageService;
@@ -65,10 +63,8 @@
NodeInfo info = testEnv.getBroker();
ConnectionNode connection = messageService.get(info);
return connection;
- } catch (OseeCoreException ex) {
+ } catch (Exception ex) {
OseeLog.log(this.getClass(), Level.SEVERE, ex);
- } catch (RemoteException e) {
- OseeLog.log(this.getClass(), Level.SEVERE, e);
}
return null;
}
diff --git a/org.eclipse.ote.mavenbuild/pom.xml b/org.eclipse.ote.mavenbuild/pom.xml
index 420f78d..8c18e69 100644
--- a/org.eclipse.ote.mavenbuild/pom.xml
+++ b/org.eclipse.ote.mavenbuild/pom.xml
@@ -13,8 +13,8 @@
<build-alias>-DEV</build-alias>
<tycho-version>0.18.0</tycho-version>
<tychoExtrasVersion>0.18.0</tychoExtrasVersion>
- <platform-version-name>juno</platform-version-name>
- <orbit-version>R20120119162704</orbit-version>
+ <platform-version-name>kepler</platform-version-name>
+ <orbit-version>R20130517111416</orbit-version>
<orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/${orbit-version}/repository</orbit-site>
<eclipse-site>http://download.eclipse.org/releases/${platform-version-name}</eclipse-site>
<wikitext-site>http://download.eclipse.org/tools/mylyn/update/weekly</wikitext-site>
@@ -39,17 +39,17 @@
<repositories>
<repository>
- <id>eclipse-site</id>
+ <id>eclipse</id>
<layout>p2</layout>
<url>${eclipse-site}</url>
</repository>
<repository>
- <id>orbit-site</id>
+ <id>orbit</id>
<layout>p2</layout>
<url>${orbit-site}</url>
</repository>
<repository>
- <id>nebula-site</id>
+ <id>nebula</id>
<layout>p2</layout>
<url>${nebula-site}</url>
</repository>
diff --git a/org.eclipse.ote.ui.eviewer/META-INF/MANIFEST.MF b/org.eclipse.ote.ui.eviewer/META-INF/MANIFEST.MF
index 69f2fb2..5f903d9 100644
--- a/org.eclipse.ote.ui.eviewer/META-INF/MANIFEST.MF
+++ b/org.eclipse.ote.ui.eviewer/META-INF/MANIFEST.MF
@@ -10,7 +10,6 @@
org.eclipse.osee.framework.logging,
org.eclipse.osee.framework.ui.swt,
org.eclipse.osee.framework.ui.plugin,
- org.eclipse.osee.ote.message,
org.eclipse.osee.ote.core,
org.eclipse.osee.framework.plugin.core
Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.ote.ui.message.util/META-INF/MANIFEST.MF b/org.eclipse.ote.ui.message.util/META-INF/MANIFEST.MF
index e912856..39d86a9 100644
--- a/org.eclipse.ote.ui.message.util/META-INF/MANIFEST.MF
+++ b/org.eclipse.ote.ui.message.util/META-INF/MANIFEST.MF
@@ -8,7 +8,6 @@
org.eclipse.core.runtime,
org.eclipse.osee.framework.logging,
org.eclipse.osee.ote.client.msg,
- org.eclipse.osee.ote.message,
org.eclipse.osee.ote.client,
org.eclipse.osee.ote.core
Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.ote.ui.message/META-INF/MANIFEST.MF b/org.eclipse.ote.ui.message/META-INF/MANIFEST.MF
index 6ee2e74..9bb5204 100644
--- a/org.eclipse.ote.ui.message/META-INF/MANIFEST.MF
+++ b/org.eclipse.ote.ui.message/META-INF/MANIFEST.MF
@@ -11,7 +11,6 @@
org.eclipse.core.resources,
org.eclipse.osee.framework.plugin.core,
org.eclipse.osee.ote.core,
- org.eclipse.osee.ote.message;visibility:=reexport,
org.eclipse.osee.framework.ui.plugin,
org.eclipse.osee.framework.ui.swt,
org.eclipse.osee.ote.messaging.dds,
@@ -27,6 +26,7 @@
org.eclipse.ote.ui.message.watch
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.eclipse.osee.framework.core.exception,
+ org.eclipse.osee.framework.jdk.core.type,
org.eclipse.osee.framework.core.operation,
org.eclipse.ote.bytemessage,
org.eclipse.ote.message.lookup,
diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchedMessageNode.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchedMessageNode.java
index 2146de9..819ab99 100644
--- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchedMessageNode.java
+++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchedMessageNode.java
@@ -237,7 +237,7 @@
setMessageIcon(WatchImages.PART_TYPE_P.getImage(), WatchImages.PART_OUTLINE_PINK.getImage(), read, write, mark, bgc, new String[] {"PUB_SUB"});
setMessageIcon(WatchImages.PART_TYPE_PA.getImage(), WatchImages.PART_OUTLINE_PEACH.getImage(), read, write, mark, bgc, new String[] {"PATS_MUX", "WIRE_PATS"});
setMessageIcon(WatchImages.PART_TYPE_S.getImage(), WatchImages.PART_OUTLINE_PURPLE.getImage(), read, write, mark, bgc, new String[] {"SERIAL"});
- setMessageIcon(WatchImages.PART_TYPE_W.getImage(), WatchImages.PART_OUTLINE_YELLOW.getImage(), read, write, mark, bgc, new String[] {"WIRE_MP_DIRECT", "WIRE_DIO"});
+ setMessageIcon(WatchImages.PART_TYPE_W.getImage(), WatchImages.PART_OUTLINE_YELLOW.getImage(), read, write, mark, bgc, new String[] {"WIRE_MP_DIRECT", "WIRE_DIO", "WIRE_ESDS"});
setMessageIcon(WatchImages.PART_TYPE_UNK.getImage(), WatchImages.PART_OUTLINE_RED.getImage(), read, write, mark, bgc, new String[] {DEFAULT_ICON_TYPE});
}
diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java
index 314d3ac..79c2e2f 100644
--- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java
+++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java
@@ -49,7 +49,6 @@
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.nebula.widgets.xviewer.XViewer;
import org.eclipse.osee.connection.service.IServiceConnector;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
import org.eclipse.osee.framework.jdk.core.util.Lib;
import org.eclipse.osee.framework.jdk.core.util.benchmark.Benchmark;
import org.eclipse.osee.framework.logging.OseeLog;
@@ -306,14 +305,14 @@
if (icon != null) {
URL url = bundle.getEntry(icon);
if (url == null) {
- throw new OseeArgumentException("Invalid icon path [{%s}/%s]", el.getContributor().getName(),
- icon);
+ throw new IllegalArgumentException(String.format("Invalid icon path [{%s}/%s]", el.getContributor().getName(),
+ icon));
} else {
ImageDescriptor desc = ImageDescriptor.createFromURL(url);
Image img = desc.createImage();
if (img == null) {
- throw new OseeArgumentException("Unable to create Image from [{%s}/%s]",
- el.getContributor().getName(), icon);
+ throw new IllegalArgumentException(String.format("Unable to create Image from [{%s}/%s]",
+ el.getContributor().getName(), icon));
} else {
btn.setImage(img);
}
diff --git a/org.eclipse.ote.ui.mux/META-INF/MANIFEST.MF b/org.eclipse.ote.ui.mux/META-INF/MANIFEST.MF
index c366f62..ba1b190 100644
--- a/org.eclipse.ote.ui.mux/META-INF/MANIFEST.MF
+++ b/org.eclipse.ote.ui.mux/META-INF/MANIFEST.MF
@@ -6,7 +6,6 @@
Bundle-Activator: org.eclipse.ote.ui.mux.MuxToolPlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.osee.ote.message,
org.eclipse.osee.framework.plugin.core,
org.eclipse.osee.framework.jdk.core,
org.eclipse.osee.framework.ui.swt,