You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2010/08/06 03:30:05 UTC

svn commit: r982846 - in /cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor: AbstractLoggingInterceptor.java LoggingInInterceptor.java LoggingOutInterceptor.java PrettyLoggingOutInterceptor.java

Author: ningjiang
Date: Fri Aug  6 01:30:04 2010
New Revision: 982846

URL: http://svn.apache.org/viewvc?rev=982846&view=rev
Log:
CXF-2931 Polish the code as DanK suggested.

Modified:
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/PrettyLoggingOutInterceptor.java

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java?rev=982846&r1=982845&r2=982846&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractLoggingInterceptor.java Fri Aug  6 01:30:04 2010
@@ -28,12 +28,12 @@ import java.util.logging.Logger;
 
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.helpers.XMLUtils;
 import org.apache.cxf.io.CachedOutputStream;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.AbstractPhaseInterceptor;
@@ -98,18 +98,12 @@ public abstract class AbstractLoggingInt
     }
     
     
-    protected void writePayload(StringBuilder builder, CachedOutputStream cos, String encoding) 
+    protected void writePayload(StringBuilder builder, CachedOutputStream cos,
+                                String encoding, String contentType) 
         throws Exception {
-        if (isPrettyLogging()) {
-
-            TransformerFactory tfactory = TransformerFactory.newInstance();
-            try {
-                tfactory.setAttribute("indent-number", "2");
-            } catch (Exception ex) {
-                // ignore
-            }
-            Transformer serializer;
-            serializer = tfactory.newTransformer();
+        // Just transform the XML message
+        if (isPrettyLogging() && (contentType != null && contentType.indexOf("xml") >= 0)) {
+            Transformer serializer = XMLUtils.newTransformer(2);
             // Setup indenting to "pretty print"
             serializer.setOutputProperty(OutputKeys.INDENT, "yes");
             serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java?rev=982846&r1=982845&r2=982846&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java Fri Aug  6 01:30:04 2010
@@ -115,7 +115,7 @@ public class LoggingInInterceptor extend
                 if (bos.size() > limit) {
                     buffer.getMessage().append("(message truncated to " + limit + " bytes)\n");
                 }
-                writePayload(buffer.getPayload(), bos, encoding); 
+                writePayload(buffer.getPayload(), bos, encoding, ct); 
                     
                 bos.close();
             } catch (Exception e) {

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java?rev=982846&r1=982845&r2=982846&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java Fri Aug  6 01:30:04 2010
@@ -133,7 +133,7 @@ public class LoggingOutInterceptor exten
                 }
             }
             try {
-                writePayload(buffer.getPayload(), cos, encoding); 
+                writePayload(buffer.getPayload(), cos, encoding, ct); 
             } catch (Exception ex) {
                 //ignore
             }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/PrettyLoggingOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/PrettyLoggingOutInterceptor.java?rev=982846&r1=982845&r2=982846&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/PrettyLoggingOutInterceptor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/PrettyLoggingOutInterceptor.java Fri Aug  6 01:30:04 2010
@@ -28,11 +28,11 @@ import java.util.logging.Logger;
 
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.helpers.XMLUtils;
 import org.apache.cxf.io.CacheAndWriteOutputStream;
 import org.apache.cxf.io.CachedOutputStream;
 import org.apache.cxf.io.CachedOutputStreamCallback;
@@ -80,14 +80,7 @@ public class PrettyLoggingOutInterceptor
         public void onClose(CachedOutputStream cos) {
             
             try {
-                TransformerFactory tfactory = TransformerFactory.newInstance();
-                try { 
-                    tfactory.setAttribute("indent-number", "2");
-                } catch (Exception ex) {
-                    //ignore
-                }
-                Transformer serializer;
-                serializer = tfactory.newTransformer();
+                Transformer serializer = XMLUtils.newTransformer(2);
                 //Setup indenting to "pretty print"
                 serializer.setOutputProperty(OutputKeys.INDENT, "yes");
                 serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");