You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/02/22 12:03:19 UTC

svn commit: r379750 - in /incubator/servicemix/trunk/servicemix-core/src: main/java/org/apache/servicemix/jbi/messaging/ test/java/org/apache/servicemix/jbi/messaging/

Author: gnodet
Date: Wed Feb 22 03:03:11 2006
New Revision: 379750

URL: http://svn.apache.org/viewcvs?rev=379750&view=rev
Log:
SM-234: NormalisedMessage loses it's reference to it's exchange using JMSFlow

Modified:
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/ExchangePacket.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/FaultImpl.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOnlyImpl.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOptionalOutImpl.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOutImpl.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/MessageExchangeImpl.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/NormalizedMessageImpl.java
    incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/RobustInOnlyImpl.java
    incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/messaging/MessageExchangeImplTest.java

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/ExchangePacket.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/ExchangePacket.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/ExchangePacket.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/ExchangePacket.java Wed Feb 22 03:03:11 2006
@@ -46,24 +46,26 @@
  * @version $Revision$
  */
 public class ExchangePacket implements Externalizable {
+    
     private static final long serialVersionUID = -9110837382914609624L;
-    private URI pattern;
-    private String exchangeId;
-    private ComponentNameSpace destinationId;
-    private ComponentNameSpace sourceId;
-    private ExchangeStatus status = ExchangeStatus.ACTIVE;
-    private QName serviceName;
-    private QName interfaceName;
-    private QName operationName;
-    private Exception error;
-    private Map properties;
-    private NormalizedMessage in;
-    private NormalizedMessage out;
-    private Fault fault;
-    private ServiceEndpoint endpoint;
-    private transient Transaction transactionContext;
-    private Boolean persistent;
-    private boolean aborted;
+    
+    protected URI pattern;
+    protected String exchangeId;
+    protected ComponentNameSpace destinationId;
+    protected ComponentNameSpace sourceId;
+    protected ExchangeStatus status = ExchangeStatus.ACTIVE;
+    protected QName serviceName;
+    protected QName interfaceName;
+    protected QName operationName;
+    protected Exception error;
+    protected Map properties;
+    protected NormalizedMessageImpl in;
+    protected NormalizedMessageImpl out;
+    protected FaultImpl fault;
+    protected ServiceEndpoint endpoint;
+    protected transient Transaction transactionContext;
+    protected Boolean persistent;
+    protected boolean aborted;
 
     
     public ExchangePacket() {
@@ -314,7 +316,7 @@
     /**
      * @param fault The fault to set.
      */
-    public void setFault(Fault fault) {
+    public void setFault(FaultImpl fault) {
         this.fault = fault;
     }
 
@@ -328,7 +330,7 @@
     /**
      * @param in The in to set.
      */
-    public void setIn(NormalizedMessage in) {
+    public void setIn(NormalizedMessageImpl in) {
         this.in = in;
     }
 
@@ -342,7 +344,7 @@
     /**
      * @param out The out to set.
      */
-    public void setOut(NormalizedMessage out) {
+    public void setOut(NormalizedMessageImpl out) {
         this.out = out;
     }
 
@@ -394,9 +396,9 @@
         operationName = (QName) input.readObject();
         error = (Exception) input.readObject();
         properties = (Map) input.readObject();
-        in = (NormalizedMessage) input.readObject();
-        out = (NormalizedMessage) input.readObject();
-        fault = (Fault) input.readObject();
+        in = (NormalizedMessageImpl) input.readObject();
+        out = (NormalizedMessageImpl) input.readObject();
+        fault = (FaultImpl) input.readObject();
         endpoint = (ServiceEndpoint) input.readObject();
         byte p = input.readByte();
         persistent = (p == 0) ? null : p == 1 ? Boolean.TRUE : Boolean.FALSE;

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/FaultImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/FaultImpl.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/FaultImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/FaultImpl.java Wed Feb 22 03:03:11 2006
@@ -24,6 +24,8 @@
  */
 public class FaultImpl extends NormalizedMessageImpl implements Fault {
 
+    private static final long serialVersionUID = -2369080326592427325L;
+
     public FaultImpl() {
     }
 

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOnlyImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOnlyImpl.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOnlyImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOnlyImpl.java Wed Feb 22 03:03:11 2006
@@ -27,6 +27,8 @@
  */
 public class InOnlyImpl extends MessageExchangeImpl implements InOnly {
     
+    private static final long serialVersionUID = -4851111881482457905L;
+    
     private static int[][] STATES_CONSUMER = {
         { CAN_CONSUMER + CAN_OWNER + CAN_SET_IN_MSG + CAN_SEND + CAN_SEND_SYNC + CAN_STATUS_ACTIVE, 1, -1, -1 },
         { CAN_CONSUMER, -1, -1, 2 },
@@ -59,6 +61,15 @@
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {        
         this.packet = new ExchangePacket();
         this.packet.readExternal(in);
+        if (this.packet.in != null) {
+            this.packet.in.exchange = this;
+        }
+        if (this.packet.out != null) {
+            this.packet.out.exchange = this;
+        }
+        if (this.packet.fault != null) {
+            this.packet.fault.exchange = this;
+        }
         this.state = in.read();
         this.mirror = new InOnlyImpl();
         this.mirror.mirror = this;

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOptionalOutImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOptionalOutImpl.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOptionalOutImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOptionalOutImpl.java Wed Feb 22 03:03:11 2006
@@ -27,6 +27,8 @@
  */
 public class InOptionalOutImpl extends MessageExchangeImpl implements InOptionalOut {
     
+    private static final long serialVersionUID = -3145649037372074912L;
+
     private static int[][] STATES_CONSUMER = {
         { CAN_CONSUMER + CAN_OWNER + CAN_SET_IN_MSG + CAN_SEND + CAN_SEND_SYNC + CAN_STATUS_ACTIVE, 1, -1, -1},
         { CAN_CONSUMER, 2, 2, 4 },
@@ -66,6 +68,15 @@
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {        
         this.packet = new ExchangePacket();
         this.packet.readExternal(in);
+        if (this.packet.in != null) {
+            this.packet.in.exchange = this;
+        }
+        if (this.packet.out != null) {
+            this.packet.out.exchange = this;
+        }
+        if (this.packet.fault != null) {
+            this.packet.fault.exchange = this;
+        }
         this.state = in.read();
         this.mirror = new InOptionalOutImpl();
         this.mirror.mirror = this;

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOutImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOutImpl.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOutImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/InOutImpl.java Wed Feb 22 03:03:11 2006
@@ -27,6 +27,8 @@
  */
 public class InOutImpl extends MessageExchangeImpl implements InOut {
     
+    private static final long serialVersionUID = -1639492357707831113L;
+
     private static int[][] STATES_CONSUMER = {
         { CAN_CONSUMER + CAN_OWNER + CAN_SET_IN_MSG + CAN_SEND + CAN_SEND_SYNC + CAN_STATUS_ACTIVE, 1, -1, -1},
         { CAN_CONSUMER, 2, 2, -1 },
@@ -62,6 +64,15 @@
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {        
         this.packet = new ExchangePacket();
         this.packet.readExternal(in);
+        if (this.packet.in != null) {
+            this.packet.in.exchange = this;
+        }
+        if (this.packet.out != null) {
+            this.packet.out.exchange = this;
+        }
+        if (this.packet.fault != null) {
+            this.packet.fault.exchange = this;
+        }
         this.state = in.read();
         this.mirror = new InOutImpl();
         this.mirror.mirror = this;

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/MessageExchangeImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/MessageExchangeImpl.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/MessageExchangeImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/MessageExchangeImpl.java Wed Feb 22 03:03:11 2006
@@ -280,7 +280,7 @@
             if (packet.getIn() != null) {
                 throw new MessagingException("In message is already set");
             }
-            packet.setIn(message);
+            packet.setIn((NormalizedMessageImpl) message);
         } else if (OUT.equals(name)) {
             if (!can(CAN_SET_OUT_MSG)) {
                 throw new MessagingException("Out not supported");
@@ -288,7 +288,7 @@
             if (packet.getOut() != null) {
                 throw new MessagingException("Out message is already set");
             }
-            packet.setOut(message);
+            packet.setOut((NormalizedMessageImpl) message);
         } else if (FAULT.equals(name)) {
             if (!can(CAN_SET_FAULT_MSG)) {
                 throw new MessagingException("Fault not supported");
@@ -299,7 +299,7 @@
             if (packet.getFault() != null) {
                 throw new MessagingException("Fault message is already set");
             }
-               packet.setFault((Fault) message);
+               packet.setFault((FaultImpl) message);
         } else {
             throw new MessagingException("Message name must be in, out or fault");
         }

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/NormalizedMessageImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/NormalizedMessageImpl.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/NormalizedMessageImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/NormalizedMessageImpl.java Wed Feb 22 03:03:11 2006
@@ -47,11 +47,12 @@
 public class NormalizedMessageImpl implements NormalizedMessage, Externalizable {
     
     private static final long serialVersionUID = 9179194301410526549L;
-    private transient MessageExchangeImpl exchange;
-    private transient Source content;
-    private Subject securitySubject;
-    private Map properties;
-    private Map attachments;
+    
+    protected transient MessageExchangeImpl exchange;
+    protected transient Source content;
+    protected Subject securitySubject;
+    protected Map properties;
+    protected Map attachments;
 
     private static SourceTransformer transformer = new SourceTransformer();
 

Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/RobustInOnlyImpl.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/RobustInOnlyImpl.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/RobustInOnlyImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/RobustInOnlyImpl.java Wed Feb 22 03:03:11 2006
@@ -27,6 +27,8 @@
  */
 public class RobustInOnlyImpl extends MessageExchangeImpl implements RobustInOnly {
 
+    private static final long serialVersionUID = -1606399168587959356L;
+
     private static int[][] STATES_CONSUMER = {
         { CAN_CONSUMER + CAN_OWNER + CAN_SET_IN_MSG + CAN_SEND + CAN_SEND_SYNC + CAN_STATUS_ACTIVE, 1, -1, -1},
         { CAN_CONSUMER, -1, 2, 4 },
@@ -64,6 +66,15 @@
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {        
         this.packet = new ExchangePacket();
         this.packet.readExternal(in);
+        if (this.packet.in != null) {
+            this.packet.in.exchange = this;
+        }
+        if (this.packet.out != null) {
+            this.packet.out.exchange = this;
+        }
+        if (this.packet.fault != null) {
+            this.packet.fault.exchange = this;
+        }
         this.state = in.read();
         this.mirror = new RobustInOnlyImpl();
         this.mirror.mirror = this;

Modified: incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/messaging/MessageExchangeImplTest.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/messaging/MessageExchangeImplTest.java?rev=379750&r1=379749&r2=379750&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/messaging/MessageExchangeImplTest.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/test/java/org/apache/servicemix/jbi/messaging/MessageExchangeImplTest.java Wed Feb 22 03:03:11 2006
@@ -48,6 +48,7 @@
         msg.setContent(src);
         //msg.addAttachment("myAttachment", null);
         me.setMessage(msg, "in");
+        assertNotNull(((NormalizedMessageImpl) msg).getBody());
         
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         ObjectOutputStream oos = new ObjectOutputStream(baos);
@@ -70,6 +71,7 @@
         assertNotNull(outSrc);
         String outStr = new SourceTransformer().toString(outSrc);
         assertNotNull(outStr);
+        assertNotNull(((NormalizedMessageImpl) msgOut).getBody());
         log.info(outStr);
     }