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