Author: norman Date: Thu Jan 19 13:41:46 2012 New Revision: 1233371 URL: http://svn.apache.org/viewvc?rev=1233371&view=rev Log: Make AbstractCommandHandlerResultLogger an concrete implementation and move it from netty module to api. Also add it to the default handlers
Added: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java - copied, changed from r1233193, james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/log/AbstractCommandHandlerResultLogger.java Removed: james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/log/AbstractCommandHandlerResultLogger.java Modified: james/protocols/trunk/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java Copied: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java (from r1233193, james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/log/AbstractCommandHandlerResultLogger.java) URL: http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java?p2=james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java&p1=james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/log/AbstractCommandHandlerResultLogger.java&r1=1233193&r2=1233371&rev=1233371&view=diff ============================================================================== --- james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/log/AbstractCommandHandlerResultLogger.java (original) +++ james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java Thu Jan 19 13:41:46 2012 @@ -16,39 +16,41 @@ * specific language governing permissions and limitations * * under the License. * ****************************************************************/ -package org.apache.james.protocols.netty.log; +package org.apache.james.protocols.api.handler; import org.apache.james.protocols.api.ProtocolSession; import org.apache.james.protocols.api.Response; -import org.apache.james.protocols.api.handler.CommandHandler; -import org.apache.james.protocols.api.handler.ProtocolHandler; -import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler; +import org.apache.james.protocols.api.logger.Logger; /** * + * {@link ProtocolHandlerResultHandler} which logs the {@link Response} of {@link CommandHandler}'s. * + * By default it logs to {@link Logger#debug(String)}, but subclasses can override this by override {@link #log(ProtocolSession, Response, String)} method. * */ -public abstract class AbstractCommandHandlerResultLogger<R extends Response, S extends ProtocolSession> implements ProtocolHandlerResultHandler<R, S> { +public class CommandHandlerResultLogger implements ProtocolHandlerResultHandler<Response, ProtocolSession> { - - - - public Response onResponse(ProtocolSession session, R response, long executionTime, ProtocolHandler handler) { + public Response onResponse(ProtocolSession session, Response response, long executionTime, ProtocolHandler handler) { if (handler instanceof CommandHandler) { - String code = response.getRetCode(); - String msg = handler.getClass().getName() + ": " + response.toString(); + String logmessage = handler.getClass().getName() + ": " + response.toString(); - // check if the response should log with info - if (logWithInfo(code)) { - session.getLogger().info(msg); - } else { - session.getLogger().debug(msg); - } + log(session, response, logmessage); } return response; } - - protected abstract boolean logWithInfo(String retCode); + + /** + * Log the given logmessage + * + * @param session + * @param response + * @param logmessage + */ + protected void log(ProtocolSession session, Response response, String logmessage) { + if (session.getLogger().isDebugEnabled()) { + session.getLogger().debug(logmessage); + } + } } Modified: james/protocols/trunk/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java?rev=1233371&r1=1233370&r2=1233371&view=diff ============================================================================== --- james/protocols/trunk/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java (original) +++ james/protocols/trunk/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java Thu Jan 19 13:41:46 2012 @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.james.protocols.api.handler.CommandDispatcher; +import org.apache.james.protocols.api.handler.CommandHandlerResultLogger; import org.apache.james.protocols.api.handler.ProtocolHandler; import org.apache.james.protocols.api.handler.WiringException; import org.apache.james.protocols.lmtp.core.DataLineMessageHookHandler; @@ -83,6 +84,8 @@ public class LMTPProtocolHandlerChain ex defaultHandlers.add(new DataLineMessageHookHandler()); defaultHandlers.add(new StartTlsCmdHandler()); defaultHandlers.add(new UnknownCmdHandler()); + defaultHandlers.add(new CommandHandlerResultLogger()); + return defaultHandlers; } Modified: james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java?rev=1233371&r1=1233370&r2=1233371&view=diff ============================================================================== --- james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java (original) +++ james/protocols/trunk/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java Thu Jan 19 13:41:46 2012 @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.List; import org.apache.james.protocols.api.handler.CommandDispatcher; +import org.apache.james.protocols.api.handler.CommandHandlerResultLogger; import org.apache.james.protocols.api.handler.ProtocolHandler; import org.apache.james.protocols.api.handler.ProtocolHandlerChainImpl; import org.apache.james.protocols.api.handler.WiringException; @@ -89,6 +90,7 @@ public class POP3ProtocolHandlerChain ex handlers.add(new UnknownCmdHandler()); handlers.add(new StlsCmdHandler()); handlers.add(new CommandDispatcher<POP3Session>()); + handlers.add(new CommandHandlerResultLogger()); return handlers; } Modified: james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java?rev=1233371&r1=1233370&r2=1233371&view=diff ============================================================================== --- james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java (original) +++ james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java Thu Jan 19 13:41:46 2012 @@ -27,6 +27,7 @@ import org.apache.james.protocols.api.ha import org.apache.james.protocols.api.handler.ProtocolHandler; import org.apache.james.protocols.api.handler.ProtocolHandlerChain; import org.apache.james.protocols.api.handler.ProtocolHandlerChainImpl; +import org.apache.james.protocols.api.handler.CommandHandlerResultLogger; import org.apache.james.protocols.api.handler.WiringException; import org.apache.james.protocols.smtp.core.DataCmdHandler; import org.apache.james.protocols.smtp.core.DataLineMessageHookHandler; @@ -104,6 +105,7 @@ public class SMTPProtocolHandlerChain ex defaultHandlers.add(new DataLineMessageHookHandler()); defaultHandlers.add(new StartTlsCmdHandler()); defaultHandlers.add(new UnknownCmdHandler()); + defaultHandlers.add(new CommandHandlerResultLogger()); return defaultHandlers; } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org