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 2007/01/11 14:03:53 UTC

svn commit: r495211 - in /incubator/servicemix/trunk/core/servicemix-core: ./ src/main/java/org/apache/servicemix/components/util/ src/main/java/org/apache/servicemix/jbi/jaxp/ src/test/resources/org/apache/servicemix/jbi/jaxp/

Author: gnodet
Date: Thu Jan 11 05:03:52 2007
New Revision: 495211

URL: http://svn.apache.org/viewvc?view=rev&rev=495211
Log:
SM-814: Remove the CONTENT_DOCUMENT_PROPERTY property in SourceTransformer to avoid using an old message when properties are forwarded between components

Modified:
    incubator/servicemix/trunk/core/servicemix-core/pom.xml
    incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/CopyTransformer.java
    incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/DefaultFileMarshaler.java
    incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/StreamWriterComponent.java
    incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/jaxp/SourceTransformer.java
    incubator/servicemix/trunk/core/servicemix-core/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml

Modified: incubator/servicemix/trunk/core/servicemix-core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/core/servicemix-core/pom.xml?view=diff&rev=495211&r1=495210&r2=495211
==============================================================================
--- incubator/servicemix/trunk/core/servicemix-core/pom.xml (original)
+++ incubator/servicemix/trunk/core/servicemix-core/pom.xml Thu Jan 11 05:03:52 2007
@@ -349,28 +349,26 @@
             <exclude>**/Abstract*.*</exclude>
             <exclude>**/*$*</exclude>
 
-			<exclude>**/MultipleJMSFlowTest.*</exclude>
-			<exclude>**/MultipleFlowsTest.*</exclude>
-			<exclude>**/RemoteServiceMixClientTest.*</exclude>
-			<exclude>**/JCAFlowTest.*</exclude>
-			<exclude>**/JMSFlowTest.*</exclude>
-			<exclude>**/TransactionsTest.*</exclude>
-			<exclude>**/JcaFlowTransactionTest.*</exclude>
-			<exclude>**/JcaFlowPersistentTest.*</exclude>
-			<exclude>**/StatelessJmsFlowTest.*</exclude>
-			<exclude>**/StatelessJcaFlowTest.*</exclude>
-			<exclude>**/ClientFactoryTest.*</exclude>
-			<exclude>**/JcaFlowWithTxLogTest.*</exclude>
+            <exclude>**/MultipleJMSFlowTest.*</exclude>
+            <exclude>**/MultipleFlowsTest.*</exclude>
+            <exclude>**/RemoteServiceMixClientTest.*</exclude>
+            <exclude>**/JCAFlowTest.*</exclude>
+            <exclude>**/JMSFlowTest.*</exclude>
+            <exclude>**/TransactionsTest.*</exclude>
+            <exclude>**/JcaFlowTransactionTest.*</exclude>
+            <exclude>**/JcaFlowPersistentTest.*</exclude>
+            <exclude>**/StatelessJmsFlowTest.*</exclude>
+            <exclude>**/StatelessJcaFlowTest.*</exclude>
+            <exclude>**/ClientFactoryTest.*</exclude>
+            <exclude>**/JcaFlowWithTxLogTest.*</exclude>
 
-			<!-- fails in linux OS -->
-            <exclude>**/StaxSourceTest.*</exclude>
-			<exclude>**/ClassLoaderTest.*</exclude>
-			<exclude>**/JbiTaskTest.*</exclude>
-			<exclude>**/DeploymentMessageTest.*</exclude>
-			<exclude>**/AdminServiceTest.*</exclude>
-			<exclude>**/ManagementContextTest.*</exclude>
-			<exclude>**/ServiceUnitTest.*</exclude>
-			
+            <!-- fails in linux OS -->
+            <exclude>**/ClassLoaderTest.*</exclude>
+            <exclude>**/JbiTaskTest.*</exclude>
+            <exclude>**/DeploymentMessageTest.*</exclude>
+            <exclude>**/AdminServiceTest.*</exclude>
+            <exclude>**/ManagementContextTest.*</exclude>
+            <exclude>**/ServiceUnitTest.*</exclude>
 
           </excludes>
         </configuration>

Modified: incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/CopyTransformer.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/CopyTransformer.java?view=diff&rev=495211&r1=495210&r2=495211
==============================================================================
--- incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/CopyTransformer.java (original)
+++ incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/CopyTransformer.java Thu Jan 11 05:03:52 2007
@@ -153,8 +153,7 @@
         for (Iterator iter = from.getPropertyNames().iterator(); iter.hasNext();) {
             String name = (String) iter.next();
             // Do not copy transient properties
-            if (!SourceTransformer.CONTENT_DOCUMENT_PROPERTY.equals(name) && 
-                !PojoMarshaler.BODY.equals(name))
+            if (!PojoMarshaler.BODY.equals(name))
             {
                 Object value = from.getProperty(name);
                 to.setProperty(name, value);

Modified: incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/DefaultFileMarshaler.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/DefaultFileMarshaler.java?view=diff&rev=495211&r1=495210&r2=495211
==============================================================================
--- incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/DefaultFileMarshaler.java (original)
+++ incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/DefaultFileMarshaler.java Thu Jan 11 05:03:52 2007
@@ -19,8 +19,6 @@
 import org.apache.servicemix.expression.Expression;
 import org.apache.servicemix.expression.PropertyExpression;
 import org.apache.servicemix.jbi.NoMessageContentAvailableException;
-import org.apache.servicemix.jbi.jaxp.SourceTransformer;
-import org.w3c.dom.Node;
 
 import javax.jbi.JBIException;
 import javax.jbi.messaging.MessageExchange;
@@ -28,7 +26,6 @@
 import javax.jbi.messaging.NormalizedMessage;
 import javax.xml.transform.Source;
 import javax.xml.transform.TransformerException;
-import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
@@ -133,14 +130,7 @@
      * @param path    the name of the output resource (file, uri, url)
      */
     protected void writeMessageContent(MessageExchange exchange, NormalizedMessage message, OutputStream out, String path) throws MessagingException {
-        Source content = null;
-        Node document = (Node) message.getProperty(SourceTransformer.CONTENT_DOCUMENT_PROPERTY);
-        if (document != null) {
-            content = new DOMSource(document);
-        }
-        else {
-            content = message.getContent();
-        }
+        Source content = message.getContent();
         if (content == null) {
             throw new NoMessageContentAvailableException(exchange);
         }

Modified: incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/StreamWriterComponent.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/StreamWriterComponent.java?view=diff&rev=495211&r1=495210&r2=495211
==============================================================================
--- incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/StreamWriterComponent.java (original)
+++ incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/components/util/StreamWriterComponent.java Thu Jan 11 05:03:52 2007
@@ -16,20 +16,15 @@
  */
 package org.apache.servicemix.components.util;
 
-import org.apache.servicemix.jbi.jaxp.SourceTransformer;
-import org.w3c.dom.Node;
+import java.io.OutputStream;
 
 import javax.jbi.messaging.MessageExchange;
 import javax.jbi.messaging.NormalizedMessage;
 import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import java.io.OutputStream;
-
 /**
  * A Component that dumps a message to a stream
  * 
@@ -63,15 +58,7 @@
         TransformerFactory tFactory = TransformerFactory.newInstance();
         Transformer transformer = tFactory.newTransformer();
         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-        Source content = null;
-        Node document = (Node) message.getProperty(SourceTransformer.CONTENT_DOCUMENT_PROPERTY);
-        if (document != null) {
-            content = new DOMSource(document);
-        }
-        else {
-            content = message.getContent();
-        }
-        transformer.transform(content, new StreamResult(out));
+        transformer.transform(message.getContent(), new StreamResult(out));
         done(exchange);
     }
 }

Modified: incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/jaxp/SourceTransformer.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/jaxp/SourceTransformer.java?view=diff&rev=495211&r1=495210&r2=495211
==============================================================================
--- incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/jaxp/SourceTransformer.java (original)
+++ incubator/servicemix/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/jaxp/SourceTransformer.java Thu Jan 11 05:03:52 2007
@@ -56,7 +56,6 @@
  * @version $Revision$
  */
 public class SourceTransformer {
-    public static final String CONTENT_DOCUMENT_PROPERTY = "org.apache.servicemix.content.document";
     public static final String DEFAULT_CHARSET_PROPERTY = "org.apache.servicemix.default.charset";
 
     private DocumentBuilderFactory documentBuilderFactory;
@@ -274,7 +273,8 @@
      * @throws ParserConfigurationException 
      */
     public Node toDOMNode(Source source) throws TransformerException, ParserConfigurationException, IOException, SAXException {
-        return toDOMSource(source).getNode();
+        DOMSource domSrc = toDOMSource(source);
+        return domSrc != null ? domSrc.getNode() :  null;
     }
 
     /**
@@ -289,26 +289,9 @@
      * @throws ParserConfigurationException 
      */
     public Node toDOMNode(NormalizedMessage message) throws MessagingException, TransformerException, ParserConfigurationException, IOException, SAXException {
-        Object value = message.getProperty(CONTENT_DOCUMENT_PROPERTY);
-        if (value != null) {
-            if (value instanceof Node) {
-                return (Node) value;
-            }
-            else {
-                throw new MessagingException("Invalid property type: Expected W3C DOM node but found: " + value.getClass().getName() + " with value: " + value);
-            }
-        }
-        else {
-            Source content = message.getContent();
-            if (content != null) {
-                Node node = toDOMNode(content);
-                message.setProperty(CONTENT_DOCUMENT_PROPERTY, node);
-                return node;
-            }
-            else {
-                return null;
-            }
-        }
+        Source content = message.getContent();
+        Node node = toDOMNode(content);
+        return node;
     }
     
     /**

Modified: incubator/servicemix/trunk/core/servicemix-core/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/core/servicemix-core/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml?view=diff&rev=495211&r1=495210&r2=495211
==============================================================================
--- incubator/servicemix/trunk/core/servicemix-core/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml (original)
+++ incubator/servicemix/trunk/core/servicemix-core/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml Thu Jan 11 05:03:52 2007
@@ -24,6 +24,7 @@
     <child2> t i u </child2>
     <child3 xmlns=""/>
   </child>
+  <child4>   </child4>
   <long>00 01 02 03 04 05 06 07 08 09
 10 11 12 13 14 15 16 17 18 19
 20 21 22 23 24 25 26 27 28 29