Author: norman
Date: Wed Jan 11 14:03:27 2012
New Revision: 1230046

URL: http://svn.apache.org/viewvc?rev=1230046&view=rev
Log:
Move SMTPSession.pushLineHandler(..) and SMTPSession.popLineHandler(..) to the 
ProtocolSession interface. See PROTOCOLS-85

Modified:
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSession.java
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
    
james/protocols/trunk/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
    
james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/NettyProtocolTransport.java
    
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSession.java
    
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
    
james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java

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=1230046&r1=1230045&r2=1230046&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
 Wed Jan 11 14:03:27 2012
@@ -23,6 +23,7 @@ import java.net.InetSocketAddress;
 import java.nio.charset.Charset;
 import java.util.Map;
 
+import org.apache.james.protocols.api.handler.LineHandler;
 import org.apache.james.protocols.api.logger.Logger;
 
 /**
@@ -173,5 +174,22 @@ public interface ProtocolSession {
      * @return delimiter
      */
     String getLineDelimiter();
+    
+    /**
+     * Put a new line handler in the chain
+     * @param overrideCommandHandler
+     */
+    <T extends ProtocolSession> void pushLineHandler(LineHandler<T> 
overrideCommandHandler);
+    
+    /**
+     * Pop the last command handler 
+     */
+    void popLineHandler();
+    
+    /**
+     * Return the size of the pushed {@link LineHandler}
+     * @return size of the pushed line handler
+     */
+    int getPushedLineHandlerCount();
 
 }

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java?rev=1230046&r1=1230045&r2=1230046&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
 Wed Jan 11 14:03:27 2012
@@ -26,6 +26,7 @@ import java.util.Map;
 
 
 import org.apache.james.protocols.api.ProtocolTransport;
+import org.apache.james.protocols.api.handler.LineHandler;
 import org.apache.james.protocols.api.logger.Logger;
 import org.apache.james.protocols.api.logger.ProtocolSessionLogger;
 
@@ -215,4 +216,28 @@ public class ProtocolSessionImpl impleme
         return DELIMITER;
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.protocols.api.ProtocolSession#popLineHandler()
+     */
+    public void popLineHandler() {
+        transport.popLineHandler();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see 
org.apache.james.protocols.api.ProtocolSession#getPushedLineHandlerCount()
+     */
+    public int getPushedLineHandlerCount() {
+        return transport.getPushedLineHandlerCount();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see 
org.apache.james.protocols.api.ProtocolSession#pushLineHandler(org.apache.james.protocols.api.handler.LineHandler)
+     */
+    public <T extends ProtocolSession> void pushLineHandler(LineHandler<T> 
overrideCommandHandler) {
+        transport.pushLineHandler(overrideCommandHandler, this);
+    }
+
 }

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java?rev=1230046&r1=1230045&r2=1230046&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/ProtocolTransport.java
 Wed Jan 11 14:03:27 2012
@@ -88,7 +88,7 @@ public interface ProtocolTransport {
      * @param overrideCommandHandler
      * @param session
      */
-    <T extends ProtocolSession> void pushLineHandler(LineHandler<T> 
overrideCommandHandler, T session);
+    void pushLineHandler(LineHandler<? extends ProtocolSession> 
overrideCommandHandler, ProtocolSession session);
 
     /**
      * Return the count of pushed {@link LineHandler}'s

Modified: 
james/protocols/trunk/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java?rev=1230046&r1=1230045&r2=1230046&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
 (original)
+++ 
james/protocols/trunk/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
 Wed Jan 11 14:03:27 2012
@@ -139,10 +139,7 @@ public class AbstractProtocolTransportTe
             public void setReadable(boolean readable) {
                 throw new UnsupportedOperationException();
             }
-            
-            public <T extends ProtocolSession> void 
pushLineHandler(LineHandler<T> overrideCommandHandler, T session) {
-                throw new UnsupportedOperationException();
-            }
+
             
             public void popLineHandler() {
                 throw new UnsupportedOperationException();
@@ -185,10 +182,13 @@ public class AbstractProtocolTransportTe
                 latch.countDown();
             }
             
-            @Override
             protected void close() {
                 throw new UnsupportedOperationException();
             }
+
+            public void pushLineHandler(LineHandler<? extends ProtocolSession> 
overrideCommandHandler, ProtocolSession session) {
+                throw new UnsupportedOperationException();                
+            }
         };
         for (Response message: messages) {
             transport.writeResponse(message, null);

Modified: 
james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/NettyProtocolTransport.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/NettyProtocolTransport.java?rev=1230046&r1=1230045&r2=1230046&view=diff
==============================================================================
--- 
james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/NettyProtocolTransport.java
 (original)
+++ 
james/protocols/trunk/netty/src/main/java/org/apache/james/protocols/netty/NettyProtocolTransport.java
 Wed Jan 11 14:03:27 2012
@@ -93,19 +93,6 @@ public class NettyProtocolTransport exte
     }
 
     /**
-     * @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++;
-        // Add the linehandler in front of the coreHandler so we can be sure 
-        // it is executed with the same ExecutorHandler as the coreHandler (if 
one exist)
-        // 
-        // See JAMES-1277
-        channel.getPipeline().addBefore("coreHandler", "lineHandler" + 
lineHandlerCount, new LineHandlerUpstreamHandler<T>(session, 
overrideCommandHandler));
-    }
-
-    /**
      * @see 
org.apache.james.protocols.api.ProtocolTransport#getPushedLineHandlerCount()
      */
     public int getPushedLineHandlerCount() {
@@ -201,4 +188,14 @@ public class NettyProtocolTransport exte
         return (InetSocketAddress) channel.getLocalAddress();
     }
 
+    @SuppressWarnings({ "unchecked", "rawtypes" })
+    public void pushLineHandler(LineHandler<? extends ProtocolSession> 
overrideCommandHandler, ProtocolSession session) {
+        lineHandlerCount++;
+        // Add the linehandler in front of the coreHandler so we can be sure 
+        // it is executed with the same ExecutorHandler as the coreHandler (if 
one exist)
+        // 
+        // See JAMES-1277
+        channel.getPipeline().addBefore("coreHandler", "lineHandler" + 
lineHandlerCount, new LineHandlerUpstreamHandler(session, 
overrideCommandHandler));        
+    }
+
 }

Modified: 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSession.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSession.java?rev=1230046&r1=1230045&r2=1230046&view=diff
==============================================================================
--- 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSession.java
 (original)
+++ 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSession.java
 Wed Jan 11 14:03:27 2012
@@ -20,7 +20,6 @@
 package org.apache.james.protocols.smtp;
 
 import org.apache.james.protocols.api.ProtocolSession;
-import org.apache.james.protocols.api.handler.LineHandler;
 
 /**
  * All the handlers access this interface to communicate with
@@ -75,22 +74,7 @@ public interface SMTPSession extends Pro
      */
     int getRcptCount();
     
-    /**
-     * Put a new line handler in the chain
-     * @param overrideCommandHandler
-     */
-    void pushLineHandler(LineHandler<SMTPSession> overrideCommandHandler);
-    
-    /**
-     * Pop the last command handler 
-     */
-    void popLineHandler();
-    
-    /**
-     * Return the size of the pushed {@link LineHandler}
-     * @return size of the pushed line handler
-     */
-    int getPushedLineHandlerCount();
+
     
 }
 

Modified: 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java?rev=1230046&r1=1230045&r2=1230046&view=diff
==============================================================================
--- 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
 (original)
+++ 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPSessionImpl.java
 Wed Jan 11 14:03:27 2012
@@ -23,7 +23,6 @@ import java.util.Collection;
 import org.apache.james.protocols.api.ProtocolSessionImpl;
 import org.apache.james.protocols.api.ProtocolTransport;
 import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.api.handler.LineHandler;
 import org.apache.james.protocols.api.logger.Logger;
 import org.apache.james.protocols.smtp.SMTPConfiguration;
 import org.apache.james.protocols.smtp.SMTPSession;
@@ -67,19 +66,6 @@ public class SMTPSessionImpl extends Pro
     }
 
     /**
-     * @see org.apache.james.protocols.smtp.SMTPSession#popLineHandler()
-     */
-    public void popLineHandler() {
-        getProtocolTransport().popLineHandler();
-    }
-
-    /**
-     * @see 
org.apache.james.protocols.smtp.SMTPSession#pushLineHandler(LineHandler)
-     */
-    public void pushLineHandler(LineHandler<SMTPSession> 
overrideCommandHandler) {
-        getProtocolTransport().pushLineHandler(overrideCommandHandler, this);
-    }
-
     /**
      * @see org.apache.james.protocols.smtp.SMTPSession#getRcptCount()
      */
@@ -109,13 +95,6 @@ public class SMTPSessionImpl extends Pro
         this.relayingAllowed = relayingAllowed;
     }
 
-    /**
-     * @see
-     * org.apache.james.protocols.smtp.SMTPSession#getPushedLineHandlerCount()
-     */
-    public int getPushedLineHandlerCount() {
-        return getProtocolTransport().getPushedLineHandlerCount();
-    }
 
     public Response newLineTooLongResponse() {
         return LINE_LENGTH_EXCEEDED;

Modified: 
james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java?rev=1230046&r1=1230045&r2=1230046&view=diff
==============================================================================
--- 
james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java
 (original)
+++ 
james/protocols/trunk/smtp/src/test/java/org/apache/james/protocols/smtp/BaseFakeSMTPSession.java
 Wed Jan 11 14:03:27 2012
@@ -26,6 +26,7 @@ import java.net.InetSocketAddress;
 import java.nio.charset.Charset;
 import java.util.Map;
 
+import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.LineHandler;
 import org.apache.james.protocols.api.logger.Logger;
@@ -129,12 +130,7 @@ public class BaseFakeSMTPSession impleme
         throw new UnsupportedOperationException("Unimplemented Stub Method");
     }
 
-    /**
-     * @see 
org.apache.james.smtpserver.protocol.SMTPSession#pushLineHandler(org.apache.james.api.protocol.LineHandler)
-     */
-    public void pushLineHandler(LineHandler<SMTPSession> 
overrideCommandHandler) {
-        throw new UnsupportedOperationException("Unimplemented Stub Method");
-    }
+
 
     /**
      * @see org.apache.james.protocols.smtp.SMTPSession#getLogger()
@@ -212,4 +208,8 @@ public class BaseFakeSMTPSession impleme
         throw new UnsupportedOperationException("Unimplemented Stub Method");
     }
 
+    public <T extends ProtocolSession> void pushLineHandler(LineHandler<T> 
overrideCommandHandler) {
+        throw new UnsupportedOperationException("Unimplemented Stub Method");
+    }
+
 }



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