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

Reply via email to