Author: norman Date: Tue Sep 27 05:54:29 2011 New Revision: 1176210 URL: http://svn.apache.org/viewvc?rev=1176210&view=rev Log: Just use one interface for result handling
Added: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java - copied, changed from r1175675, james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java Removed: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ConnectHandlerResultHandler.java james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/LineHandlerResultHandler.java Modified: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java Modified: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java?rev=1176210&r1=1176209&r2=1176210&view=diff ============================================================================== --- james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java (original) +++ james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java Tue Sep 27 05:54:29 2011 @@ -45,7 +45,7 @@ public abstract class AbstractCommandDis */ private HashMap<String, List<CommandHandler<Session>>> commandHandlerMap = new HashMap<String, List<CommandHandler<Session>>>(); - private List<CommandHandlerResultHandler<Response, Session>> rHandlers = new ArrayList<CommandHandlerResultHandler<Response, Session>>(); + private List<ProtocolHandlerResultHandler<Response, Session>> rHandlers = new ArrayList<ProtocolHandlerResultHandler<Response, Session>>(); private final Charset charset = Charset.forName(getLineDecodingCharset()); @@ -93,7 +93,7 @@ public abstract class AbstractCommandDis */ @SuppressWarnings("unchecked") public void wireExtensions(Class interfaceName, List extension) throws WiringException { - if (interfaceName.equals(CommandHandlerResultHandler.class)) { + if (interfaceName.equals(ProtocolHandlerResultHandler.class)) { rHandlers.addAll(extension); } if (interfaceName.equals(CommandHandler.class)) { @@ -149,6 +149,7 @@ public abstract class AbstractCommandDis BaseRequest request = new BaseRequest(curCommandName, curCommandArgument); Iterator<CommandHandler<Session>> handlers = commandHandlers.iterator(); + while (handlers.hasNext()) { final long start = System.currentTimeMillis(); CommandHandler<Session> cHandler = handlers.next(); @@ -181,7 +182,7 @@ public abstract class AbstractCommandDis public List<Class<?>> getMarkerInterfaces() { List res = new LinkedList(); res.add(CommandHandler.class); - res.add(CommandHandlerResultHandler.class); + res.add(ProtocolHandlerResultHandler.class); return res; } Copied: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java (from r1175675, james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java) URL: http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java?p2=james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java&p1=james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java&r1=1175675&r2=1176210&rev=1176210&view=diff ============================================================================== --- james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultHandler.java (original) +++ james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerResultHandler.java Tue Sep 27 05:54:29 2011 @@ -22,15 +22,15 @@ package org.apache.james.protocols.api.h import org.apache.james.protocols.api.ProtocolSession; import org.apache.james.protocols.api.Response; -public interface CommandHandlerResultHandler<R extends Response, S extends ProtocolSession> extends ProtocolHandler{ +public interface ProtocolHandlerResultHandler<R extends Response, S extends ProtocolSession> extends ProtocolHandler{ /** - * Get called when a {@link Response} was returned from the {@link CommandHandler} + * Get called when a {@link Response} was returned from the {@link ProtocolHandler} * * @param session * @param response * @param handler * @return response */ - Response onResponse(ProtocolSession session, R response, long executionTime, CommandHandler<S> handler); + Response onResponse(ProtocolSession session, R response, long executionTime, ProtocolHandler handler); } Modified: james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java?rev=1176210&r1=1176209&r2=1176210&view=diff ============================================================================== --- james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java (original) +++ james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java Tue Sep 27 05:54:29 2011 @@ -29,11 +29,10 @@ import org.apache.james.protocols.api.Pr import org.apache.james.protocols.api.ProtocolSessionFactory; import org.apache.james.protocols.api.Response; import org.apache.james.protocols.api.handler.ConnectHandler; -import org.apache.james.protocols.api.handler.ConnectHandlerResultHandler; import org.apache.james.protocols.api.handler.DisconnectHandler; import org.apache.james.protocols.api.handler.LineHandler; -import org.apache.james.protocols.api.handler.LineHandlerResultHandler; import org.apache.james.protocols.api.handler.ProtocolHandlerChain; +import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler; import org.apache.james.protocols.impl.NettyProtocolTransport; import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBuffers; @@ -88,7 +87,7 @@ public class BasicChannelUpstreamHandler @Override public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception { List<ConnectHandler> connectHandlers = chain.getHandlers(ConnectHandler.class); - List<ConnectHandlerResultHandler> resultHandlers = chain.getHandlers(ConnectHandlerResultHandler.class); + List<ProtocolHandlerResultHandler> resultHandlers = chain.getHandlers(ProtocolHandlerResultHandler.class); ProtocolSession session = (ProtocolSession) ctx.getAttachment(); session.getLogger().info("Connection established from " + session.getRemoteHost() + " (" + session.getRemoteIPAddress()+ ")"); if (connectHandlers != null) { @@ -100,7 +99,7 @@ public class BasicChannelUpstreamHandler long executionTime = System.currentTimeMillis() - start; for (int a = 0; a < resultHandlers.size(); a++) { - resultHandlers.get(a).onResponse(session, executionTime, cHandler); + resultHandlers.get(a).onResponse(session, response, executionTime, cHandler); } if (response != null) { ((AbstractSession)session).getProtocolTransport().writeResponse(response, session); @@ -134,7 +133,7 @@ public class BasicChannelUpstreamHandler public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { ProtocolSession pSession = (ProtocolSession) ctx.getAttachment(); LinkedList<LineHandler> lineHandlers = chain.getHandlers(LineHandler.class); - LinkedList<LineHandlerResultHandler> resultHandlers = chain.getHandlers(LineHandlerResultHandler.class); + LinkedList<ProtocolHandlerResultHandler> resultHandlers = chain.getHandlers(ProtocolHandlerResultHandler.class); if (lineHandlers.size() > 0) { @@ -156,7 +155,7 @@ public class BasicChannelUpstreamHandler long executionTime = System.currentTimeMillis() - start; for (int i = 0; i < resultHandlers.size(); i++) { - resultHandlers.get(i).onResponse(pSession, executionTime, lHandler); + resultHandlers.get(i).onResponse(pSession, response, executionTime, lHandler); } if (response != null) { ((AbstractSession)pSession).getProtocolTransport().writeResponse(response, pSession); Modified: james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java?rev=1176210&r1=1176209&r2=1176210&view=diff ============================================================================== --- james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java (original) +++ james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/log/AbstractCommandHandlerResultLogger.java Tue Sep 27 05:54:29 2011 @@ -21,30 +21,30 @@ package org.apache.james.protocols.impl. 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.CommandHandlerResultHandler; +import org.apache.james.protocols.api.handler.ProtocolHandler; +import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler; /** * * * */ -public abstract class AbstractCommandHandlerResultLogger<R extends Response, S extends ProtocolSession> implements CommandHandlerResultHandler<R, S> { +public abstract class AbstractCommandHandlerResultLogger<R extends Response, S extends ProtocolSession> implements ProtocolHandlerResultHandler<R, S> { - /* - * (non-Javadoc) - * @see org.apache.james.protocols.api.CommandHandlerResultHandler#onResponse(org.apache.james.protocols.api.ProtocolSession, org.apache.james.protocols.api.Response, long, org.apache.james.protocols.api.CommandHandler) - */ - public Response onResponse(ProtocolSession session, R response, long executionTime, CommandHandler<S> handler) { - String code = response.getRetCode(); - String msg = handler.getClass().getName() + ": " + response.toString(); + + public Response onResponse(ProtocolSession session, R response, long executionTime, ProtocolHandler handler) { + if (handler instanceof CommandHandler) { + String code = response.getRetCode(); + String msg = 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); + // check if the response should log with info + if (logWithInfo(code)) { + session.getLogger().info(msg); + } else { + session.getLogger().debug(msg); + } } return response; } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org