Merge branch 'amf/object_creation' into sprint58
diff --git a/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessageUtil.java b/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessageUtil.java
index 44c2130..81e3601 100644
--- a/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessageUtil.java
+++ b/org.eclipse.ote.bytemessage/src/org/eclipse/ote/bytemessage/OteByteMessageUtil.java
@@ -51,7 +51,25 @@
    public static UUID getUUID(OteByteMessage msg) {
       return new UUID(msg.getHeader().UUID_HIGH.getValue(), msg.getHeader().UUID_LOW.getValue());
    }
+   
+   public static UUID getUUID(byte[] data) {
+      long low = getLong(data, 74);
+      long high = getLong(data, 82);
+      return new UUID(high, low);
+   }
 
+   private static long getLong(byte[] data, int index){
+      return
+      (long)(0xff & data[index]) << 56  |
+      (long)(0xff & data[index+1]) << 48  |
+      (long)(0xff & data[index+2]) << 40  |
+      (long)(0xff & data[index+3]) << 32  |
+      (long)(0xff & data[index+4]) << 24  |
+      (long)(0xff & data[index+5]) << 16  |
+      (long)(0xff & data[index+6]) << 8   |
+      (long)(0xff & data[index+7]) << 0;
+   }
+   
    public static void setUUID(OteByteMessage msg, UUID id) {
       msg.getHeader().UUID_HIGH.setValue(id.getMostSignificantBits());
       msg.getHeader().UUID_LOW.setValue(id.getLeastSignificantBits());
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 25adccf..03a0e2a 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
@@ -31,7 +31,7 @@
 
    private JmsConnectionNodeProvider connecitonNode;
    private EventAdmin eventAdmin;
-   private List<Event> eventQueue;
+   private final List<Event> eventQueue;
    private final UUID MYID;
 
    public EventToJmsComponent(){
@@ -80,9 +80,9 @@
       Object obj = event.getProperty("bytes");
       if(obj != null && obj instanceof byte[]){
          try {
-            OteByteMessage msg = new OteByteMessage((byte[])obj);
-            UUID id = OteByteMessageUtil.getUUID(msg);
+            UUID id = OteByteMessageUtil.getUUID((byte[])obj);
             if(!id.equals(MYID)){
+               OteByteMessage msg = new OteByteMessage((byte[])obj);
                OteByteMessageUtil.setUUID(msg, MYID);
                connecitonNode.getConnectionNode().send(BridgeMessages.BYTE_MESSAGE, obj);
             }
@@ -95,9 +95,9 @@
    @Override
    public void process(Object message, Map<String, Object> headers, ReplyConnection replyConnection) {
       if(message instanceof byte[]){
-         OteByteMessage msg = new OteByteMessage((byte[])message);
-         UUID id = OteByteMessageUtil.getUUID(msg);
+         UUID id = OteByteMessageUtil.getUUID((byte[])message);
          if(!id.equals(MYID)){
+            OteByteMessage msg = new OteByteMessage((byte[])message);
             OteByteMessageUtil.setUUID(msg, MYID);
             Map<String, Object> data = new HashMap<String, Object>();
             data.put("bytes", msg.getData());