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