You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2012/09/17 11:58:41 UTC

svn commit: r1386534 - in /servicemix/components/trunk: engines/servicemix-eip/src/test/java/org/apache/servicemix/eip/ shared-libraries/servicemix-common/src/main/java/org/apache/servicemix/common/util/ shared-libraries/servicemix-common/src/test/java...

Author: ffang
Date: Mon Sep 17 09:58:41 2012
New Revision: 1386534

URL: http://svn.apache.org/viewvc?rev=1386534&view=rev
Log:
[SMXCOMP-947]use DOMSource instead of StringSource in servicemix-common/MessageUtil

Modified:
    servicemix/components/trunk/engines/servicemix-eip/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java
    servicemix/components/trunk/shared-libraries/servicemix-common/src/main/java/org/apache/servicemix/common/util/MessageUtil.java
    servicemix/components/trunk/shared-libraries/servicemix-common/src/test/java/org/apache/servicemix/common/util/MessageUtilTest.java

Modified: servicemix/components/trunk/engines/servicemix-eip/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-eip/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java?rev=1386534&r1=1386533&r2=1386534&view=diff
==============================================================================
--- servicemix/components/trunk/engines/servicemix-eip/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java (original)
+++ servicemix/components/trunk/engines/servicemix-eip/src/test/java/org/apache/servicemix/eip/AbstractEIPTest.java Mon Sep 17 09:58:41 2012
@@ -95,8 +95,7 @@ public abstract class AbstractEIPTest ex
     protected void configurePattern(EIPEndpoint endpoint) {
         endpoint.setStore(new MemoryStore(new IdGenerator()) {
             public void store(String id, Object exchange) throws IOException {
-                ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                new ObjectOutputStream(baos).writeObject(exchange);
+                //do your customer store here
                 super.store(id, exchange);
             }
         });

Modified: servicemix/components/trunk/shared-libraries/servicemix-common/src/main/java/org/apache/servicemix/common/util/MessageUtil.java
URL: http://svn.apache.org/viewvc/servicemix/components/trunk/shared-libraries/servicemix-common/src/main/java/org/apache/servicemix/common/util/MessageUtil.java?rev=1386534&r1=1386533&r2=1386534&view=diff
==============================================================================
--- servicemix/components/trunk/shared-libraries/servicemix-common/src/main/java/org/apache/servicemix/common/util/MessageUtil.java (original)
+++ servicemix/components/trunk/shared-libraries/servicemix-common/src/main/java/org/apache/servicemix/common/util/MessageUtil.java Mon Sep 17 09:58:41 2012
@@ -37,13 +37,13 @@ import javax.security.auth.Subject;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.Source;
 import javax.xml.transform.TransformerException;
+import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXSource;
 import javax.xml.transform.stream.StreamSource;
 
 import org.xml.sax.SAXException;
 
 import org.apache.servicemix.jbi.jaxp.SourceTransformer;
-import org.apache.servicemix.jbi.jaxp.StringSource;
 
 public final class MessageUtil {
     
@@ -142,18 +142,18 @@ public final class MessageUtil {
         if (message.getContent() instanceof StreamSource
                 || message.getContent() instanceof SAXSource) {
             try {
-                String content = sourceTransformer.contentToString(message);
-                if (content != null) {
-                    message.setContent(new StringSource(content));
+                DOMSource domSource = (DOMSource)sourceTransformer.toDOMSource(message);
+                if (domSource != null) {
+                    message.setContent(domSource);
                 }
             } catch (TransformerException e) {
-                throw new MessagingException("Unable to convert message content into StringSource", e);
+                throw new MessagingException("Unable to convert message content into DOMSource", e);
             } catch (ParserConfigurationException e) {
-                throw new MessagingException("Unable to convert message content into StringSource", e);
+                throw new MessagingException("Unable to convert message content into DOMSource", e);
             } catch (IOException e) {
-                throw new MessagingException("Unable to convert message content into StringSource", e);
+                throw new MessagingException("Unable to convert message content into DOMSource", e);
             } catch (SAXException e) {
-                throw new MessagingException("Unable to convert message content into StringSource", e);
+                throw new MessagingException("Unable to convert message content into DOMSource", e);
             }
         }
     }
@@ -172,10 +172,11 @@ public final class MessageUtil {
 
         public NormalizedMessageImpl(NormalizedMessage message) throws MessagingException {
             try {
-                String str = sourceTransformer.contentToString(message);
-                if (str != null) {
-                    this.content = new StringSource(str);
+                DOMSource domSource = (DOMSource)sourceTransformer.toDOMSource(message);
+                if (domSource != null) {
+                    this.content = domSource;
                 }
+
                 for (Iterator it = message.getPropertyNames().iterator(); it.hasNext();) {
                     String name = (String) it.next();
                     this.properties.put(name, message.getProperty(name));

Modified: servicemix/components/trunk/shared-libraries/servicemix-common/src/test/java/org/apache/servicemix/common/util/MessageUtilTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/trunk/shared-libraries/servicemix-common/src/test/java/org/apache/servicemix/common/util/MessageUtilTest.java?rev=1386534&r1=1386533&r2=1386534&view=diff
==============================================================================
--- servicemix/components/trunk/shared-libraries/servicemix-common/src/test/java/org/apache/servicemix/common/util/MessageUtilTest.java (original)
+++ servicemix/components/trunk/shared-libraries/servicemix-common/src/test/java/org/apache/servicemix/common/util/MessageUtilTest.java Mon Sep 17 09:58:41 2012
@@ -76,14 +76,14 @@ public class MessageUtilTest extends Tes
         assertTrue(sub.getPublicCredentials().contains(credential));
         
         MessageUtil.NormalizedMessageImpl nmsg = new MessageUtil.NormalizedMessageImpl(src);        
-        assertEquals("StringSource[<hello>world</hello>]", nmsg.getContent().toString());
+        assertTrue(new SourceTransformer().toString(nmsg.getContent()).contains("<hello>world</hello>"));
         
         NormalizedMessage newMsg = MessageUtil.copy(src);
-        assertEquals("StringSource[<hello>world</hello>]", newMsg.getContent().toString());
+        assertTrue(new SourceTransformer().toString(newMsg.getContent()).contains("<hello>world</hello>"));
         
         src.setContent(null);
         MessageUtil.NormalizedMessageImpl nmsg2 = new MessageUtil.NormalizedMessageImpl(src);
-        assertNull(nmsg2.getContent());
+        assertNull(((DOMSource)nmsg2.getContent()).getNode());
         
         URL url = getClass().getClassLoader().getResource(getClass().getName().replace('.','/')+".class");
 
@@ -113,7 +113,7 @@ public class MessageUtilTest extends Tes
         meSrc.setMessage(srcMsg, "in");
         MessageUtil.transferTo(meSrc, meDest, "in");
         NormalizedMessage nm = meDest.getMessage("in");        
-        assertEquals("StringSource[<hello>world</hello>]", nm.getContent().toString());
+        assertTrue(new SourceTransformer().toString(nm.getContent()).contains("<hello>world</hello>"));
         
         // Tests transferInToIn
         meSrc.setMessage(srcMsg, "in");
@@ -147,11 +147,11 @@ public class MessageUtilTest extends Tes
         
         // Tests copyIn
         NormalizedMessage copyIn = MessageUtil.copyIn(meSrc);
-        assertEquals("StringSource[<hello>world</hello>]", copyIn.getContent().toString());
+        assertTrue(new SourceTransformer().toString(copyIn.getContent()).contains("<hello>world</hello>"));
         
         // Tests copyOut
         NormalizedMessage copyOut = MessageUtil.copyOut(meSrc);
-        assertEquals("StringSource[<hello>world</hello>]", copyOut.getContent().toString());
+        assertTrue(new SourceTransformer().toString(copyOut.getContent()).contains("<hello>world</hello>"));
     }
     
     public void testEnableContentRereadability() throws Exception {
@@ -159,7 +159,7 @@ public class MessageUtilTest extends Tes
         srcMsg.setContent(new StringSource("<hello>world</hello>"));
         srcMsg.setProperty("name", "edell");        
         MessageUtil.enableContentRereadability(srcMsg);
-        assertEquals("StringSource[<hello>world</hello>]", srcMsg.getContent().toString());                
+        assertTrue(new SourceTransformer().toString(srcMsg.getContent()).contains("<hello>world</hello>"));                
         
         try {
             srcMsg.setContent(new StreamSource("@@@@@@@@@@@@@"));            
@@ -186,17 +186,17 @@ public class MessageUtilTest extends Tes
     	    	    	    	
     	// Tests copyFault    	
         Fault copyFault = MessageUtil.copyFault(exchangeSrc);
-        assertEquals("StringSource[<fault>failure</fault>]", copyFault.getContent().toString());
+        assertTrue(new SourceTransformer().toString(copyFault.getContent()).contains("<fault>failure</fault>"));
         
         NormalizedMessage nm = MessageUtil.copy(fault);
-        assertEquals("StringSource[<fault>failure</fault>]", nm.getContent().toString());
+        assertTrue(new SourceTransformer().toString(nm.getContent()).contains("<fault>failure</fault>"));
         
     	// Tests transferFaultToFault
         MessageUtil.transferFaultToFault(exchangeSrc, exchangeDest);
-        assertEquals("StringSource[<fault>failure</fault>]", exchangeDest.getFault().getContent().toString());
+        assertTrue(new SourceTransformer().toString(exchangeDest.getFault().getContent()).contains("<fault>failure</fault>"));
         
         MessageUtil.transferTo(exchangeSrc, exchangeDest, "fault");
-        assertEquals("StringSource[<fault>failure</fault>]", exchangeDest.getFault().getContent().toString());
+        assertTrue(new SourceTransformer().toString(exchangeDest.getFault().getContent()).contains("<fault>failure</fault>"));
 
     }