Author: norman
Date: Mon Sep 26 12:26:03 2011
New Revision: 1175825

URL: http://svn.apache.org/viewvc?rev=1175825&view=rev
Log:
Remove ProtocolSession.writeResponse(...). See PROTOCOLS-35

Modified:
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.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/LineHandlerUpstreamHandler.java
    
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java?rev=1175825&r1=1175824&r2=1175825&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java
 Mon Sep 26 12:26:03 2011
@@ -24,9 +24,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 
-import org.apache.james.protocols.api.FutureResponse.ResponseListener;
 import org.apache.james.protocols.api.ProtocolTransport;
-import org.apache.james.protocols.api.Response;
 import org.slf4j.Logger;
 
 /**
@@ -129,23 +127,6 @@ public abstract class AbstractSession im
 
     /*
      * (non-Javadoc)
-     * @see 
org.apache.james.api.protocol.ProtocolSession#writeResponse(org.apache.james.api.protocol.Response)
-     */
-    public void writeResponse(final Response response) {
-        if (response instanceof FutureResponse) {
-            ((FutureResponse) response).addListener(new ResponseListener() {
-
-                public void onResponse(Response response) {
-                    transport.writeResponse(response, AbstractSession.this);
-                }
-            });
-        } else {
-            transport.writeResponse(response, this);
-        }
-    }
-
-    /*
-     * (non-Javadoc)
      * @see org.apache.james.protocols.api.ProtocolSession#getSessionID()
      */
     public String getSessionID() {

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java?rev=1175825&r1=1175824&r2=1175825&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
 Mon Sep 26 12:26:03 2011
@@ -58,14 +58,6 @@ public interface ProtocolSession {
      */
     void resetState();
     
-    /**
-     * Write the response back to the client. Special care MUST be take to 
handle {@link StartTlsResponse} instances.
-     * 
-     * 
-     * @param response
-     */
-    void writeResponse(Response response);
-
     
     /**
      * Returns host name of the client

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=1175825&r1=1175824&r2=1175825&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
 Mon Sep 26 12:26:03 2011
@@ -24,6 +24,7 @@ import java.util.List;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLEngine;
 
+import org.apache.james.protocols.api.AbstractSession;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.ProtocolSessionFactory;
 import org.apache.james.protocols.api.Response;
@@ -102,7 +103,7 @@ public class BasicChannelUpstreamHandler
                     resultHandlers.get(a).onResponse(session, executionTime, 
cHandler);
                 }
                 if (response != null) {
-                    session.writeResponse(response);
+                    
((AbstractSession)session).getProtocolTransport().writeResponse(response, 
session);
                 }
                
             }
@@ -158,7 +159,7 @@ public class BasicChannelUpstreamHandler
                 resultHandlers.get(i).onResponse(pSession, executionTime, 
lHandler);
             }
             if (response != null) {
-                pSession.writeResponse(response);
+                
((AbstractSession)pSession).getProtocolTransport().writeResponse(response, 
pSession);
             }
 
         }

Modified: 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/LineHandlerUpstreamHandler.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/LineHandlerUpstreamHandler.java?rev=1175825&r1=1175824&r2=1175825&view=diff
==============================================================================
--- 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/LineHandlerUpstreamHandler.java
 (original)
+++ 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/LineHandlerUpstreamHandler.java
 Mon Sep 26 12:26:03 2011
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.james.protocols.impl;
 
+import org.apache.james.protocols.api.AbstractSession;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.LineHandler;
@@ -56,7 +57,7 @@ public class LineHandlerUpstreamHandler<
 
         Response response = handler.onLine(session, line); 
         if (response != null) {
-            session.writeResponse(response);
+            
((AbstractSession)session).getProtocolTransport().writeResponse(response, 
session);
         }
     }
 

Modified: 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java?rev=1175825&r1=1175824&r2=1175825&view=diff
==============================================================================
--- 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java
 (original)
+++ 
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/NettyProtocolTransport.java
 Mon Sep 26 12:26:03 2011
@@ -23,6 +23,8 @@ import java.net.InetSocketAddress;
 
 import javax.net.ssl.SSLEngine;
 
+import org.apache.james.protocols.api.FutureResponse;
+import org.apache.james.protocols.api.FutureResponse.ResponseListener;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.ProtocolTransport;
 import org.apache.james.protocols.api.Response;
@@ -47,14 +49,26 @@ public class NettyProtocolTransport impl
         this.engine = engine;
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.protocols.api.ProtocolTransport#getRemoteAddress()
+     */
     public InetSocketAddress getRemoteAddress() {
         return (InetSocketAddress) channel.getRemoteAddress();
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.protocols.api.ProtocolTransport#getId()
+     */
     public String getId() {
         return channel.getId() + "";
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.protocols.api.ProtocolTransport#isTLSStarted()
+     */
     public boolean isTLSStarted() {
         if (isStartTLSSupported()) {
             return channel.getPipeline().get("sslHandler") != null;
@@ -62,14 +76,32 @@ public class NettyProtocolTransport impl
         return false;
     }
 
-    /**
-     * @see 
org.apache.james.api.protocol.TLSSupportedSession#isStartTLSSupported()
+    /*
+     * (non-Javadoc)
+     * @see 
org.apache.james.protocols.api.ProtocolTransport#isStartTLSSupported()
      */
     public boolean isStartTLSSupported() {
         return engine != null;
     }
 
-    public void writeResponse(Response response, ProtocolSession session) {
+    /*
+     * (non-Javadoc)
+     * @see 
org.apache.james.protocols.api.ProtocolTransport#writeResponse(org.apache.james.protocols.api.Response,
 org.apache.james.protocols.api.ProtocolSession)
+     */
+    public void writeResponse(Response response, final ProtocolSession 
session) {
+        if (response instanceof FutureResponse) {
+            ((FutureResponse) response).addListener(new ResponseListener() {
+                
+                public void onResponse(Response response) {
+                    writeResponseToChannel(response, session);                 
   
+                }
+            });
+        } else {
+            writeResponseToChannel(response, session);
+        }
+    }
+    
+    private void writeResponseToChannel(Response response, ProtocolSession 
session) {
         if (response != null && channel.isConnected()) {
             ChannelFuture cf = channel.write(response);
             if (response.isEndSession()) {
@@ -89,6 +121,10 @@ public class NettyProtocolTransport impl
          }
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.protocols.api.ProtocolTransport#popLineHandler()
+     */
     public void popLineHandler() {
         if (lineHandlerCount > 0) {
             channel.getPipeline().remove("lineHandler" + lineHandlerCount);
@@ -96,6 +132,10 @@ public class NettyProtocolTransport impl
         }
     }
 
+    /*
+     * (non-Javadoc)
+     * @see 
org.apache.james.protocols.api.ProtocolTransport#pushLineHandler(org.apache.james.protocols.api.handler.LineHandler,
 org.apache.james.protocols.api.ProtocolSession)
+     */
     public <T extends ProtocolSession> void pushLineHandler(LineHandler<T> 
overrideCommandHandler,
             T session) {
         lineHandlerCount++;
@@ -106,6 +146,10 @@ public class NettyProtocolTransport impl
         channel.getPipeline().addBefore("coreHandler", "lineHandler" + 
lineHandlerCount, new LineHandlerUpstreamHandler<T>(session, 
overrideCommandHandler));
     }
 
+    /*
+     * (non-Javadoc)
+     * @see 
org.apache.james.protocols.api.ProtocolTransport#getPushedLineHandlerCount()
+     */
     public int getPushedLineHandlerCount() {
         return lineHandlerCount;
     }



---------------------------------------------------------------------
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