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