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);
}