Revert "JAMES-1862 Add FrameHandler when building the server protocols"

This reverts commit ec4e1452c0e709baf06e268c1715103636bce823.


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/41d9864e
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/41d9864e
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/41d9864e

Branch: refs/heads/master
Commit: 41d9864ee0ca452d1197a4912ddee5c6f881695f
Parents: f0c1792
Author: Antoine Duprat <[email protected]>
Authored: Tue Dec 6 11:41:08 2016 +0100
Committer: Antoine Duprat <[email protected]>
Committed: Tue Dec 6 11:41:08 2016 +0100

----------------------------------------------------------------------
 .../protocols/lmtp/netty/NettyLMTPSServerTest.java  |  6 +-----
 .../protocols/lmtp/netty/NettyLMTPServerTest.java   |  8 +-------
 .../netty/AbstractChannelPipelineFactory.java       | 14 +++++++-------
 .../AbstractSSLAwareChannelPipelineFactory.java     | 11 ++++-------
 .../netty/BasicChannelUpstreamHandler.java          |  6 ++++--
 .../apache/james/protocols/netty/NettyServer.java   | 14 ++++----------
 .../protocols/pop3/netty/NettyPOP3SServerTest.java  |  6 +-----
 .../pop3/netty/NettyStartTlsPOP3ServerTest.java     |  6 +-----
 .../protocols/smtp/netty/NettySMTPSServerTest.java  |  6 +-----
 .../protocols/smtp/netty/NettySMTPServerTest.java   |  8 +-------
 .../smtp/netty/NettyStartTlsSMTPServerTest.java     |  6 +-----
 .../apache/james/imapserver/netty/IMAPServer.java   |  8 +-------
 .../lib/netty/AbstractConfigurableAsyncServer.java  | 12 +-----------
 ...AbstractExecutorAwareChannelPipelineFactory.java |  9 ++++-----
 .../apache/james/lmtpserver/netty/LMTPServer.java   |  9 ---------
 .../managesieveserver/netty/ManageSieveServer.java  | 16 +++++-----------
 .../apache/james/pop3server/netty/POP3Server.java   |  9 ---------
 .../apache/james/smtpserver/netty/SMTPServer.java   |  9 ---------
 18 files changed, 37 insertions(+), 126 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
 
b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
index de74480..f7c46de 100644
--- 
a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
+++ 
b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
@@ -7,17 +7,13 @@ import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.api.utils.BogusSslContextFactory;
 import org.apache.james.protocols.lmtp.AbstractLMTPSServerTest;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.NettyServer;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 public class NettyLMTPSServerTest extends AbstractLMTPSServerTest{
 
     @Override
     protected ProtocolServer createServer(Protocol protocol, InetSocketAddress 
address) {
-        NettyServer server =  new NettyServer(protocol, 
Encryption.createTls(BogusSslContextFactory.getServerContext()),
-                new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter()));
+        NettyServer server =  new NettyServer(protocol, 
Encryption.createTls(BogusSslContextFactory.getServerContext()));
         server.setListenAddresses(address);
         return server;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
 
b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
index 78943bd..ae72cc1 100644
--- 
a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
+++ 
b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
@@ -20,22 +20,16 @@ package org.apache.james.protocols.lmtp.netty;
 
 import java.net.InetSocketAddress;
 
-import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.lmtp.AbstractLMTPServerTest;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.NettyServer;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 public class NettyLMTPServerTest extends AbstractLMTPServerTest {
 
     @Override
     protected ProtocolServer createServer(Protocol protocol, InetSocketAddress 
address) {
-        Encryption secure = null;
-        NettyServer server = new NettyServer(protocol, secure,
-                new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter()));
+        NettyServer server =  new NettyServer(protocol);
         server.setListenAddresses(address);
         return server;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
index 39a5b5f..90af526 100644
--- 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
+++ 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
@@ -20,7 +20,6 @@ package org.apache.james.protocols.netty;
 
 import static org.jboss.netty.channel.Channels.pipeline;
 
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
@@ -46,22 +45,21 @@ public abstract class AbstractChannelPipelineFactory 
implements ChannelPipelineF
     private final ChannelGroupHandler groupHandler;
        private final int timeout;
     private final ExecutionHandler eHandler;
-    private final ChannelHandler frameHandler;
     public AbstractChannelPipelineFactory(int timeout, int maxConnections, int 
maxConnectsPerIp, ChannelGroup channels) {
-        this(timeout, maxConnections, maxConnectsPerIp, channels, null, new 
DelimiterBasedFrameDecoder(MAX_LINE_LENGTH, false, Delimiters.lineDelimiter()));
+        this(timeout, maxConnections, maxConnectsPerIp, channels, null);
     }
     
-    public AbstractChannelPipelineFactory(int timeout, int maxConnections, int 
maxConnectsPerIp, ChannelGroup channels, ExecutionHandler eHandler,
-            ChannelHandler frameHandler) {
+    public AbstractChannelPipelineFactory(int timeout, int maxConnections, int 
maxConnectsPerIp, ChannelGroup channels, ExecutionHandler eHandler) {
         this.connectionLimitHandler = new 
ConnectionLimitUpstreamHandler(maxConnections);
         this.connectionPerIpLimitHandler = new 
ConnectionPerIpLimitUpstreamHandler(maxConnectsPerIp);
         this.groupHandler = new ChannelGroupHandler(channels);
         this.timeout = timeout;
         this.eHandler = eHandler;
-        this.frameHandler = frameHandler;
     }
     
     
+    
+    
     /**
      * @see org.jboss.netty.channel.ChannelPipelineFactory#getPipeline()
      */
@@ -76,7 +74,7 @@ public abstract class AbstractChannelPipelineFactory 
implements ChannelPipelineF
 
         
         // Add the text line decoder which limit the max line length, don't 
strip the delimiter and use CRLF as delimiter
-        pipeline.addLast(HandlerConstants.FRAMER, frameHandler);
+        pipeline.addLast(HandlerConstants.FRAMER, new 
DelimiterBasedFrameDecoder(MAX_LINE_LENGTH, false, Delimiters.lineDelimiter()));
        
         // Add the ChunkedWriteHandler to be able to write ChunkInput
         pipeline.addLast(HandlerConstants.CHUNK_HANDLER, new 
ChunkedWriteHandler());
@@ -92,6 +90,8 @@ public abstract class AbstractChannelPipelineFactory 
implements ChannelPipelineF
         return pipeline;
     }
 
+
+
     
     /**
      * Create the core {@link ChannelUpstreamHandler} to use

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
index e78695c..1ec33a3 100644
--- 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
+++ 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
@@ -21,7 +21,6 @@ package org.apache.james.protocols.netty;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLEngine;
 
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
@@ -38,15 +37,13 @@ public abstract class 
AbstractSSLAwareChannelPipelineFactory extends AbstractCha
     private String[] enabledCipherSuites = null;
 
     public AbstractSSLAwareChannelPipelineFactory(int timeout,
-            int maxConnections, int maxConnectsPerIp, ChannelGroup group, 
ExecutionHandler eHandler,
-            ChannelHandler frameHandler) {
-        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler, 
frameHandler);
+            int maxConnections, int maxConnectsPerIp, ChannelGroup group, 
ExecutionHandler eHandler) {
+        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler);
     }
 
     public AbstractSSLAwareChannelPipelineFactory(int timeout,
-            int maxConnections, int maxConnectsPerIp, ChannelGroup group, 
String[] enabledCipherSuites, ExecutionHandler eHandler,
-            ChannelHandler frameHandler) {
-        this(timeout, maxConnections, maxConnectsPerIp, group, eHandler, 
frameHandler);
+            int maxConnections, int maxConnectsPerIp, ChannelGroup group, 
String[] enabledCipherSuites, ExecutionHandler eHandler) {
+        this(timeout, maxConnections, maxConnectsPerIp, group, eHandler);
         
         // We need to copy the String array becuase of possible security 
issues.
         // See https://issues.apache.org/jira/browse/PROTOCOLS-18

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/netty/src/main/java/org/apache/james/protocols/netty/BasicChannelUpstreamHandler.java
----------------------------------------------------------------------
diff --git 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/BasicChannelUpstreamHandler.java
 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/BasicChannelUpstreamHandler.java
index 1464b2b..c3450d6 100644
--- 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/BasicChannelUpstreamHandler.java
+++ 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/BasicChannelUpstreamHandler.java
@@ -23,18 +23,19 @@ import java.util.List;
 
 import javax.net.ssl.SSLEngine;
 
-import org.apache.james.protocols.api.Encryption;
+import org.apache.james.protocols.api.ProtocolSessionImpl;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolSession;
-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.Encryption;
 import org.apache.james.protocols.api.future.FutureResponse;
 import org.apache.james.protocols.api.handler.ConnectHandler;
 import org.apache.james.protocols.api.handler.DisconnectHandler;
 import org.apache.james.protocols.api.handler.LineHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandlerChain;
 import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler;
+import org.apache.james.protocols.netty.NettyProtocolTransport;
 import org.jboss.netty.buffer.ChannelBuffer;
 import org.jboss.netty.channel.Channel;
 import org.jboss.netty.channel.ChannelHandler.Sharable;
@@ -138,6 +139,7 @@ public class BasicChannelUpstreamHandler extends 
SimpleChannelUpstreamHandler {
         if (lineHandlers.size() > 0) {
         
             ChannelBuffer buf = (ChannelBuffer) e.getMessage();      
+            
             LineHandler lHandler=  (LineHandler) lineHandlers.getLast();
             long start = System.currentTimeMillis();            
             Response response = lHandler.onLine(pSession,buf.toByteBuffer());

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
----------------------------------------------------------------------
diff --git 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
index 14f4dcd..4817182 100644
--- 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
+++ 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
@@ -21,10 +21,9 @@ package org.apache.james.protocols.netty;
 
 import javax.net.ssl.SSLContext;
 
-import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
+import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
 import org.jboss.netty.channel.group.ChannelGroup;
@@ -40,7 +39,6 @@ public class NettyServer extends AbstractAsyncServer {
     protected final Protocol protocol;
     
     private ExecutionHandler eHandler;
-    private ChannelHandler frameHandler;
     
     private ChannelUpstreamHandler coreHandler;
 
@@ -51,15 +49,14 @@ public class NettyServer extends AbstractAsyncServer {
     private int maxCurConnectionsPerIP;
    
     public NettyServer(Protocol protocol) {
-        this(protocol, null, null);
+        this(protocol, null);
     }
     
     
-    public NettyServer(Protocol protocol, Encryption secure, ChannelHandler 
frameHandler) {
+    public NettyServer(Protocol protocol, Encryption secure) {
         super();
         this.protocol = protocol;
         this.secure = secure;
-        this.frameHandler = frameHandler;
     }
     
     protected ExecutionHandler createExecutionHandler(int size) {
@@ -105,14 +102,11 @@ public class NettyServer extends AbstractAsyncServer {
         super.bind();
     }
 
-    private ChannelHandler getFrameHandler() {
-        return frameHandler;
-    }
 
     @Override
     protected ChannelPipelineFactory createPipelineFactory(ChannelGroup group) 
{
 
-        return new AbstractSSLAwareChannelPipelineFactory(getTimeout(), 
maxCurConnections, maxCurConnectionsPerIP, group, eHandler, getFrameHandler()) {
+        return new AbstractSSLAwareChannelPipelineFactory(getTimeout(), 
maxCurConnections, maxCurConnectionsPerIP, group, eHandler) {
 
             @Override
             protected ChannelUpstreamHandler createHandler() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
 
b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
index 6676e83..4014038 100644
--- 
a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
+++ 
b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
@@ -23,18 +23,14 @@ import java.net.InetSocketAddress;
 import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.pop3.AbstractPOP3SServerTest;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 public class NettyPOP3SServerTest extends AbstractPOP3SServerTest {
 
     @Override
     protected ProtocolServer createEncryptedServer(Protocol protocol, 
InetSocketAddress address, Encryption enc) {
-        NettyServer server = new NettyServer(protocol, enc,
-                new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter()));
+        NettyServer server = new NettyServer(protocol, enc);
         server.setListenAddresses(address);
         return server;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
 
b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
index ac75c45..20b4718 100644
--- 
a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
+++ 
b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
@@ -23,18 +23,14 @@ import java.net.InetSocketAddress;
 import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.pop3.AbstractStartTlsPOP3ServerTest;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 public class NettyStartTlsPOP3ServerTest extends 
AbstractStartTlsPOP3ServerTest{
 
     @Override
     protected ProtocolServer createServer(Protocol protocol, InetSocketAddress 
address, Encryption enc) {
-        NettyServer server = new NettyServer(protocol, enc,
-                new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter()));
+        NettyServer server = new NettyServer(protocol, enc);
         server.setListenAddresses(address);
         
         return server;

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
index f5d5043..b6fa768 100644
--- 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
+++ 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
@@ -23,11 +23,8 @@ import java.net.InetSocketAddress;
 import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.smtp.AbstractSMTPSServerTest;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 /**
  * Integration tests which use netty implementation
@@ -38,8 +35,7 @@ public class NettySMTPSServerTest extends 
AbstractSMTPSServerTest{
 
     @Override
     protected ProtocolServer createEncryptedServer(Protocol protocol, 
InetSocketAddress address, Encryption enc) {
-        NettyServer server = new NettyServer(protocol, enc,
-                new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter()));
+        NettyServer server = new NettyServer(protocol, enc);
         server.setListenAddresses(address);
         return server;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
index deede65..af691b0 100644
--- 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
+++ 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
@@ -20,14 +20,10 @@ package org.apache.james.protocols.smtp.netty;
 
 import java.net.InetSocketAddress;
 
-import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.smtp.AbstractSMTPServerTest;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 /**
  * Integration tests which use netty implementation
@@ -39,9 +35,7 @@ public class NettySMTPServerTest extends 
AbstractSMTPServerTest{
     
     @Override
     protected ProtocolServer createServer(Protocol protocol, InetSocketAddress 
address) {
-        Encryption secure = null;
-        NettyServer server = new NettyServer(protocol, secure,
-                new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter()));
+        NettyServer server =  new NettyServer(protocol);
         server.setListenAddresses(address);
         return server;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
index 8bbd1b6..5a8058c 100644
--- 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
+++ 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
@@ -42,14 +42,11 @@ import 
org.apache.james.protocols.api.utils.BogusSslContextFactory;
 import org.apache.james.protocols.api.utils.BogusTrustManagerFactory;
 import org.apache.james.protocols.api.utils.MockLogger;
 import org.apache.james.protocols.api.utils.TestUtils;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.smtp.SMTPConfigurationImpl;
 import org.apache.james.protocols.smtp.SMTPProtocol;
 import org.apache.james.protocols.smtp.SMTPProtocolHandlerChain;
 import org.apache.james.protocols.smtp.utils.TestMessageHook;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 import org.junit.After;
 import org.junit.Test;
 
@@ -68,8 +65,7 @@ public class NettyStartTlsSMTPServerTest {
     }
 
     private ProtocolServer createServer(Protocol protocol, InetSocketAddress 
address, Encryption enc) {
-        NettyServer server = new NettyServer(protocol, enc,
-                new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter()));
+        NettyServer server = new NettyServer(protocol, enc);
         server.setListenAddresses(address);
         return server;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
index 371c50a..0d592c4 100644
--- 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
+++ 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
@@ -35,7 +35,6 @@ import 
org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.netty.ChannelGroupHandler;
 import org.apache.james.protocols.netty.ConnectionLimitUpstreamHandler;
 import org.apache.james.protocols.netty.ConnectionPerIpLimitUpstreamHandler;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
@@ -140,7 +139,7 @@ public class IMAPServer extends 
AbstractConfigurableAsyncServer implements ImapC
                 // Add the text line decoder which limit the max line length,
                 // don't strip the delimiter and use CRLF as delimiter
                 // Use a SwitchableDelimiterBasedFrameDecoder, see JAMES-1436
-                pipeline.addLast(FRAMER, createFrameHandler());
+                pipeline.addLast(FRAMER, new 
SwitchableDelimiterBasedFrameDecoder(maxLineLength, false, 
Delimiters.lineDelimiter()));
                
                 Encryption secure = getEncryption();
                 if (secure != null && !secure.isStartTLS()) {
@@ -193,9 +192,4 @@ public class IMAPServer extends 
AbstractConfigurableAsyncServer implements ImapC
         return null;
     }
 
-    @Override
-    protected ChannelHandler createFrameHandler() {
-        return new SwitchableDelimiterBasedFrameDecoder(maxLineLength, false, 
Delimiters.lineDelimiter());
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
index 3fbf7e5..4575172 100644
--- 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
+++ 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
@@ -47,7 +47,6 @@ import org.apache.james.protocols.lib.jmx.ServerMBean;
 import org.apache.james.protocols.netty.AbstractAsyncServer;
 import org.apache.james.util.concurrent.JMXEnabledThreadPoolExecutor;
 import org.jboss.netty.bootstrap.ServerBootstrap;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
 import org.jboss.netty.channel.group.ChannelGroup;
@@ -111,13 +110,11 @@ public abstract class AbstractConfigurableAsyncServer 
extends AbstractAsyncServe
     private final ConnectionCountHandler countHandler = new 
ConnectionCountHandler();
 
     private ExecutionHandler executionHandler = null;
-    private ChannelHandler frameHandler;
 
     private int maxExecutorThreads;
 
     private MBeanServer mbeanServer;
 
-
     @Inject
     public final void setFileSystem(FileSystem filesystem) {
         this.fileSystem = filesystem;
@@ -271,7 +268,6 @@ public abstract class AbstractConfigurableAsyncServer 
extends AbstractAsyncServe
             buildSSLContext();
             preInit();
             executionHandler = createExecutionHander();
-            frameHandler = createFrameHandler();
             bind();
 
             mbeanServer = ManagementFactory.getPlatformMBeanServer();
@@ -568,8 +564,6 @@ public abstract class AbstractConfigurableAsyncServer 
extends AbstractAsyncServe
         return new ExecutionHandler(new 
JMXEnabledOrderedMemoryAwareThreadPoolExecutor(maxExecutorThreads, 0, 0, 
getThreadPoolJMXPath(), getDefaultJMXName() + "-executor"));
     }
 
-    protected abstract ChannelHandler createFrameHandler();
-
     /**
      * Return the {@link ExecutionHandler} or null if non should be used. Be 
sure you call {@link #createExecutionHander()} before
      * 
@@ -579,15 +573,11 @@ public abstract class AbstractConfigurableAsyncServer 
extends AbstractAsyncServe
         return executionHandler;
     }
     
-    protected ChannelHandler getFrameHandler() {
-        return frameHandler;
-    }
-
     protected abstract ChannelUpstreamHandler createCoreHandler();
     
     @Override
     protected ChannelPipelineFactory createPipelineFactory(ChannelGroup group) 
{
-        return new AbstractExecutorAwareChannelPipelineFactory(getTimeout(), 
connectionLimit, connPerIP, group, enabledCipherSuites, getExecutionHandler(), 
getFrameHandler()) {
+        return new AbstractExecutorAwareChannelPipelineFactory(getTimeout(), 
connectionLimit, connPerIP, group, enabledCipherSuites, getExecutionHandler()) {
             @Override
             protected SSLContext getSSLContext() {
                 if (encryption == null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
index 6b71a51..1a88d9e 100644
--- 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
+++ 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
@@ -20,7 +20,6 @@ package org.apache.james.protocols.lib.netty;
 
 import org.apache.james.protocols.netty.AbstractSSLAwareChannelPipelineFactory;
 import org.apache.james.protocols.netty.HandlerConstants;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
@@ -32,12 +31,12 @@ import org.jboss.netty.handler.execution.ExecutionHandler;
  */
 public abstract class AbstractExecutorAwareChannelPipelineFactory extends 
AbstractSSLAwareChannelPipelineFactory{
 
-    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int 
maxConnections, int maxConnectsPerIp, ChannelGroup group, ExecutionHandler 
eHandler, ChannelHandler frameHandler) {
-        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler, 
frameHandler);
+    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int 
maxConnections, int maxConnectsPerIp, ChannelGroup group, ExecutionHandler 
eHandler) {
+        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler);
     }
 
-    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int 
maxConnections, int maxConnectsPerIp, ChannelGroup group, String[] 
enabledCipherSuites, ExecutionHandler eHandler, ChannelHandler frameHandler) {
-        super(timeout, maxConnections, maxConnectsPerIp, group, 
enabledCipherSuites, eHandler, frameHandler);
+    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int 
maxConnections, int maxConnectsPerIp, ChannelGroup group, String[] 
enabledCipherSuites, ExecutionHandler eHandler) {
+        super(timeout, maxConnections, maxConnectsPerIp, group, 
enabledCipherSuites, eHandler);
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
 
b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
index f6c4fee..860a05f 100644
--- 
a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
+++ 
b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
@@ -27,13 +27,9 @@ import 
org.apache.james.protocols.api.logger.ProtocolLoggerAdapter;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
 import org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer;
 import org.apache.james.protocols.lmtp.LMTPConfiguration;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.smtp.SMTPProtocol;
 import org.apache.james.smtpserver.netty.SMTPChannelUpstreamHandler;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 public class LMTPServer extends AbstractProtocolAsyncServer implements 
LMTPServerMBean {
 
@@ -159,9 +155,4 @@ public class LMTPServer extends AbstractProtocolAsyncServer 
implements LMTPServe
         return JMXHandlersLoader.class;
     }
 
-    @Override
-    protected ChannelHandler createFrameHandler() {
-        return new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter());
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
 
b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
index 82c8ed3..2308714 100644
--- 
a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
+++ 
b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
@@ -19,17 +19,12 @@
 
 package org.apache.james.managesieveserver.netty;
 
-import static org.jboss.netty.channel.Channels.pipeline;
-
-import javax.net.ssl.SSLEngine;
-
 import org.apache.james.managesieve.transcode.ManageSieveProcessor;
 import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.netty.ChannelGroupHandler;
 import org.apache.james.protocols.netty.ConnectionLimitUpstreamHandler;
 import org.apache.james.protocols.netty.ConnectionPerIpLimitUpstreamHandler;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
@@ -45,6 +40,10 @@ import org.jboss.netty.util.CharsetUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.net.ssl.SSLEngine;
+
+import static org.jboss.netty.channel.Channels.pipeline;
+
 public class ManageSieveServer extends AbstractConfigurableAsyncServer 
implements ManageSieveServerMBean {
 
     private static final Logger LOGGER = 
LoggerFactory.getLogger(ManageSieveServer.class);
@@ -115,7 +114,7 @@ public class ManageSieveServer extends 
AbstractConfigurableAsyncServer implement
                 // Add the text line decoder which limit the max line length,
                 // don't strip the delimiter and use CRLF as delimiter
                 // Use a SwitchableDelimiterBasedFrameDecoder, see JAMES-1436
-                pipeline.addLast(FRAMER, createFrameHandler());
+                pipeline.addLast(FRAMER, new 
DelimiterBasedFrameDecoder(maxLineLength, false, Delimiters.lineDelimiter()));
                 pipeline.addLast(CONNECTION_COUNT_HANDLER, 
getConnectionCountHandler());
                 pipeline.addLast(CHUNK_WRITE_HANDLER, new 
ChunkedWriteHandler());
 
@@ -137,9 +136,4 @@ public class ManageSieveServer extends 
AbstractConfigurableAsyncServer implement
     public String getServiceType() {
         return "Manage Sieve Service";
     }
-
-    @Override
-    protected ChannelHandler createFrameHandler() {
-        return new DelimiterBasedFrameDecoder(maxLineLength, false, 
Delimiters.lineDelimiter());
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
index 5b14d46..62ae9fa 100644
--- 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
+++ 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
@@ -24,13 +24,9 @@ import org.apache.james.protocols.api.ProtocolConfiguration;
 import org.apache.james.protocols.api.logger.ProtocolLoggerAdapter;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
 import org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.netty.BasicChannelUpstreamHandler;
 import org.apache.james.protocols.pop3.POP3Protocol;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 /**
  * NIO POP3 Server which use Netty
@@ -104,9 +100,4 @@ public class POP3Server extends AbstractProtocolAsyncServer 
implements POP3Serve
         return JMXHandlersLoader.class;
     }
 
-    @Override
-    protected ChannelHandler createFrameHandler() {
-        return new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter());
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/41d9864e/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
index c7d291c..bacc31a 100644
--- 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
+++ 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
@@ -29,16 +29,12 @@ import org.apache.james.protocols.api.ProtocolTransport;
 import org.apache.james.protocols.api.logger.ProtocolLoggerAdapter;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
 import org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer;
-import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import org.apache.james.protocols.smtp.SMTPConfiguration;
 import org.apache.james.protocols.smtp.SMTPProtocol;
 import org.apache.james.smtpserver.CoreCmdHandlerLoader;
 import org.apache.james.smtpserver.ExtendedSMTPSession;
 import org.apache.james.smtpserver.jmx.JMXHandlersLoader;
-import org.jboss.netty.channel.ChannelHandler;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
-import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
-import org.jboss.netty.handler.codec.frame.Delimiters;
 
 /**
  * NIO SMTPServer which use Netty
@@ -363,9 +359,4 @@ public class SMTPServer extends AbstractProtocolAsyncServer 
implements SMTPServe
         return JMXHandlersLoader.class;
     }
 
-    @Override
-    protected ChannelHandler createFrameHandler() {
-        return new 
DelimiterBasedFrameDecoder(AbstractChannelPipelineFactory.MAX_LINE_LENGTH, 
false, Delimiters.lineDelimiter());
-    }
-
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to