Author: hiranya
Date: Sun Aug 11 06:52:43 2013
New Revision: 1512883

URL: http://svn.apache.org/r1512883
Log:
Some java docs to the new logging package

Modified:
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpListener.java
 Sun Aug 11 06:52:43 2013
@@ -80,8 +80,10 @@ public class PassThroughHttpListener imp
 
     /** The custom URI map for the services if there are any */
     private Map<String, String> serviceNameToEPRMap = new HashMap<String, 
String>();
+
     /** The service name map for the custom URI if there are any */
     private Map<String, String> eprToServiceNameMap = new HashMap<String, 
String>();
+
     /** the axis observer that gets notified of service life cycle events*/
     private final AxisObserver axisObserver = new GenericAxisObserver();
 
@@ -137,10 +139,10 @@ public class PassThroughHttpListener imp
         log.info("Starting pass-through " + namePrefix + " listener...");
 
         try {
-            String prefix = namePrefix + "-Listener I/O dispatcher";
+            String prefix = namePrefix + "-PT-Listener I/O Dispatcher";
             ioReactor = new DefaultListeningIOReactor(
                             sourceConfiguration.getReactorConfig(),
-                            new NativeThreadFactory(new ThreadGroup(prefix + " 
thread group"), prefix));
+                            new NativeThreadFactory(new ThreadGroup(prefix + " 
Thread Group"), prefix));
             
             ioReactor.setExceptionHandler(new IOReactorExceptionHandler() {
 

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/PassThroughHttpSender.java
 Sun Aug 11 06:52:43 2013
@@ -171,7 +171,7 @@ public class PassThroughHttpSender exten
         targetConfiguration.setMetrics(metrics);
 
         try {
-            String prefix = namePrefix + "-Sender I/O dispatcher";
+            String prefix = namePrefix + "-PT-Sender I/O Dispatcher";
 
             ioReactor = new DefaultConnectingIOReactor(
                             targetConfiguration.getReactorConfig(),

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/config/HttpTransportConfiguration.java
 Sun Aug 11 06:52:43 2013
@@ -28,20 +28,40 @@ import org.apache.synapse.commons.util.M
 import java.nio.charset.CodingErrorAction;
 import java.util.Properties;
 
+/**
+ * A base class for parsing transport configuration files and initializing 
basic
+ * HTTP Core configuration objects.
+ */
 public abstract class HttpTransportConfiguration {
 
     protected Log log = LogFactory.getLog(this.getClass());
 
     private Properties props;
 
+    /**
+     * Create a new HttpTransportConfiguration instance.
+     *
+     * @param fileName Name of the file (without extensions) from where the 
transport
+     *                 configuration should be loaded.
+     */
     public HttpTransportConfiguration(String fileName) {
         try {
             props = MiscellaneousUtil.loadProperties(fileName + ".properties");
         } catch (Exception ignored) {}
     }
 
+    /**
+     * Get the number of I/O dispatcher threads that should be used in each 
IOReactor.
+     *
+     * @return A positive integer
+     */
     abstract protected int getThreadsPerReactor();
 
+    /**
+     * Get the IOReactor configuration
+     *
+     * @return A fully initialized IOReactorConfig instance
+     */
     public IOReactorConfig getReactorConfig() {
         IOReactorConfig.Builder builder = IOReactorConfig.custom()
                 .setIoThreadCount(getThreadsPerReactor())
@@ -66,6 +86,11 @@ public abstract class HttpTransportConfi
         return builder.build();
     }
 
+    /**
+     * Get the connection configuration
+     *
+     * @return A fully initialized ConnectionConfig instance
+     */
     public ConnectionConfig getConnectionConfig() {
         return ConnectionConfig.custom()
                 
.setBufferSize(getIntProperty(HttpConfigConstants.SOCKET_BUFFER_SIZE, 8 * 1024))

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingClientEventHandler.java
 Sun Aug 11 06:52:43 2013
@@ -30,16 +30,30 @@ import org.apache.http.nio.NHttpClientEv
 
 import java.io.IOException;
 
+/**
+ * A decorator (wrapper) for NHttpClientEventHandler instances. This decorator
+ * logs additional debug information regarding each of the events triggered on 
the
+ * actual NHttpClientEventHandler instance. Most events are logged 'before' 
they are
+ * dispatched to the wrapped NHttpClientEventHandler, but this implementation 
does
+ * not modify the event arguments by any means. In that sense this decorator is
+ * read-only and safe. This implementation does not log the exception event. 
It is
+ * expected that the actual NHttpClientEventHandler will take the necessary 
steps to
+ * log exceptions.
+ */
 public class LoggingClientEventHandler implements NHttpClientEventHandler {
 
     private final Log log;
 
     private final NHttpClientEventHandler handler;
 
+    /**
+     * Create a new instance of the decorator.
+     *
+     * @param handler The instance of NHttpClientEventHandler to be decorated 
(wrapped)
+     */
     public LoggingClientEventHandler(final NHttpClientEventHandler handler) {
-        super();
         if (handler == null) {
-            throw new IllegalArgumentException("HTTP client handler may not be 
null");
+            throw new IllegalArgumentException("HTTP client handler must not 
be null");
         }
         this.handler = handler;
         this.log = LogFactory.getLog(handler.getClass());
@@ -73,14 +87,14 @@ public class LoggingClientEventHandler i
 
     public void requestReady(final NHttpClientConnection conn) throws 
IOException, HttpException {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("HTTP connection " + conn + ": InRequest ready" + 
getRequestMessageID(conn));
+            this.log.debug("HTTP connection " + conn + ": InRequest ready");
         }
         this.handler.requestReady(conn);
     }
 
     public void outputReady(final NHttpClientConnection conn, final 
ContentEncoder encoder) throws IOException, HttpException {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("HTTP connection " + conn + ": Output ready" + 
getRequestMessageID(conn));
+            this.log.debug("HTTP connection " + conn + ": Output ready");
         }
         this.handler.outputReady(conn, encoder);
         if (this.log.isDebugEnabled()) {
@@ -91,15 +105,14 @@ public class LoggingClientEventHandler i
     public void responseReceived(final NHttpClientConnection conn) throws 
IOException, HttpException {
         HttpResponse response = conn.getHttpResponse();
         if (this.log.isDebugEnabled()) {
-            this.log.debug("HTTP connection " + conn + " : "
-                    + response.getStatusLine() + getRequestMessageID(conn));
+            this.log.debug("HTTP connection " + conn + " : " + 
response.getStatusLine());
         }
         this.handler.responseReceived(conn);
     }
 
     public void inputReady(final NHttpClientConnection conn, final 
ContentDecoder decoder) throws IOException, HttpException {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("HTTP connection " + conn + ": Input ready" + 
getRequestMessageID(conn));
+            this.log.debug("HTTP connection " + conn + ": Input ready");
         }
         this.handler.inputReady(conn, decoder);
         if (this.log.isDebugEnabled()) {
@@ -109,17 +122,8 @@ public class LoggingClientEventHandler i
 
     public void timeout(final NHttpClientConnection conn) throws IOException, 
HttpException {
         if (this.log.isDebugEnabled()) {
-            this.log.debug("HTTP connection " + conn + ": Timeout" + 
getRequestMessageID(conn));
+            this.log.debug("HTTP connection " + conn + ": Timeout");
         }
         this.handler.timeout(conn);
     }
-
-    private static String getRequestMessageID(final NHttpClientConnection 
conn) {
-        /*Axis2HttpRequest axis2Request = (Axis2HttpRequest)
-                
conn.getContext().getAttribute(ClientHandler.AXIS2_HTTP_REQUEST);
-        if (axis2Request != null) {
-            return " [InRequest Message ID : " + 
axis2Request.getMsgContext().getMessageID() + "]";
-        }*/
-        return "";
-    }
 }

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingIOSession.java
 Sun Aug 11 06:52:43 2013
@@ -31,6 +31,14 @@ import java.nio.channels.ByteChannel;
 import java.nio.channels.SelectionKey;
 import java.util.concurrent.atomic.AtomicLong;
 
+/**
+ * A decorator (wrapper) for IOSession instances. This decorator logs 
additional
+ * debug information regarding each of the events triggered on the actual 
IOSession
+ * instance. Most events are logged 'before' they are dispatched to the wrapped
+ * IOSession, but this implementation does not modify the event arguments by 
any means.
+ * In that sense this decorator is read-only and safe. This implementation 
also facilitates
+ * intercepting and logging HTTP messages at wire-level.
+ */
 public class LoggingIOSession implements IOSession {
 
     private static AtomicLong COUNT = new AtomicLong(0);
@@ -41,14 +49,22 @@ public class LoggingIOSession implements
     private final ByteChannel channel;
     private final String id;
 
+    /**
+     * Create a new instance of the decorator.
+     *
+     * @param sessionLog Log instance used to log IOSession events.
+     * @param wireLog Log instance used to log wire-level HTTP messages.
+     * @param session IOSession to be decorated.
+     * @param id An identifier (name) that will be attached to the IOSession 
for the logging
+     *           purposes.
+     */
     public LoggingIOSession(
             final Log sessionLog,
             final Log wireLog,
             final IOSession session,
             final String id) {
-        super();
         if (session == null) {
-            throw new IllegalArgumentException("I/O session may not be null");
+            throw new IllegalArgumentException("I/O session must not be null");
         }
         this.session = session;
         this.channel = new LoggingByteChannel();

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnection.java
 Sun Aug 11 06:52:43 2013
@@ -36,6 +36,11 @@ import java.io.IOException;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
 
+/**
+ * An extension of the DefaultNHttpClientConnection class, that provides some
+ * additional logging features. This implementation enhances the default 
connection
+ * class by logging all the major events that occur on the connection instance.
+ */
 public class LoggingNHttpClientConnection extends DefaultNHttpClientConnection 
{
 
     private final Log log;

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpClientConnectionFactory.java
 Sun Aug 11 06:52:43 2013
@@ -40,6 +40,13 @@ import org.apache.http.nio.util.HeapByte
 
 import java.io.IOException;
 
+/**
+ * A connection factory implementation for DefaultNHttpClientConnection 
instances.
+ * Based on the current logging configuration, this factory decides whether to 
create
+ * regular DefaultNHttpClientConnection objects or to create 
LoggingNHttpClientConnection
+ * objects. Also, depending on the logging configuration, this factory may 
choose to
+ * wrap IOSession instances in LoggingIOSession objects.
+ */
 public class LoggingNHttpClientConnectionFactory implements 
NHttpConnectionFactory<DefaultNHttpClientConnection> {
 
     private static final Log targetConnLog = LogFactory.getLog(

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLClientConnectionFactory.java
 Sun Aug 11 06:52:43 2013
@@ -30,6 +30,12 @@ import javax.net.ssl.SSLContext;
 import java.net.InetSocketAddress;
 import java.util.Map;
 
+/**
+ * The SSL-enabled version of the LoggingNHttpClientConnectionFactory. 
Identical in behavior
+ * to the parent class, but wraps IOSession instances with SSLIOSession 
instances. This
+ * implementation also supports using different SSLContext instances for 
different target
+ * I/O sessions.
+ */
 public class LoggingNHttpSSLClientConnectionFactory extends 
LoggingNHttpClientConnectionFactory {
 
     private SSLContext sslContext;

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpSSLServerConnectionFactory.java
 Sun Aug 11 06:52:43 2013
@@ -28,6 +28,10 @@ import org.apache.http.nio.reactor.ssl.S
 
 import javax.net.ssl.SSLContext;
 
+/**
+ * The SSL-enabled version of the LoggingNHttpServerConnectionFactory. 
Identical in behavior
+ * to the parent class, but wraps IOSession instances with SSLIOSession 
instances.
+ */
 public class LoggingNHttpSSLServerConnectionFactory extends 
LoggingNHttpServerConnectionFactory {
 
     private SSLContext sslContext;

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnection.java
 Sun Aug 11 06:52:43 2013
@@ -36,6 +36,11 @@ import java.io.IOException;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CharsetEncoder;
 
+/**
+ * An extension of the DefaultNHttpServerConnection class, that provides some
+ * additional logging features. This implementation enhances the default 
connection
+ * class by logging all the major events that occur on the connection instance.
+ */
 public class LoggingNHttpServerConnection extends DefaultNHttpServerConnection 
{
 
     private final Log log;

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingNHttpServerConnectionFactory.java
 Sun Aug 11 06:52:43 2013
@@ -40,6 +40,13 @@ import org.apache.http.nio.util.HeapByte
 
 import java.io.IOException;
 
+/**
+ * A connection factory implementation for DefaultNHttpServerConnection 
instances.
+ * Based on the current logging configuration, this factory decides whether to 
create
+ * regular DefaultNHttpServerConnection objects or to create 
LoggingNHttpServerConnection
+ * objects. Also, depending on the logging configuration, this factory may 
choose to
+ * wrap IOSession instances in LoggingIOSession objects.
+ */
 public class LoggingNHttpServerConnectionFactory implements 
NHttpConnectionFactory<DefaultNHttpServerConnection> {
 
     private static final Log sourceConnLog = LogFactory.getLog(

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingServerEventHandler.java
 Sun Aug 11 06:52:43 2013
@@ -30,16 +30,31 @@ import org.apache.http.nio.NHttpServerEv
 
 import java.io.IOException;
 
+/**
+ * A decorator (wrapper) for NHttpServerEventHandler instances. This decorator
+ * logs additional debug information regarding each of the events triggered on 
the
+ * actual NHttpServerEventHandler instance. Most events are logged 'before' 
they are
+ * dispatched to the wrapped NHttpServerEventHandler, but this implementation 
does
+ * not modify the event arguments by any means. In that sense this decorator is
+ * read-only and safe. This implementation does not log the exception event. 
It is
+ * expected that the actual NHttpServerEventHandler will take the necessary 
steps to
+ * log exceptions.
+ */
 public class LoggingServerEventHandler implements NHttpServerEventHandler {
 
     private final Log log;
 
     private final NHttpServerEventHandler handler;
 
+    /**
+     * Create a new instance of the decorator.
+     *
+     * @param handler The instance of NHttpServerEventHandler to be decorated 
(wrapped)
+     */
     public LoggingServerEventHandler(final NHttpServerEventHandler handler) {
         super();
         if (handler == null) {
-            throw new IllegalArgumentException("HTTP service handler may not 
be null");
+            throw new IllegalArgumentException("HTTP service handler must not 
be null");
         }
         this.handler = handler;
         this.log = LogFactory.getLog(handler.getClass());

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/LoggingUtils.java
 Sun Aug 11 06:52:43 2013
@@ -33,28 +33,32 @@ import java.util.Map;
 
 public class LoggingUtils {
 
-    private static NHttpClientEventHandler decorate(NHttpClientEventHandler 
handler) {
-        Log log = LogFactory.getLog(handler.getClass());
-        if (log.isDebugEnabled()) {
-            handler = new LoggingClientEventHandler(handler);
-        }
-        return handler;
-    }
-
-    private static NHttpServerEventHandler decorate(NHttpServerEventHandler 
handler) {
-        Log log = LogFactory.getLog(handler.getClass());
-        if (log.isDebugEnabled()) {
-            handler = new LoggingServerEventHandler(handler);
-        }
-        return handler;
-    }
-
+    /**
+     * Create a new DefaultHttpServerIODispatch instance using the provided 
parameters.
+     * This method may decorate (wrap) the original arguments with 
logging-enabled wrappers,
+     * depending on the current logging configuration.
+     *
+     * @param handler An NHttpServerEventHandler instance
+     * @param config A ConnectionConfig instance
+     * @return A DefaultHttpServerIODispatch instance
+     */
     public static DefaultHttpServerIODispatch getServerIODispatch(final 
NHttpServerEventHandler handler,
                                                                   final 
ConnectionConfig config) {
         return new DefaultHttpServerIODispatch(decorate(handler),
                 new LoggingNHttpServerConnectionFactory(config));
     }
 
+    /**
+     * Create a new DefaultHttpServerIODispatch instance using the provided 
parameters.
+     * This method may decorate (wrap) the original arguments with 
logging-enabled wrappers,
+     * depending on the current logging configuration.
+     *
+     * @param handler An NHttpServerEventHandler instance
+     * @param config A ConnectionConfig instance
+     * @param sslContext An SSLContext instance to initialize SSL support
+     * @param sslSetupHandler An SSLSetupHandler instance
+     * @return A DefaultHttpServerIODispatch instance
+     */
     public static DefaultHttpServerIODispatch getServerIODispatch(final 
NHttpServerEventHandler handler,
                                                                   final 
ConnectionConfig config,
                                                                   final 
SSLContext sslContext,
@@ -63,12 +67,33 @@ public class LoggingUtils {
                 new LoggingNHttpSSLServerConnectionFactory(config, sslContext, 
sslSetupHandler));
     }
 
+    /**
+     * Create a new DefaultHttpClientIODispatch instance using the provided 
parameters.
+     * This method may decorate (wrap) the original arguments with 
logging-enabled wrappers,
+     * depending on the current logging configuration.
+     *
+     * @param handler An NHttpClientEventHandler instance
+     * @param config A ConnectionConfig instance
+     * @return A DefaultHttpClientIODispatch instance
+     */
     public static DefaultHttpClientIODispatch getClientIODispatch(final 
NHttpClientEventHandler handler,
                                                                   final 
ConnectionConfig config) {
         return new DefaultHttpClientIODispatch(decorate(handler),
                 new LoggingNHttpClientConnectionFactory(config));
     }
 
+    /**
+     * Create a new DefaultHttpClientIODispatch instance using the provided 
parameters.
+     * This method may decorate (wrap) the original arguments with 
logging-enabled wrappers,
+     * depending on the current logging configuration.
+     *
+     * @param handler An NHttpServerEventHandler instance
+     * @param config A ConnectionConfig instance
+     * @param sslContext An SSLContext instance to initialize SSL support
+     * @param sslSetupHandler An SSLSetupHandler instance
+     * @param customContexts A Map of endpoints and SSLContext instances
+     * @return A DefaultHttpClientIODispatch instance
+     */
     public static DefaultHttpClientIODispatch getClientIODispatch(final 
NHttpClientEventHandler handler,
                                                                   final 
ConnectionConfig config,
                                                                   final 
SSLContext sslContext,
@@ -77,4 +102,20 @@ public class LoggingUtils {
         return new DefaultHttpClientIODispatch(decorate(handler),
                 new LoggingNHttpSSLClientConnectionFactory(config, sslContext, 
sslSetupHandler, customContexts));
     }
+
+    private static NHttpClientEventHandler decorate(NHttpClientEventHandler 
handler) {
+        Log log = LogFactory.getLog(handler.getClass());
+        if (log.isDebugEnabled()) {
+            handler = new LoggingClientEventHandler(handler);
+        }
+        return handler;
+    }
+
+    private static NHttpServerEventHandler decorate(NHttpServerEventHandler 
handler) {
+        Log log = LogFactory.getLog(handler.getClass());
+        if (log.isDebugEnabled()) {
+            handler = new LoggingServerEventHandler(handler);
+        }
+        return handler;
+    }
 }

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java?rev=1512883&r1=1512882&r2=1512883&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/utils/logging/Wire.java
 Sun Aug 11 06:52:43 2013
@@ -23,40 +23,42 @@ import org.apache.commons.logging.Log;
 
 import java.nio.ByteBuffer;
 
+/**
+ * A utility for logging wire-level information of HTTP connections.
+ */
 public class Wire {
 
     private final Log log;
 
     public Wire(final Log log) {
-        super();
         this.log = log;
     }
 
     private void wire(final String header, final byte[] b, int pos, int off) {
-        StringBuilder buffer = new StringBuilder();
+        StringBuilder builder = new StringBuilder();
         for (int i = 0; i < off; i++) {
             int ch = b[pos + i];
             if (ch == 13) {
-                buffer.append("[\\r]");
+                builder.append("[\\r]");
             } else if (ch == 10) {
-                buffer.append("[\\n]\"");
-                buffer.insert(0, "\"");
-                buffer.insert(0, header);
-                this.log.debug(buffer.toString());
-                buffer.setLength(0);
+                builder.append("[\\n]\"");
+                builder.insert(0, "\"");
+                builder.insert(0, header);
+                this.log.debug(builder.toString());
+                builder.setLength(0);
             } else if ((ch < 32) || (ch > 127)) {
-                buffer.append("[0x");
-                buffer.append(Integer.toHexString(ch));
-                buffer.append("]");
+                builder.append("[0x");
+                builder.append(Integer.toHexString(ch));
+                builder.append("]");
             } else {
-                buffer.append((char) ch);
+                builder.append((char) ch);
             }
         }
-        if (buffer.length() > 0) {
-            buffer.append('\"');
-            buffer.insert(0, '\"');
-            buffer.insert(0, header);
-            this.log.debug(buffer.toString());
+        if (builder.length() > 0) {
+            builder.append('\"');
+            builder.insert(0, '\"');
+            builder.insert(0, header);
+            this.log.debug(builder.toString());
         }
     }
 


Reply via email to