You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2013/11/13 16:38:00 UTC

git commit: https://issues.apache.org/jira/browse/AMQ-3388

Updated Branches:
  refs/heads/trunk 6ed8f43d8 -> 5e5458ec3


https://issues.apache.org/jira/browse/AMQ-3388

ignore unknown fields in openwire commands to allow interop between
openwire versions.  

Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/5e5458ec
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/5e5458ec
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/5e5458ec

Branch: refs/heads/trunk
Commit: 5e5458ec38f7a204bb40174e13262c7b892de89b
Parents: 6ed8f43
Author: Timothy Bish <ta...@gmai.com>
Authored: Wed Nov 13 10:36:02 2013 -0500
Committer: Timothy Bish <ta...@gmai.com>
Committed: Wed Nov 13 10:36:53 2013 -0500

----------------------------------------------------------------------
 .../transport/xstream/XStreamWireFormat.java       | 17 ++++++++++++-----
 .../transport/stomp/JmsFrameTranslator.java        |  3 ++-
 2 files changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/5e5458ec/activemq-http/src/main/java/org/apache/activemq/transport/xstream/XStreamWireFormat.java
----------------------------------------------------------------------
diff --git a/activemq-http/src/main/java/org/apache/activemq/transport/xstream/XStreamWireFormat.java b/activemq-http/src/main/java/org/apache/activemq/transport/xstream/XStreamWireFormat.java
index 7ac426a..de437c9 100755
--- a/activemq-http/src/main/java/org/apache/activemq/transport/xstream/XStreamWireFormat.java
+++ b/activemq-http/src/main/java/org/apache/activemq/transport/xstream/XStreamWireFormat.java
@@ -19,13 +19,13 @@ package org.apache.activemq.transport.xstream;
 import java.io.IOException;
 import java.io.Reader;
 
-import com.thoughtworks.xstream.XStream;
-import org.apache.activemq.command.Command;
 import org.apache.activemq.command.MarshallAware;
 import org.apache.activemq.command.MessageDispatch;
 import org.apache.activemq.transport.util.TextWireFormat;
 import org.apache.activemq.wireformat.WireFormat;
 
+import com.thoughtworks.xstream.XStream;
+
 /**
  * A {@link WireFormat} implementation which uses the <a
  * href="http://xstream.codehaus.org/>XStream</a> library to marshall commands
@@ -37,10 +37,12 @@ public class XStreamWireFormat extends TextWireFormat {
     private XStream xStream;
     private int version;
 
+    @Override
     public int getVersion() {
         return version;
     }
 
+    @Override
     public void setVersion(int version) {
         this.version = version;
     }
@@ -49,14 +51,17 @@ public class XStreamWireFormat extends TextWireFormat {
         return new XStreamWireFormat();
     }
 
+    @Override
     public Object unmarshalText(String text) {
-        return (Command)getXStream().fromXML(text);
+        return getXStream().fromXML(text);
     }
 
+    @Override
     public Object unmarshalText(Reader reader) {
-        return (Command)getXStream().fromXML(reader);
+        return getXStream().fromXML(reader);
     }
 
+    @Override
     public String marshalText(Object command) throws IOException {
         if (command instanceof MarshallAware) {
             ((MarshallAware)command).beforeMarshall(this);
@@ -105,7 +110,9 @@ public class XStreamWireFormat extends TextWireFormat {
     // Implementation methods
     // -------------------------------------------------------------------------
     protected XStream createXStream() {
-        return new XStream();
+        XStream xstream = new XStream();
+        xstream.ignoreUnknownElements();
+        return xstream;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/activemq/blob/5e5458ec/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/JmsFrameTranslator.java
----------------------------------------------------------------------
diff --git a/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/JmsFrameTranslator.java b/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/JmsFrameTranslator.java
index 44cd420..6ae68fc 100644
--- a/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/JmsFrameTranslator.java
+++ b/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/JmsFrameTranslator.java
@@ -26,7 +26,6 @@ import java.util.Map;
 
 import javax.jms.JMSException;
 
-import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
 import org.apache.activemq.advisory.AdvisorySupport;
 import org.apache.activemq.broker.BrokerContext;
 import org.apache.activemq.broker.BrokerContextAware;
@@ -42,6 +41,7 @@ import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;
 import com.thoughtworks.xstream.io.HierarchicalStreamReader;
 import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
 import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
+import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
 import com.thoughtworks.xstream.io.xml.PrettyPrintWriter;
 import com.thoughtworks.xstream.io.xml.XppReader;
 import com.thoughtworks.xstream.io.xml.xppdom.XppFactory;
@@ -253,6 +253,7 @@ public class JmsFrameTranslator extends LegacyFrameTranslator implements
 
         if (xstream == null) {
             xstream = new XStream();
+            xstream.ignoreUnknownElements();
         }
 
         // For any object whose elements contains an UTF8Buffer instance instead of a String