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: [email protected]
For additional commands, e-mail: [email protected]