| Commit in servicemix/base/src/main/java/org/servicemix/components/util on MAIN | |||
| CopyTransformer.java | +11 | -5 | 1.5 -> 1.6 |
Avoid transforming re-readable StreamSource (like BytesSource or ResourceSource)
servicemix/base/src/main/java/org/servicemix/components/util
diff -u -r1.5 -r1.6 --- CopyTransformer.java 13 Sep 2005 10:39:31 -0000 1.5 +++ CopyTransformer.java 4 Oct 2005 15:17:20 -0000 1.6 @@ -17,8 +17,7 @@
**/ package org.servicemix.components.util;
-import org.servicemix.jbi.jaxp.SourceTransformer; -import org.servicemix.jbi.jaxp.StringSource;
+import java.util.Iterator;
import javax.activation.DataHandler; import javax.jbi.messaging.MessageExchange;
@@ -27,12 +26,16 @@
import javax.xml.transform.Source; import javax.xml.transform.TransformerException; import javax.xml.transform.stream.StreamSource;
-import java.util.Iterator;
+ +import org.servicemix.jbi.jaxp.BytesSource; +import org.servicemix.jbi.jaxp.ResourceSource; +import org.servicemix.jbi.jaxp.SourceTransformer; +import org.servicemix.jbi.jaxp.StringSource;
/** * A simple transformer which copies the properties and content from the source message to the destination message. *
- * @version $Revision: 1.5 $
+ * @version $Revision: 1.6 $
*/
public class CopyTransformer implements MessageTransformer {
@@ -53,7 +56,10 @@
copyProperties(from, to);
Source content = from.getContent();
- if (content instanceof StreamSource && !(content instanceof StringSource)) {
+ if (content instanceof StreamSource &&
+ !(content instanceof StringSource) &&
+ !(content instanceof BytesSource) &&
+ !(content instanceof ResourceSource)) {
// lets avoid stream open exceptions by using a temporary format
try {
content = sourceTransformer.toDOMSource(from);
