Author: norman
Date: Tue Sep 27 10:16:29 2011
New Revision: 1176309

URL: http://svn.apache.org/viewvc?rev=1176309&view=rev
Log:
Make sure ProtocolHandlerResponseHandler are not called when a FutureResponse 
is used. See PROTOCOLS-37 

Modified:
    
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
    
james/protocols/trunk/impl/src/main/java/org/apache/james/protocols/impl/BasicChannelUpstreamHandler.java

Modified: 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java?rev=1176309&r1=1176308&r2=1176309&view=diff
==============================================================================
--- 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
 (original)
+++ 
james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/handler/AbstractCommandDispatcher.java
 Tue Sep 27 10:16:29 2011
@@ -29,6 +29,7 @@ import java.util.List;
 import java.util.Locale;
 
 import org.apache.james.protocols.api.BaseRequest;
+import org.apache.james.protocols.api.FutureResponse;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 
@@ -159,6 +160,11 @@ public abstract class AbstractCommandDis
 
                 // now process the result handlers
                 for (int a = 0; a < rHandlers.size(); a++) {
+                    // Disable till PROTOCOLS-37 is implemented
+                    if (response instanceof FutureResponse) {
+                        
session.getLogger().debug("ProtocolHandlerResultHandler are not supported for 
FutureResponse yet");
+                        break;
+                    } 
                     response = rHandlers.get(a).onResponse(session, response, 
executionTime, (CommandHandler<Session>) cHandler);
                 }
             }

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=1176309&r1=1176308&r2=1176309&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
 Tue Sep 27 10:16:29 2011
@@ -25,6 +25,7 @@ import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLEngine;
 
 import org.apache.james.protocols.api.AbstractSession;
+import org.apache.james.protocols.api.FutureResponse;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
@@ -99,6 +100,11 @@ public class BasicChannelUpstreamHandler
                 long executionTime = System.currentTimeMillis() - start;
                 
                 for (int a = 0; a < resultHandlers.size(); a++) {
+                    // Disable till PROTOCOLS-37 is implemented
+                    if (response instanceof FutureResponse) {
+                        
session.getLogger().debug("ProtocolHandlerResultHandler are not supported for 
FutureResponse yet");
+                        break;
+                    } 
                     resultHandlers.get(a).onResponse(session, response, 
executionTime, cHandler);
                 }
                 if (response != null) {
@@ -156,7 +162,12 @@ public class BasicChannelUpstreamHandler
             long executionTime = System.currentTimeMillis() - start;
 
             for (int i = 0; i < resultHandlers.size(); i++) {
-                resultHandlers.get(i).onResponse(pSession, response, 
executionTime, lHandler);
+                // Disable till PROTOCOLS-37 is implemented
+                if (response instanceof FutureResponse) {
+                    pSession.getLogger().debug("ProtocolHandlerResultHandler 
are not supported for FutureResponse yet");
+                    break;
+                } 
+                response = resultHandlers.get(i).onResponse(pSession, 
response, executionTime, lHandler);
             }
             if (response != null) {
                 // TODO: This kind of sucks but I was able to come up with 
something more elegant here



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to