You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2017/02/03 19:50:40 UTC
[1/2] cxf git commit: Update transports and uncategorized systests to
use the logging feature instead of the deprecated interceptors
Repository: cxf
Updated Branches:
refs/heads/master 8be745da6 -> bcacbef8c
Update transports and uncategorized systests to use the logging feature instead of the deprecated interceptors
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/bcacbef8
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/bcacbef8
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/bcacbef8
Branch: refs/heads/master
Commit: bcacbef8c3aa0e40e2cf560c6d0922edb4b641fb
Parents: 5602eff
Author: Daniel Kulp <dk...@apache.org>
Authored: Fri Feb 3 14:47:59 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Fri Feb 3 14:48:36 2017 -0500
----------------------------------------------------------------------
systests/transports/pom.xml | 5 ++
.../http_jetty/JettyBasicAuthServer.java | 4 +-
.../systest/http_jetty/JettyBasicAuthTest.java | 4 +-
.../systest/http_jetty/JettyDigestAuthTest.java | 4 +-
.../cxf/systest/soap_udp/SoapUDPTest.java | 2 +-
systests/uncategorized/pom.xml | 5 ++
.../java/org/apache/cxf/cxf2006/Server.java | 4 +-
.../factory_pattern/NumberFactoryImpl.java | 4 +-
.../systest/fault/IntFaultClientServerTest.java | 4 +-
.../interceptor/InterceptorFaultTest.java | 7 +-
.../cxf/systest/mtom/ClientMtomXopTest.java | 4 +-
.../mtom_bindingtype/MTOMBindingTypeTest.java | 4 +-
.../MtomFeatureClientServerTest.java | 5 +-
.../ValidationClientServerTest.java | 2 +-
.../StaxTransformFeatureTest.java | 71 +++++++-------------
.../systest/stringarray/StringArrayTest.java | 19 +++---
.../apache/cxf/systest/versioning/Server.java | 2 +-
17 files changed, 72 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/transports/pom.xml
----------------------------------------------------------------------
diff --git a/systests/transports/pom.xml b/systests/transports/pom.xml
index 9bccf56..199427c 100644
--- a/systests/transports/pom.xml
+++ b/systests/transports/pom.xml
@@ -168,6 +168,11 @@
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-features-logging</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
<artifactId>cxf-testutils</artifactId>
<version>${project.version}</version>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthServer.java
----------------------------------------------------------------------
diff --git a/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthServer.java b/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthServer.java
index ae26721..007f38e 100644
--- a/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthServer.java
+++ b/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthServer.java
@@ -26,8 +26,8 @@ import javax.xml.ws.Endpoint;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBusFactory;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthTest.java
----------------------------------------------------------------------
diff --git a/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthTest.java b/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthTest.java
index 3072280..980e87c 100644
--- a/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthTest.java
+++ b/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyBasicAuthTest.java
@@ -28,9 +28,9 @@ import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.CXFBusFactory;
import org.apache.cxf.configuration.security.AuthorizationPolicy;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.frontend.ClientProxy;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.cxf.testutil.common.AbstractClientServerTestBase;
import org.apache.cxf.transport.http.HTTPConduit;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyDigestAuthTest.java
----------------------------------------------------------------------
diff --git a/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyDigestAuthTest.java b/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyDigestAuthTest.java
index fe6e106..130f38c 100644
--- a/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyDigestAuthTest.java
+++ b/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/JettyDigestAuthTest.java
@@ -32,11 +32,11 @@ import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.CXFBusFactory;
import org.apache.cxf.bus.spring.SpringBusFactory;
import org.apache.cxf.configuration.security.AuthorizationPolicy;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.interceptor.Fault;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.AbstractPhaseInterceptor;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/transports/src/test/java/org/apache/cxf/systest/soap_udp/SoapUDPTest.java
----------------------------------------------------------------------
diff --git a/systests/transports/src/test/java/org/apache/cxf/systest/soap_udp/SoapUDPTest.java b/systests/transports/src/test/java/org/apache/cxf/systest/soap_udp/SoapUDPTest.java
index f1e1f19..0bb1b8f 100644
--- a/systests/transports/src/test/java/org/apache/cxf/systest/soap_udp/SoapUDPTest.java
+++ b/systests/transports/src/test/java/org/apache/cxf/systest/soap_udp/SoapUDPTest.java
@@ -23,7 +23,7 @@ import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import org.apache.cxf.BusFactory;
-import org.apache.cxf.feature.LoggingFeature;
+import org.apache.cxf.ext.logging.LoggingFeature;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.hello_world_soap_http.Greeter;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/pom.xml
----------------------------------------------------------------------
diff --git a/systests/uncategorized/pom.xml b/systests/uncategorized/pom.xml
index 650d6ca..e7ee27c 100644
--- a/systests/uncategorized/pom.xml
+++ b/systests/uncategorized/pom.xml
@@ -151,6 +151,11 @@
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-features-logging</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-databinding-jaxb</artifactId>
<version>${project.version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/cxf2006/Server.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/cxf2006/Server.java b/systests/uncategorized/src/test/java/org/apache/cxf/cxf2006/Server.java
index 90580a9..62d69a5 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/cxf2006/Server.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/cxf2006/Server.java
@@ -23,8 +23,8 @@ import java.net.URL;
import javax.xml.ws.Endpoint;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
import org.apache.hello_world_soap_http.RPCLitGreeterImpl;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/factory_pattern/NumberFactoryImpl.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/factory_pattern/NumberFactoryImpl.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/factory_pattern/NumberFactoryImpl.java
index 876cdf1..443fd2a7 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/factory_pattern/NumberFactoryImpl.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/factory_pattern/NumberFactoryImpl.java
@@ -28,9 +28,9 @@ import javax.xml.transform.Source;
import javax.xml.ws.wsaddressing.W3CEndpointReference;
import org.apache.cxf.Bus;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.factory_pattern.NumberFactory;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.testutil.common.EmbeddedJMSBrokerLauncher;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/fault/IntFaultClientServerTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/fault/IntFaultClientServerTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/fault/IntFaultClientServerTest.java
index 87368f8..bbe3d89 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/fault/IntFaultClientServerTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/fault/IntFaultClientServerTest.java
@@ -28,10 +28,10 @@ import javax.xml.ws.BindingProvider;
import org.w3c.dom.Node;
import org.apache.cxf.binding.soap.SoapHeader;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.headers.Header;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.intfault.BadRecordLitFault;
import org.apache.intfault.Greeter;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/interceptor/InterceptorFaultTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/interceptor/InterceptorFaultTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/interceptor/InterceptorFaultTest.java
index ec7ae3d..8c0070e 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/interceptor/InterceptorFaultTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/interceptor/InterceptorFaultTest.java
@@ -38,6 +38,8 @@ import org.apache.cxf.binding.soap.SoapFault;
import org.apache.cxf.bus.spring.SpringBusFactory;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.event.PrintWriterEventSender;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.greeter_control.Control;
import org.apache.cxf.greeter_control.ControlImpl;
@@ -47,7 +49,6 @@ import org.apache.cxf.greeter_control.Greeter;
import org.apache.cxf.greeter_control.GreeterService;
import org.apache.cxf.greeter_control.PingMeFault;
import org.apache.cxf.greeter_control.types.FaultLocation;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.Phase;
import org.apache.cxf.phase.PhaseComparator;
@@ -199,8 +200,8 @@ public class InterceptorFaultTest extends AbstractBusClientServerTestBase {
// writer to grab the content of soap fault.
// robust is not yet used at client's side, but I think it should
StringWriter writer = new StringWriter();
- ((Client)greeter).getInInterceptors().add(new LoggingInInterceptor());
- ((LoggingInInterceptor)greeterBus.getInInterceptors().get(0)).setPrintWriter(new PrintWriter(writer));
+ ((Client)greeter).getInInterceptors()
+ .add(new LoggingInInterceptor(new PrintWriterEventSender(new PrintWriter(writer))));
// it should tell CXF to convert one-way robust out faults into real SoapFaultException
((Client)greeter).getEndpoint().put(Message.ROBUST_ONEWAY, true);
greeter.greetMeOneWay("oneway");
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
index d88d117..e604a7a 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java
@@ -38,10 +38,10 @@ import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.ClientImpl;
import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.helpers.IOUtils;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.jaxws.JaxWsClientProxy;
import org.apache.cxf.jaxws.binding.soap.SOAPBindingImpl;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_bindingtype/MTOMBindingTypeTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_bindingtype/MTOMBindingTypeTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_bindingtype/MTOMBindingTypeTest.java
index f50919e..02d4df8 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_bindingtype/MTOMBindingTypeTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_bindingtype/MTOMBindingTypeTest.java
@@ -29,8 +29,8 @@ import javax.xml.namespace.QName;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Holder;
import javax.xml.ws.soap.SOAPBinding;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.systest.mtom_feature.Hello;
import org.apache.cxf.systest.mtom_feature.HelloService;
import org.apache.cxf.systest.mtom_feature.ImageHelper;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_feature/MtomFeatureClientServerTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_feature/MtomFeatureClientServerTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_feature/MtomFeatureClientServerTest.java
index f5581a5..c87967c 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_feature/MtomFeatureClientServerTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/mtom_feature/MtomFeatureClientServerTest.java
@@ -31,7 +31,8 @@ import javax.xml.ws.Holder;
import javax.xml.ws.Service;
import javax.xml.ws.soap.MTOMFeature;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.event.PrintWriterEventSender;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.cxf.transport.local.LocalConduit;
@@ -135,7 +136,7 @@ public class MtomFeatureClientServerTest extends AbstractBusClientServerTestBase
ByteArrayOutputStream bos = new ByteArrayOutputStream();
PrintWriter writer = new PrintWriter(bos, true);
- LoggingOutInterceptor out = new LoggingOutInterceptor(writer);
+ LoggingOutInterceptor out = new LoggingOutInterceptor(new PrintWriterEventSender(writer));
this.bus.getOutInterceptors().add(out);
return bos;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/schema_validation/ValidationClientServerTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/schema_validation/ValidationClientServerTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/schema_validation/ValidationClientServerTest.java
index 8fe92bb..6f89ea0 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/schema_validation/ValidationClientServerTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/schema_validation/ValidationClientServerTest.java
@@ -34,7 +34,7 @@ import javax.xml.ws.WebServiceException;
import org.apache.cxf.annotations.SchemaValidation.SchemaValidationType;
import org.apache.cxf.endpoint.Client;
-import org.apache.cxf.feature.LoggingFeature;
+import org.apache.cxf.ext.logging.LoggingFeature;
import org.apache.cxf.message.Message;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.schema_validation.DoSomethingFault;
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/stax_transform_feature/StaxTransformFeatureTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/stax_transform_feature/StaxTransformFeatureTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/stax_transform_feature/StaxTransformFeatureTest.java
index f0dec31..344a080 100755
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/stax_transform_feature/StaxTransformFeatureTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/stax_transform_feature/StaxTransformFeatureTest.java
@@ -30,14 +30,14 @@ import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.SpringBusFactory;
import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.event.LogEvent;
+import org.apache.cxf.ext.logging.event.LogEventSender;
import org.apache.cxf.greeter_control.Greeter;
import org.apache.cxf.greeter_control.GreeterService;
-import org.apache.cxf.interceptor.Fault;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.interceptor.transform.TransformInInterceptor;
import org.apache.cxf.interceptor.transform.TransformOutInterceptor;
-import org.apache.cxf.message.Message;
import org.apache.cxf.systest.interceptor.GreeterImpl;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
@@ -57,8 +57,8 @@ public class StaxTransformFeatureTest extends AbstractBusClientServerTestBase {
private static final Logger LOG = LogUtils.getLogger(StaxTransformFeatureTest.class);
private static final String GREETER_PORT_ADDRESS = "http://localhost:" + PORT + "/SoapContext/GreeterPort";
- private static TestLoggingInInterceptor serverlogIn = new TestLoggingInInterceptor();
- private static TestLoggingOutInterceptor serverlogOut = new TestLoggingOutInterceptor();
+ private static TestLoggingEventSender serverlogIn = new TestLoggingEventSender();
+ private static TestLoggingEventSender serverlogOut = new TestLoggingEventSender();
private static TransformInInterceptor servertransIn = new TransformInInterceptor();
private static TransformOutInterceptor servertransOut = new TransformOutInterceptor();
@@ -74,9 +74,9 @@ public class StaxTransformFeatureTest extends AbstractBusClientServerTestBase {
BusFactory.setDefaultBus(bus);
setBus(bus);
- bus.getInInterceptors().add(serverlogIn);
- bus.getOutInterceptors().add(serverlogOut);
- bus.getOutFaultInterceptors().add(serverlogOut);
+ bus.getInInterceptors().add(new LoggingInInterceptor(serverlogIn));
+ bus.getOutInterceptors().add(new LoggingOutInterceptor(serverlogOut));
+ bus.getOutFaultInterceptors().add(new LoggingOutInterceptor(serverlogOut));
Map<String, String> inElements = new HashMap<String, String>();
@@ -149,11 +149,12 @@ public class StaxTransformFeatureTest extends AbstractBusClientServerTestBase {
Bus bus = bf.createBus();
BusFactory.setDefaultBus(bus);
- TestLoggingInInterceptor logIn = new TestLoggingInInterceptor();
- bus.getInInterceptors().add(logIn);
- TestLoggingOutInterceptor logOut = new TestLoggingOutInterceptor();
- bus.getOutInterceptors().add(logOut);
- bus.getOutFaultInterceptors().add(logOut);
+ TestLoggingEventSender logIn = new TestLoggingEventSender();
+ bus.getInInterceptors().add(new LoggingInInterceptor(logIn));
+ bus.getInFaultInterceptors().add(new LoggingInInterceptor(logIn));
+ TestLoggingEventSender logOut = new TestLoggingEventSender();
+ bus.getOutInterceptors().add(new LoggingOutInterceptor(logOut));
+ bus.getOutFaultInterceptors().add(new LoggingOutInterceptor(logOut));
TransformInInterceptor transIn = new TransformInInterceptor();
Map<String, String> inElements = new HashMap<String, String>();
@@ -175,7 +176,7 @@ public class StaxTransformFeatureTest extends AbstractBusClientServerTestBase {
updateAddressPort(greeter, PORT);
LOG.fine("Created greeter client.");
-
+
// ping 1: request-response transformation
greeter.pingMe();
verifyPayload(logOut.getMessage(), "dontPingMe");
@@ -187,10 +188,11 @@ public class StaxTransformFeatureTest extends AbstractBusClientServerTestBase {
serverlogIn.cleaerMessage();
logOut.cleaerMessage();
logIn.cleaerMessage();
-
+
// ping 2: request-fault transformation
try {
greeter.pingMe();
+ fail("Ping should have failed");
} catch (Exception e) {
assertEquals("Pings succeed only every other time.", e.getMessage());
}
@@ -212,6 +214,7 @@ public class StaxTransformFeatureTest extends AbstractBusClientServerTestBase {
servertransOut.setSkipOnFault(true);
try {
greeter.pingMe();
+ fail("Ping should have failed");
} catch (Exception e) {
assertEquals("Pings succeed only every other time.", e.getMessage());
}
@@ -226,49 +229,25 @@ public class StaxTransformFeatureTest extends AbstractBusClientServerTestBase {
private void verifyPayload(String m, String value) {
assertNotNull("message not logged", m);
// the entire soap envelope is logged
- assertTrue(m.indexOf("Payload: <soap:Envelope") > 0 && m.indexOf("</soap:Envelope>") > 0);
+ assertTrue(m, m.indexOf("<soap:Envelope") >= 0 && m.indexOf("</soap:Envelope>") > 0);
// the transformed body is logged
- assertTrue(value + " must be found in payload", m.indexOf(value) > 0);
+ assertTrue(value + " must be found in payload: " + m, m.indexOf(value) > 0);
}
- static class TestLoggingInInterceptor extends LoggingInInterceptor {
+ static class TestLoggingEventSender implements LogEventSender {
private String logMessage;
- @Override
- public void handleMessage(Message msg) throws Fault {
- msg.getExchange().getEndpoint().getEndpointInfo().setProperty("MessageLogger", LOG);
- super.handleMessage(msg);
- }
- @Override
- protected void log(Logger logger, String msg) {
- logMessage = msg;
- }
public String getMessage() {
return logMessage;
}
public void cleaerMessage() {
logMessage = null;
}
- }
-
- static class TestLoggingOutInterceptor extends LoggingOutInterceptor {
- private String message;
-
- @Override
- public void handleMessage(Message msg) throws Fault {
- msg.getExchange().getEndpoint().getEndpointInfo().setProperty("MessageLogger", LOG);
- super.handleMessage(msg);
- }
@Override
- protected void log(Logger logger, String msg) {
- message = msg;
- }
- public String getMessage() {
- return message;
- }
- public void cleaerMessage() {
- message = null;
+ public void send(LogEvent event) {
+ logMessage = event.getPayload();
}
}
+
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/stringarray/StringArrayTest.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/stringarray/StringArrayTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/stringarray/StringArrayTest.java
index 900f3a1..af209a9 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/stringarray/StringArrayTest.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/stringarray/StringArrayTest.java
@@ -23,8 +23,9 @@ import java.io.StringWriter;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.SpringBusFactory;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
+import org.apache.cxf.ext.logging.event.PrintWriterEventSender;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.apache.stringarray.SOAPServiceRPCLit;
import org.apache.stringarray.StringListTest;
@@ -53,11 +54,11 @@ public class StringArrayTest extends AbstractBusClientServerTestBase {
setBus(bus);
StringWriter swin = new java.io.StringWriter();
java.io.PrintWriter pwin = new java.io.PrintWriter(swin);
- LoggingInInterceptor logIn = new LoggingInInterceptor(pwin);
+ LoggingInInterceptor logIn = new LoggingInInterceptor(new PrintWriterEventSender(pwin));
StringWriter swout = new java.io.StringWriter();
java.io.PrintWriter pwout = new java.io.PrintWriter(swout);
- LoggingOutInterceptor logOut = new LoggingOutInterceptor(pwout);
+ LoggingOutInterceptor logOut = new LoggingOutInterceptor(new PrintWriterEventSender(pwout));
getBus().getInInterceptors().add(logIn);
@@ -69,10 +70,12 @@ public class StringArrayTest extends AbstractBusClientServerTestBase {
String[] res = port.stringListTest(strs);
assertArrayEquals(strs, res);
- assertTrue("Request message is not marshalled correctly and @XmlList does not take effect",
- swout.toString().indexOf("<in>org apache cxf</in>") > -1);
- assertTrue("Response message is not marshalled correctly and @XmlList does not take effect",
- swin.toString().indexOf("<out>org apache cxf</out>") > -1);
+ assertTrue("Request message is not marshalled correctly and @XmlList does not take effect:\n"
+ + swout.toString(),
+ swout.toString().indexOf("<in>org apache cxf</in>") > -1);
+ assertTrue("Response message is not marshalled correctly and @XmlList does not take effect\n"
+ + swin.toString(),
+ swin.toString().indexOf("<out>org apache cxf</out>") > -1);
}
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/bcacbef8/systests/uncategorized/src/test/java/org/apache/cxf/systest/versioning/Server.java
----------------------------------------------------------------------
diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/versioning/Server.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/versioning/Server.java
index acd7d73..4f8cf8c 100644
--- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/versioning/Server.java
+++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/versioning/Server.java
@@ -22,7 +22,7 @@ package org.apache.cxf.systest.versioning;
import javax.xml.ws.Endpoint;
import org.apache.cxf.BusFactory;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
import org.apache.cxf.transport.MultipleEndpointObserver;
[2/2] cxf git commit: [CXF-7242] Update new LoggingInInterceptor to
actually log payloads Also update new logging to take a PrintStream to make
it more compatible with old interceptors
Posted by dk...@apache.org.
[CXF-7242] Update new LoggingInInterceptor to actually log payloads
Also update new logging to take a PrintStream to make it more compatible with old interceptors
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/5602eff2
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/5602eff2
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/5602eff2
Branch: refs/heads/master
Commit: 5602eff212c78c88e427375a6f139050d9b5c7b4
Parents: 8be745d
Author: Daniel Kulp <dk...@apache.org>
Authored: Fri Feb 3 14:47:09 2017 -0500
Committer: Daniel Kulp <dk...@apache.org>
Committed: Fri Feb 3 14:48:36 2017 -0500
----------------------------------------------------------------------
.../cxf/ext/logging/LoggingInInterceptor.java | 171 ++++++++++++++-----
.../cxf/ext/logging/LoggingOutInterceptor.java | 6 +-
.../logging/event/DefaultLogEventMapper.java | 4 +-
.../logging/event/PrintWriterEventSender.java | 77 +++++++++
4 files changed, 213 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/5602eff2/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
index 940603f..6c19109 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
@@ -18,84 +18,171 @@
*/
package org.apache.cxf.ext.logging;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.SequenceInputStream;
+import java.util.Collection;
+import java.util.Collections;
import org.apache.cxf.common.injection.NoJSR250Annotations;
import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.ext.logging.event.DefaultLogEventMapper;
+import org.apache.cxf.ext.logging.event.EventType;
import org.apache.cxf.ext.logging.event.LogEvent;
import org.apache.cxf.ext.logging.event.LogEventSender;
+import org.apache.cxf.ext.logging.event.PrintWriterEventSender;
import org.apache.cxf.ext.logging.slf4j.Slf4jEventSender;
+import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.io.CachedOutputStream;
import org.apache.cxf.io.CachedWriter;
+import org.apache.cxf.io.DelegatingInputStream;
import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.AbstractPhaseInterceptor;
import org.apache.cxf.phase.Phase;
+import org.apache.cxf.phase.PhaseInterceptor;
/**
*
*/
@NoJSR250Annotations
public class LoggingInInterceptor extends AbstractLoggingInterceptor {
-
+ class SendLogEventInterceptor extends AbstractPhaseInterceptor<Message> {
+ SendLogEventInterceptor() {
+ super(Phase.PRE_INVOKE);
+ }
+ @Override
+ public void handleMessage(Message message) throws Fault {
+ LogEvent event = message.get(LogEvent.class);
+ if (event != null) {
+ DefaultLogEventMapper mapper = new DefaultLogEventMapper();
+ mapper.setEpInfo(message, event);
+ event.setType(mapper.getEventType(message));
+ message.remove(LogEvent.class);
+ sender.send(event);
+ }
+ }
+ }
+
public LoggingInInterceptor() {
this(new Slf4jEventSender());
}
-
+ public LoggingInInterceptor(PrintWriter writer) {
+ this(new PrintWriterEventSender(writer));
+ }
public LoggingInInterceptor(LogEventSender sender) {
- super(Phase.PRE_INVOKE, sender);
+ super(Phase.RECEIVE, sender);
+ }
+ public Collection<PhaseInterceptor<? extends Message>> getAdditionalInterceptors() {
+ return Collections.singleton(new SendLogEventInterceptor());
+ }
+
+
+ public void handleFault(Message message) {
+ LogEvent event = message.get(LogEvent.class);
+ if (event != null) {
+ DefaultLogEventMapper mapper = new DefaultLogEventMapper();
+ mapper.setEpInfo(message, event);
+ event.setType(EventType.FAULT_IN);
+ message.remove(LogEvent.class);
+ sender.send(event);
+ }
}
-
public void handleMessage(Message message) throws Fault {
- createExchangeId(message);
- final LogEvent event = new DefaultLogEventMapper().map(message);
- if (shouldLogContent(event)) {
- addContent(message, event);
- } else {
- event.setPayload(AbstractLoggingInterceptor.CONTENT_SUPPRESSED);
+ LogEvent event = message.get(LogEvent.class);
+ if (event == null) {
+ createExchangeId(message);
+ event = new DefaultLogEventMapper().map(message);
+ if (shouldLogContent(event)) {
+ addContent(message, event);
+ } else {
+ event.setPayload(AbstractLoggingInterceptor.CONTENT_SUPPRESSED);
+ }
+ // at this point, we have the payload. However, we may not have the endpoint yet. Delay sending
+ // the event till a little bit later
+ message.put(LogEvent.class, event);
}
- sender.send(event);
}
private void addContent(Message message, final LogEvent event) {
+ InputStream is = message.getContent(InputStream.class);
+ if (is != null) {
+ logInputStream(message, is, event);
+ } else {
+ Reader reader = message.getContent(Reader.class);
+ if (reader != null) {
+ logReader(message, reader, event);
+ }
+ }
+ }
+
+ protected void logInputStream(Message message, InputStream is, LogEvent event) {
+ CachedOutputStream bos = new CachedOutputStream();
+ if (threshold > 0) {
+ bos.setThreshold(threshold);
+ }
+ String encoding = event.getEncoding();
try {
- CachedOutputStream cos = message.getContent(CachedOutputStream.class);
- if (cos != null) {
- handleOutputStream(event, message, cos);
+ // use the appropriate input stream and restore it later
+ InputStream bis = is instanceof DelegatingInputStream
+ ? ((DelegatingInputStream)is).getInputStream() : is;
+
+
+ //only copy up to the limit since that's all we need to log
+ //we can stream the rest
+ IOUtils.copyAtLeast(bis, bos, limit == -1 ? Integer.MAX_VALUE : limit);
+ bos.flush();
+ bis = new SequenceInputStream(bos.getInputStream(), bis);
+
+ // restore the delegating input stream or the input stream
+ if (is instanceof DelegatingInputStream) {
+ ((DelegatingInputStream)is).setInputStream(bis);
} else {
- CachedWriter writer = message.getContent(CachedWriter.class);
- if (writer != null) {
- handleWriter(event, writer);
- }
+ message.setContent(InputStream.class, bis);
}
- } catch (IOException e) {
+
+ if (bos.getTempFile() != null) {
+ //large thing on disk...
+ event.setFullContentFile(bos.getTempFile());
+ }
+ if (bos.size() > limit && limit != -1) {
+ event.setTruncated(true);
+ }
+
+ StringBuilder builder = new StringBuilder(limit);
+ if (StringUtils.isEmpty(encoding)) {
+ bos.writeCacheTo(builder, limit);
+ } else {
+ bos.writeCacheTo(builder, encoding, limit);
+ }
+ bos.close();
+ event.setPayload(builder.toString());
+ } catch (Exception e) {
throw new Fault(e);
}
}
- private void handleOutputStream(final LogEvent event, Message message, CachedOutputStream cos) throws IOException {
- String encoding = (String)message.get(Message.ENCODING);
- if (StringUtils.isEmpty(encoding)) {
- encoding = StandardCharsets.UTF_8.name();
+ protected void logReader(Message message, Reader reader, LogEvent event) {
+ try {
+ CachedWriter writer = new CachedWriter();
+ IOUtils.copyAndCloseInput(reader, writer);
+ message.setContent(Reader.class, writer.getReader());
+
+ if (writer.getTempFile() != null) {
+ //large thing on disk...
+ event.setFullContentFile(writer.getTempFile());
+ }
+ if (writer.size() > limit && limit != -1) {
+ event.setTruncated(true);
+ }
+ int max = writer.size() > limit ? (int)limit : (int)writer.size();
+ StringBuilder b = new StringBuilder(max);
+ writer.writeCacheTo(b);
+ event.setPayload(b.toString());
+ } catch (Exception e) {
+ throw new Fault(e);
}
- StringBuilder payload = new StringBuilder();
- cos.writeCacheTo(payload, encoding, limit);
- cos.close();
- event.setPayload(payload.toString());
- boolean isTruncated = cos.size() > limit && limit != -1;
- event.setTruncated(isTruncated);
- event.setFullContentFile(cos.getTempFile());
- }
-
- private void handleWriter(final LogEvent event, CachedWriter writer) throws IOException {
- boolean isTruncated = writer.size() > limit && limit != -1;
- StringBuilder payload = new StringBuilder();
- writer.writeCacheTo(payload, limit);
- event.setPayload(payload.toString());
- event.setTruncated(isTruncated);
- event.setFullContentFile(writer.getTempFile());
}
-
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/5602eff2/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingOutInterceptor.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingOutInterceptor.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingOutInterceptor.java
index 8620021..2885f6e 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingOutInterceptor.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingOutInterceptor.java
@@ -21,6 +21,7 @@ package org.apache.cxf.ext.logging;
import java.io.FilterWriter;
import java.io.IOException;
import java.io.OutputStream;
+import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
@@ -29,6 +30,7 @@ import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.ext.logging.event.DefaultLogEventMapper;
import org.apache.cxf.ext.logging.event.LogEvent;
import org.apache.cxf.ext.logging.event.LogEventSender;
+import org.apache.cxf.ext.logging.event.PrintWriterEventSender;
import org.apache.cxf.ext.logging.slf4j.Slf4jEventSender;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.interceptor.StaxOutInterceptor;
@@ -47,7 +49,9 @@ public class LoggingOutInterceptor extends AbstractLoggingInterceptor {
public LoggingOutInterceptor() {
this(new Slf4jEventSender());
}
-
+ public LoggingOutInterceptor(PrintWriter w) {
+ this(new PrintWriterEventSender(w));
+ }
public LoggingOutInterceptor(LogEventSender sender) {
super(Phase.PRE_STREAM, sender);
addBefore(StaxOutInterceptor.class.getName());
http://git-wip-us.apache.org/repos/asf/cxf/blob/5602eff2/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
index 0123a1b..f48629f 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/DefaultLogEventMapper.java
@@ -281,7 +281,7 @@ public class DefaultLogEventMapper implements LogEventMapper {
* @param message the message
* @return the event type
*/
- private EventType getEventType(Message message) {
+ public EventType getEventType(Message message) {
boolean isRequestor = MessageUtils.isRequestor(message);
boolean isFault = MessageUtils.isFault(message);
if (!isFault) {
@@ -320,7 +320,7 @@ public class DefaultLogEventMapper implements LogEventMapper {
}
}
- private void setEpInfo(Message message, final LogEvent event) {
+ public void setEpInfo(Message message, final LogEvent event) {
EndpointInfo endpoint = getEPInfo(message);
event.setPortName(endpoint.getName());
event.setPortTypeName(endpoint.getName());
http://git-wip-us.apache.org/repos/asf/cxf/blob/5602eff2/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/PrintWriterEventSender.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/PrintWriterEventSender.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/PrintWriterEventSender.java
new file mode 100644
index 0000000..b34133d
--- /dev/null
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/event/PrintWriterEventSender.java
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.ext.logging.event;
+
+import java.io.PrintWriter;
+import java.time.Instant;
+
+import javax.xml.namespace.QName;
+
+/**
+ *
+ */
+public class PrintWriterEventSender implements LogEventSender {
+ PrintWriter writer;
+
+ public PrintWriterEventSender(PrintWriter writer) {
+ this.writer = writer;
+ }
+
+ void setPrintWriter(PrintWriter w) {
+ writer = w;
+ }
+
+
+ /** {@inheritDoc}*/
+ @Override
+ public void send(LogEvent event) {
+ StringBuilder b = new StringBuilder();
+
+ b.append(Instant.now().toString()).append(" - PrintWriterEventSender\n");
+ put(b, "type", event.getType().toString());
+ put(b, "address", event.getAddress());
+ put(b, "content-type", event.getContentType());
+ put(b, "encoding", event.getEncoding());
+ put(b, "exchangeId", event.getExchangeId());
+ put(b, "httpMethod", event.getHttpMethod());
+ put(b, "messageId", event.getMessageId());
+ put(b, "responseCode", event.getResponseCode());
+ put(b, "serviceName", localPart(event.getServiceName()));
+ put(b, "portName", localPart(event.getPortName()));
+ put(b, "portTypeName", localPart(event.getPortTypeName()));
+ if (event.getFullContentFile() != null) {
+ put(b, "fullContentFile", event.getFullContentFile().getAbsolutePath());
+ }
+ put(b, "headers", event.getHeaders().toString());
+ synchronized (writer) {
+ writer.print(b.toString());
+ writer.println(event.getPayload());
+ }
+ }
+ protected String localPart(QName name) {
+ return name == null ? null : name.getLocalPart();
+ }
+
+ protected void put(StringBuilder b, String key, String value) {
+ if (value != null) {
+ b.append(" ").append(key).append(": ").append(value).append("\n");
+ }
+ }
+}