You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2012/01/11 15:03:27 UTC

svn commit: r1230046 - in /james/protocols/trunk: api/src/main/java/org/apache/james/protocols/api/ api/src/test/java/org/apache/james/protocols/api/ netty/src/main/java/org/apache/james/protocols/netty/ smtp/src/main/java/org/apache/james/protocols/sm...

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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org