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 2010/09/03 03:37:09 UTC

svn commit: r992169 - /servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java

Author: ffang
Date: Fri Sep  3 01:37:09 2010
New Revision: 992169

URL: http://svn.apache.org/viewvc?rev=992169&view=rev
Log:
[SMX4-588]refactor NMRMessageHelper to use new api from cxf StaxUtis

Modified:
    servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java

Modified: servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java?rev=992169&r1=992168&r2=992169&view=diff
==============================================================================
--- servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java (original)
+++ servicemix/smx4/features/trunk/cxf/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java Fri Sep  3 01:37:09 2010
@@ -19,37 +19,39 @@
 
 package org.apache.servicemix.cxf.transport.nmr;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+
+import javax.xml.stream.XMLStreamException;
 import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
 
+import org.apache.cxf.io.CachedOutputStream;
+import org.apache.cxf.staxutils.StaxUtils;
 
 
-public final class NMRMessageHelper {
 
+public final class NMRMessageHelper {
 
-    private static final TransformerFactory TRANSFORMER_FACTORY = TransformerFactory.newInstance();
 
-    private NMRMessageHelper() {
+	private NMRMessageHelper() {
         // complete
     }
 
-    public static InputStream convertMessageToInputStream(Source src) throws IOException,
-        TransformerConfigurationException, TransformerException {
-
-        final Transformer transformer = TRANSFORMER_FACTORY.newTransformer();
-
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        StreamResult result = new StreamResult(baos);
-        transformer.transform(src, result);
-        
-        return new ByteArrayInputStream(baos.toByteArray());
+    public static InputStream convertMessageToInputStream(Source src) throws IOException {
+    	CachedOutputStream cos = new CachedOutputStream();
+    	try {
+    		StaxUtils.copy(src, cos);
+    		return cos.getInputStream();
+    	} catch (XMLStreamException e) {
+    		IOException ioe = new IOException(e.getMessage());
+    		ioe.initCause(e);
+    		throw ioe;
+    	} finally {
+    		try {
+    			cos.close();
+    		} catch (Exception ex) {
+    			//ignore
+    		}
+    	}
     }
 }