Author: norman
Date: Tue Aug  1 23:40:47 2006
New Revision: 427917

URL: http://svn.apache.org/viewvc?rev=427917&view=rev
Log:
Commit some changes to show more work in progres.. 6 junit tests fail caused by 
not correctly handle of AUTHCmdHandler and DATCmdHandler. See the email of noel

Modified:
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPResponse.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPSession.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/ExpnCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HelpCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/NoopCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RsetCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/VrfyCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/EhloHeloFilterCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/MailFilterCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/RcptFilterCmdHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
    
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
    
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
    
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java
    
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
    
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
    
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ValidSenderDomainHandlerTest.java

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPHandler.java
 Tue Aug  1 23:40:47 2006
@@ -161,7 +161,10 @@
      */
     private StringBuffer responseBuffer = new StringBuffer(256);
     
-    private SMTPResponse response = new SMTPResponse();
+    private final static int DEFAULT_SMTP_CODE = 500;
+    private final static String DEFAULT_SMTP_RESPONSE = "Unexpected Error";
+    
+    private SMTPResponse response = new 
SMTPResponse(DEFAULT_SMTP_CODE,DEFAULT_SMTP_RESPONSE);
 
     /**
      * Set the configuration data for the handler
@@ -268,7 +271,7 @@
            } else {
                new Chain(commandHandlers.iterator()).doChain(this);
 
-               writeCompleteResponse(getSMTPResponse().retrieve());
+               writeCompleteResponse(getSMTPResponse());
            }
 
            // handle messages
@@ -279,7 +282,7 @@
                if (messageHandlers != null) {
                    new Chain(messageHandlers.iterator()).doChain(this);
 
-                   writeCompleteResponse(getSMTPResponse().retrieve());
+                   writeCompleteResponse(getSMTPResponse());
                }
            }
 
@@ -310,23 +313,34 @@
      * @param resp
      *                The Collection of responseStrings
      */
-    private void writeCompleteResponse(Collection resp) {
+    private void writeCompleteResponse(SMTPResponse responses) {
+       if (responses == null) return;
+       
+       Collection resp = response.getSMTPResponse();
+       
        if (resp.size() > 0) {
            Iterator response = resp.iterator();
 
            while (response.hasNext()) {
-
-               writeResponse(response.next().toString());
+               String responseString = response.next().toString();
+               String finalResponse = null;
+               
+               if (response.hasNext()) {
+               finalResponse = responses.getSMTPCode() + "-" + responseString;
+               } else {
+                   finalResponse = responses.getSMTPCode() + " " + 
responseString;
+               }
+               writeResponse(finalResponse);
            }
-           getSMTPResponse().clear();
        }
+       resetSMTPResponse();
     }
     
     /**
      * Resets the handler data to a basic state.
      */
     protected void resetHandler() {
-       getSMTPResponse().clear();
+       this.response = null;
        resetState();
        resetConnectionState();
 
@@ -336,6 +350,7 @@
        remoteIP = null;
        authenticatedUser = null;
        smtpID = null;
+       resetSMTPResponse();
     }
 
    /**
@@ -577,6 +592,21 @@
      */
     public SMTPResponse getSMTPResponse() {
        return response;
+    }
+    
+    /**
+     * @see 
org.apache.james.smtpserver.SMTPSession#setSMTPResponse(SMTPResponse)
+     */
+    public void setSMTPResponse(SMTPResponse response){
+       this.response = response;
+    }
+    
+    /**
+     * Reset the SMTPResponse to the default state
+     */
+    private void resetSMTPResponse() {
+       getSMTPResponse().setSMTPCode(DEFAULT_SMTP_CODE);
+       getSMTPResponse().setSMTPResponse(DEFAULT_SMTP_RESPONSE);
     }
 
 }

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPResponse.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPResponse.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPResponse.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPResponse.java
 Tue Aug  1 23:40:47 2006
@@ -25,38 +25,109 @@
 /**
  * The SMTPResponse which should be returned to the client socked
  */
-public class SMTPResponse
-{
+public class SMTPResponse {
     private Collection resp = new ArrayList();
 
+    private int code;
+
+    /**
+     * Init a new SMTPResponse
+     * 
+     * @param code
+     *                The SMTP code
+     * @param response
+     *                The SMTP response
+     * @throws InvalidArgumentException Get thrown if the given response is 
null
+     */
+    public SMTPResponse(int code, String response) {
+       if (response == null)
+           throw new IllegalArgumentException("Invalid response String: "
+                   + response);
+
+       this.code = code;
+       resp.add(response);
+    }
+
+    /**
+     * Store the responseString which should be returned to the client
+     * socked
+     * 
+     * @param response The RepsponseString which should be returned to the
+     *                client socked
+      * @throws InvalidArgumentException Get thrown if the given response is 
null
+     */
+    public void setSMTPResponse(String response) {
+       if (response == null)
+           throw new IllegalArgumentException("Invalid response String: "
+                   + response);
+
+       resp.clear();
+       resp.add(response);
+    }
+
     /**
-     * Store the responseString which should be returned to the client socked
+     * Add a response string
      * 
-     * @param response The RepsponseString which should be returned to the 
client socked
+     * @param response The response string
+     * @throws InvalidArgumentException Get thrown if the given response is 
null
      */
-    public void store(String response) {
-    resp.clear();
-    resp.add(response);
+    public void addSMTPResponse(String response) {
+       if (response == null)
+           throw new IllegalArgumentException("Invalid response String: "
+                   + response);
+
+       resp.add(response);
     }
-    
-    public void append(String response) {
-    resp.add(response);
+
+    /**
+     * Set the SMTP code
+     * 
+     * @param code
+     *                The code
+     */
+    public void setSMTPCode(int code) {
+       this.code = code;
     }
-    
+
     /**
-     * Get the reponseString which should be returend to the client socked
+     * Get the SMTP code
      * 
-     * @return response The responseString which should be returned to the 
client socked
+     * @return code The SMTP code
      */
-    public Collection retrieve() {
-        return resp;
+    public int getSMTPCode() {
+       return code;
     }
 
     /**
-     * Reset the SMTPResponse
-     *
+     * Get the SMTPResponse which should be returend to the client socked
+     * 
+     * @return response The responseString which should be returned to the
+     *         client socked
      */
-    public void clear() {
-    resp.clear();
+    public Collection getSMTPResponse() {
+       return resp;
+    }
+
+    /**
+     * Set the SMTPCode and SMTPResponse with a raw response String
+     * 
+     * @param response The raw response string
+     * @throws IllegalArgumentException if the raw String is not valid
+     */
+    public void setRawSMTPResponse(String response) {
+       String[] parts = response.split(" ");
+       if (parts.length > 1) {
+           setSMTPCode(Integer.parseInt(parts[0]));
+           setSMTPResponse(response.substring(parts[0].length() + 1));
+           try {
+
+           } catch (NumberFormatException e) {
+               throw new IllegalArgumentException("Invalid SMTPCode: "
+                       + parts[0]);
+           }
+       } else {
+           throw new IllegalArgumentException("Invalid raw SMTPResponse: "
+                   + response);
+       }
     }
 }

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPSession.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPSession.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPSession.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/SMTPSession.java
 Tue Aug  1 23:40:47 2006
@@ -238,6 +238,8 @@
      */
     SMTPResponse getSMTPResponse();
     
+    void setSMTPResponse(SMTPResponse response);
+    
     void writeResponse(String resp);
 }
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/EhloCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -23,7 +23,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.james.smtpserver.Chain;
@@ -47,13 +46,7 @@
      * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession)
      **/
     public void onCommand(SMTPSession session,Chain chain) {
-        Iterator response =  doEHLO(session).iterator();
-        
-        
-        while (response.hasNext()) {
-            // store the response
-            session.getSMTPResponse().append(response.next().toString());
-        }
+       doEHLO(session);
     }
 
     /**
@@ -64,56 +57,52 @@
      * @param session SMTP session object
      * @param argument the argument passed in with the command by the SMTP 
client
      */
-    private Collection doEHLO(SMTPSession session) {
-    String argument = session.getCommandArgument();
-    Collection response = new ArrayList();
-    
-        StringBuffer responseBuffer = session.getResponseBuffer();
-
-        session.getConnectionState().put(SMTPSession.CURRENT_HELO_MODE, 
COMMAND_NAME);
-
-        ArrayList esmtpextensions = new ArrayList();
-
-        esmtpextensions.add(new StringBuffer(session.getConfigurationData()
-                .getHelloName()).append(" Hello ").append(argument)
-                .append(" (").append(session.getRemoteHost()).append(" [")
-                .append(session.getRemoteIPAddress()).append("])").toString());
-
-        // Extension defined in RFC 1870
-        long maxMessageSize = session.getConfigurationData()
-                .getMaxMessageSize();
-        if (maxMessageSize > 0) {
-            esmtpextensions.add("SIZE " + maxMessageSize);
-        }
-
-        if (session.isAuthRequired()) {
-            esmtpextensions.add("AUTH LOGIN PLAIN");
-            esmtpextensions.add("AUTH=LOGIN PLAIN");
-        }
-
-        esmtpextensions.add("PIPELINING");
-        esmtpextensions.add("ENHANCEDSTATUSCODES");
-        // see http://issues.apache.org/jira/browse/JAMES-419 
-        //esmtpextensions.add("8BITMIME");
-
-        // Iterator i = esmtpextensions.iterator();
-        for (int i = 0; i < esmtpextensions.size(); i++) {
-            if (i == esmtpextensions.size() - 1) {
-                responseBuffer.append("250 ");
-                responseBuffer.append((String) esmtpextensions.get(i));
-                response.add(session.clearResponseBuffer());
-            } else {
-                responseBuffer.append("250-");
-                responseBuffer.append((String) esmtpextensions.get(i));
-                response.add(session.clearResponseBuffer());
-            }
-        }
-        return response;
+    private void doEHLO(SMTPSession session) {
+       String argument = session.getCommandArgument();
+       session.getConnectionState().put(SMTPSession.CURRENT_HELO_MODE,
+               COMMAND_NAME);
+
+       ArrayList esmtpextensions = new ArrayList();
+
+       esmtpextensions.add(new StringBuffer(session.getConfigurationData()
+               .getHelloName()).append(" Hello ").append(argument)
+               .append(" (").append(session.getRemoteHost()).append(" [")
+               .append(session.getRemoteIPAddress()).append("])").toString());
+
+       // Extension defined in RFC 1870
+       long maxMessageSize = session.getConfigurationData()
+               .getMaxMessageSize();
+       if (maxMessageSize > 0) {
+           esmtpextensions.add("SIZE " + maxMessageSize);
+       }
+
+       if (session.isAuthRequired()) {
+           esmtpextensions.add("AUTH LOGIN PLAIN");
+           esmtpextensions.add("AUTH=LOGIN PLAIN");
+       }
+
+       esmtpextensions.add("PIPELINING");
+       esmtpextensions.add("ENHANCEDSTATUSCODES");
+       // see http://issues.apache.org/jira/browse/JAMES-419
+       // esmtpextensions.add("8BITMIME");
+
+       // Iterator i = esmtpextensions.iterator();
+       for (int i = 0; i < esmtpextensions.size(); i++) {
+           if (i == 0) {
+               session.getSMTPResponse().setSMTPCode(250);
+               session.getSMTPResponse().setSMTPResponse(
+                       (String) esmtpextensions.get(i));
+
+           } else {
+               session.getSMTPResponse().addSMTPResponse(
+                       (String) esmtpextensions.get(i));
+           }
+       }
     }
     
     /**
-     * @see org.apache.james.smtpserver.CommandHandler#getImplCommands()
-     */
+         * @see org.apache.james.smtpserver.CommandHandler#getImplCommands()
+         */
     public Collection getImplCommands() {
         Collection implCommands = new ArrayList();
         implCommands.add("EHLO");

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/ExpnCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/ExpnCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/ExpnCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/ExpnCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -47,8 +47,12 @@
      * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession)
      */
     public void onCommand(SMTPSession session,Chain chain) {
-        String responseString = "502 
"+DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.SYSTEM_NOT_CAPABLE)+" EXPN 
is not supported";
-        session.getSMTPResponse().store(responseString);
+       int code = 502;
+        String responseString = 
DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.SYSTEM_NOT_CAPABLE)+" EXPN is 
not supported";
+        
+        // Set the response
+        session.getSMTPResponse().setSMTPCode(code);
+        session.getSMTPResponse().setSMTPResponse(responseString);
     }
     
     /**

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HeloCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HeloCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -50,7 +50,7 @@
         String response = doHELO(session);
         
         if (response != null) {
-            session.getSMTPResponse().store(response);
+            session.getSMTPResponse().setRawSMTPResponse(response);
         }
     }
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HelpCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HelpCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HelpCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/HelpCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -46,7 +46,7 @@
     **/
     public void onCommand(SMTPSession session, Chain chain) {
         String responseString = "502 
"+DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.SYSTEM_NOT_CAPABLE)+" HELP 
is not supported";
-        session.getSMTPResponse().store(responseString);
+        session.getSMTPResponse().setRawSMTPResponse(responseString);
     }
 
     /**

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/MailCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -45,7 +45,7 @@
      * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession)
      */
     public void onCommand(SMTPSession session,Chain chain) {
-        session.getSMTPResponse().store(doMAIL(session, 
session.getCommandArgument()));
+        session.getSMTPResponse().setRawSMTPResponse(doMAIL(session, 
session.getCommandArgument()));
     }
 
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/NoopCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/NoopCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/NoopCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/NoopCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -47,7 +47,7 @@
      */
     public void onCommand(SMTPSession session, Chain chain) {
         String responseString = "250 
"+DSNStatus.getStatus(DSNStatus.SUCCESS,DSNStatus.UNDEFINED_STATUS)+" OK";
-        session.getSMTPResponse().store(responseString);
+        session.getSMTPResponse().setRawSMTPResponse(responseString);
     }
     
     /**

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/QuitCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/QuitCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -45,7 +45,7 @@
      * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession)
      */
     public void onCommand(SMTPSession session, Chain chain) {
-        session.getSMTPResponse().store(doQUIT(session));
+        session.getSMTPResponse().setRawSMTPResponse(doQUIT(session));
         session.endSession();
 
     }

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RcptCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RcptCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -43,7 +43,7 @@
      * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession)
     **/
     public void onCommand(SMTPSession session,Chain chain) {
-        session.getSMTPResponse().store(doRCPT(session));
+        session.getSMTPResponse().setRawSMTPResponse(doRCPT(session));
     }
 
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RsetCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RsetCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RsetCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/RsetCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -44,7 +44,7 @@
      * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession)
     **/
     public void onCommand(SMTPSession session, Chain chain) {
-        session.getSMTPResponse().store(doRSET(session, 
session.getCommandArgument()));
+        session.getSMTPResponse().setRawSMTPResponse(doRSET(session, 
session.getCommandArgument()));
     }
 
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/SendMailHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
 Tue Aug  1 23:40:47 2006
@@ -60,7 +60,7 @@
      * @see org.apache.james.smtpserver#onMessage(SMTPSession)
      */
     public void onMessage(SMTPSession session, Chain chain) {
-       session.getSMTPResponse().store(processMail(session));
+       session.getSMTPResponse().setRawSMTPResponse(processMail(session));
     }
     
     private String processMail(SMTPSession session) {

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/UnknownCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -49,7 +49,7 @@
        String response = doUNKNOWN(session);
 
        if (response != null) {
-           session.getSMTPResponse().store(response);
+           session.getSMTPResponse().setRawSMTPResponse(response);
        }
     }
     

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/VrfyCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/VrfyCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/VrfyCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/VrfyCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -45,7 +45,7 @@
     **/
     public void onCommand(SMTPSession session, Chain chain) {
         String responseString = "502 
"+DSNStatus.getStatus(DSNStatus.PERMANENT,DSNStatus.SYSTEM_NOT_CAPABLE)+" VRFY 
is not supported";
-        session.getSMTPResponse().store(responseString);
+        session.getSMTPResponse().setRawSMTPResponse(responseString);
     }
     
     /**

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/EhloHeloFilterCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/EhloHeloFilterCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/EhloHeloFilterCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/EhloHeloFilterCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -50,7 +50,7 @@
             
         } else {        
             // store the response
-            session.getSMTPResponse().store(response);
+            session.getSMTPResponse().setRawSMTPResponse(response);
         }
     }
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/MailFilterCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/MailFilterCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/MailFilterCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/MailFilterCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -58,7 +58,7 @@
            
        } else {        
            // store the response
-           session.getSMTPResponse().store(response);
+           session.getSMTPResponse().setRawSMTPResponse(response);
        }
     }
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/RcptFilterCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/RcptFilterCmdHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/RcptFilterCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/RcptFilterCmdHandler.java
 Tue Aug  1 23:40:47 2006
@@ -47,9 +47,7 @@
      * @see org.apache.james.smtpserver.CommandHandler#onCommand(SMTPSession)
     **/
     public void onCommand(SMTPSession session, Chain chain) {
-        
-        System.err.println("ADDRESS: ");
-        
+      
        String response =  doRCPT(session);
        
        if (response == null) {
@@ -58,7 +56,7 @@
            
        } else {        
            // store the response
-           session.getSMTPResponse().store(response);
+           session.getSMTPResponse().setRawSMTPResponse(response);
        }
     }
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 Tue Aug  1 23:40:47 2006
@@ -270,7 +270,7 @@
 
        } else {
            // store the response
-           session.getSMTPResponse().store(response);
+           session.getSMTPResponse().setRawSMTPResponse(response);
        }
     }
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
 Tue Aug  1 23:40:47 2006
@@ -75,7 +75,7 @@
 
        } else {
            // store the response
-           session.getSMTPResponse().store(response);
+           session.getSMTPResponse().setRawSMTPResponse(response);
        }
     }
 

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
 Tue Aug  1 23:40:47 2006
@@ -127,7 +127,7 @@
                 
             } else {        
                 // store the response
-                session.getSMTPResponse().store(response);
+                session.getSMTPResponse().setRawSMTPResponse(response);
             }
         }
     }

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java
 Tue Aug  1 23:40:47 2006
@@ -123,7 +123,7 @@
                 
             } else {        
                 // store the response
-                session.getSMTPResponse().store(response);
+                session.getSMTPResponse().setRawSMTPResponse(response);
             }
         }
     }

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
 Tue Aug  1 23:40:47 2006
@@ -157,7 +157,7 @@
                 
             } else {        
                 // store the response
-                session.getSMTPResponse().store(response);
+                session.getSMTPResponse().setRawSMTPResponse(response);
             }
         }
     }

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
 Tue Aug  1 23:40:47 2006
@@ -151,7 +151,7 @@
 
        } else {
            // store the response
-           session.getSMTPResponse().store(response);
+           session.getSMTPResponse().setRawSMTPResponse(response);
            session.abortMessage();
        }
     }

Modified: 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
 Tue Aug  1 23:40:47 2006
@@ -94,7 +94,7 @@
 
        } else {
            // store the response
-           session.getSMTPResponse().store(response);
+           session.getSMTPResponse().setRawSMTPResponse(response);
        }
     }
 

Modified: 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
 Tue Aug  1 23:40:47 2006
@@ -235,4 +235,11 @@
        throw new UnsupportedOperationException("Unimplemented Stub Method");
     }
 
+    /**
+     * @see 
org.apache.james.smtpserver.SMTPSession#setSMTPResponse(SMTPResponse)
+     */
+    public void setSMTPResponse(SMTPResponse response) {
+       throw new UnsupportedOperationException("Unimplemented Stub Method");
+    }
+
 }

Modified: 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ResolvableEhloHeloHandlerTest.java
 Tue Aug  1 23:40:47 2006
@@ -39,14 +39,15 @@
 
 public class ResolvableEhloHeloHandlerTest extends TestCase {
 
-    public final static String INVALID_HOST = "foo.bar";
+    private final static String INVALID_HOST = "foo.bar";
     
-    public final static String VALID_HOST = "james.apache.org";
+    private final static String VALID_HOST = "james.apache.org";
     
-    public final static String HELO = "HELO";
+    private final static String HELO = "HELO";
     
-    public final static String RCPT = "RCPT";
+    private final static String RCPT = "RCPT";
     
+    private final static int REJECT_CODE = 501; 
     
     private String command = null;
     
@@ -65,7 +66,7 @@
 
             HashMap connectionMap = new HashMap();
             HashMap map = new HashMap();
-            SMTPResponse response = new SMTPResponse();
+            SMTPResponse response = new SMTPResponse(500,"Unexpected Error");
             
             public String getCommandArgument() {
                 return argument;
@@ -136,7 +137,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Reject", session.getSMTPResponse().retrieve().size() > 0);
+        assertTrue("Reject", session.getSMTPResponse().getSMTPCode()  == 
REJECT_CODE);
     }
     
     
@@ -157,7 +158,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Not Reject", session.getSMTPResponse().retrieve().size() 
== 0);
+        assertTrue("Not Reject", session.getSMTPResponse().getSMTPCode() != 
REJECT_CODE);
 
     }
     
@@ -178,7 +179,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Not reject", session.getSMTPResponse().retrieve().size() 
== 0);
+        assertTrue("Not reject", session.getSMTPResponse().getSMTPCode() != 
REJECT_CODE);
     }
     
     public void testRejectInvalidHeloAuthUser() throws ParseException {
@@ -199,7 +200,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Reject", session.getSMTPResponse().retrieve().size() > 0);
+        assertTrue("Reject", session.getSMTPResponse().getSMTPCode() == 
REJECT_CODE);
 
     }
     
@@ -220,7 +221,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Not reject", session.getSMTPResponse().retrieve().size() 
== 0);
+        assertTrue("Not reject", session.getSMTPResponse().getSMTPCode() != 
REJECT_CODE);
         
     }
     
@@ -242,7 +243,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Reject", session.getSMTPResponse().retrieve().size() > 0);
+        assertTrue("Reject", session.getSMTPResponse().getSMTPCode() == 
REJECT_CODE);
 
     }
     
@@ -263,7 +264,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Not reject", session.getSMTPResponse().retrieve().size() 
== 0);
+        assertTrue("Not reject", session.getSMTPResponse().getSMTPCode() != 
REJECT_CODE);
         
     }
     
@@ -284,7 +285,7 @@
         // rcpt
         setCommand(RCPT);
         handler.onCommand(session, new Chain(null));
-        assertTrue("Not reject", session.getSMTPResponse().retrieve().size() 
== 0);
+        assertTrue("Not reject", session.getSMTPResponse().getSMTPCode() != 
REJECT_CODE);
 
     }
 }

Modified: 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SPFHandlerTest.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
 Tue Aug  1 23:40:47 2006
@@ -47,6 +47,10 @@
     private boolean relaying = false;
 
     private String command = "MAIL";
+    
+    private final static int REJECT_CODE = 530;
+    
+    private final static int TEMP_REJECT_CODE = 451;
 
     protected void setUp() throws Exception {
         super.setUp();
@@ -154,7 +158,7 @@
 
             Mail mail = new MockMail();
             
-            SMTPResponse response = new SMTPResponse();
+            SMTPResponse response = new SMTPResponse(500,"Unknown Response");
 
             public void writeResponse(String respString) {
                 // Do nothing
@@ -196,7 +200,7 @@
             }
             
             public SMTPResponse getSMTPResponse() {
-            return response;
+                return response;
             }
 
         };
@@ -239,7 +243,7 @@
         assertEquals("header", mockedSMTPSession.getState().get(
                 SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
                 .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
-        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() != REJECT_CODE);
     }
 
     public void testSPFfail() throws Exception {
@@ -264,7 +268,7 @@
                 SPFHandler.SPF_TEMPBLOCKLISTED));
         assertNotNull("Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
-        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() > 0);
+        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() == REJECT_CODE);
     }
 
     public void testSPFsoftFail() throws Exception {
@@ -292,7 +296,7 @@
         assertEquals("header", mockedSMTPSession.getState().get(
                 SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
                 .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
-        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() != REJECT_CODE);
     }
 
     public void testSPFsoftFailRejectEnabled() throws Exception {
@@ -319,7 +323,7 @@
                 SPFHandler.SPF_TEMPBLOCKLISTED));
         assertNotNull("Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
-        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() > 0);
+        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() == REJECT_CODE);
     }
 
     public void testSPFpermError() throws Exception {
@@ -346,7 +350,7 @@
                 SPFHandler.SPF_TEMPBLOCKLISTED));
         assertNotNull("Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
-        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() > 0);
+        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() == REJECT_CODE);
     }
 
     public void testSPFtempError() throws Exception {
@@ -371,7 +375,7 @@
                 SPFHandler.SPF_TEMPBLOCKLISTED));
         assertNotNull("Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
-        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() > 0);;
+        assertTrue("Rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() == TEMP_REJECT_CODE);;
     }
 
     public void testSPFNoRecord() throws Exception {
@@ -399,7 +403,7 @@
         assertEquals("header", mockedSMTPSession.getState().get(
                 SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
                 .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
-        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() != REJECT_CODE);
     }
 
     public void testSPFpermErrorNotRejectPostmaster() throws Exception {
@@ -426,7 +430,7 @@
                 SPFHandler.SPF_TEMPBLOCKLISTED));
         assertNull("no Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
-        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() != REJECT_CODE);
     }
 
     public void testSPFpermErrorNotRejectAbuse() throws Exception {
@@ -452,6 +456,6 @@
                 SPFHandler.SPF_TEMPBLOCKLISTED));
         assertNull("no Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
-        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Not rejected", 
mockedSMTPSession.getSMTPResponse().getSMTPCode() != REJECT_CODE);
     }
 }

Modified: 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
 Tue Aug  1 23:40:47 2006
@@ -42,7 +42,9 @@
 public class SpamAssassinHandlerTest extends TestCase {
     private SMTPSession mockedSMTPSession;
 
-    public final static String SPAMD_HOST = "localhost";
+    private final static String SPAMD_HOST = "localhost";
+    
+    private final static int REJECT_CODE = 554;
 
     private SMTPSession setupMockedSMTPSession(final Mail mail) {
         mockedSMTPSession = new AbstractSMTPSession() {
@@ -55,13 +57,13 @@
 
             private boolean relayingAllowed;
             
-            private SMTPResponse response = new SMTPResponse();
+            private SMTPResponse response = new SMTPResponse(500,"Unknown 
Response");
 
             public void abortMessage() {
             }
             
             public SMTPResponse getSMTPResponse() {
-            return response;
+                return response;
             }
 
             public Mail getMail() {
@@ -125,7 +127,7 @@
         handler.setSpamdRejectionHits(200.0);
         handler.onMessage(session, new Chain(null));
 
-        assertTrue("Email was not rejected", 
session.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Email was not rejected", 
session.getSMTPResponse().getSMTPCode() != REJECT_CODE);
         assertEquals("email was not spam", session.getMail().getAttribute(
                 SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "NO");
         assertNotNull("spam hits", session.getMail().getAttribute(
@@ -148,7 +150,7 @@
         handler.setSpamdRejectionHits(2000.0);
         handler.onMessage(session, new Chain(null));
 
-        assertTrue("Email was not rejected", 
session.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Email was not rejected", 
session.getSMTPResponse().getSMTPCode() != REJECT_CODE);
         assertEquals("email was spam", session.getMail().getAttribute(
                 SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
         assertNotNull("spam hits", session.getMail().getAttribute(
@@ -170,7 +172,7 @@
         handler.setSpamdRejectionHits(200.0);
         handler.onMessage(session, new Chain(null));
 
-        assertTrue("Email was rejected", 
session.getSMTPResponse().retrieve().size() > 0);
+        assertTrue("Email was rejected", 
session.getSMTPResponse().getSMTPCode() == REJECT_CODE);
         assertEquals("email was spam", session.getMail().getAttribute(
                 SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
         assertNotNull("spam hits", session.getMail().getAttribute(

Modified: 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ValidSenderDomainHandlerTest.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ValidSenderDomainHandlerTest.java?rev=427917&r1=427916&r2=427917&view=diff
==============================================================================
--- 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ValidSenderDomainHandlerTest.java
 (original)
+++ 
james/server/sandbox/handlerapi2/src/test/org/apache/james/smtpserver/ValidSenderDomainHandlerTest.java
 Tue Aug  1 23:40:47 2006
@@ -37,6 +37,7 @@
 
 public class ValidSenderDomainHandlerTest extends TestCase {
    
+    private final int REJECT_CODE = 501;
     
     private DNSServer setupDNSServer() {
         DNSServer dns = new DNSServer(){
@@ -72,7 +73,7 @@
     private SMTPSession setupMockedSession(final MailAddress sender) {
         SMTPSession session = new AbstractSMTPSession() {
             HashMap state = new HashMap();
-            SMTPResponse response = new SMTPResponse();
+            SMTPResponse response = new SMTPResponse(500, "Unknown Response");
             
             public Map getState() {
 
@@ -103,6 +104,6 @@
         handler.setDnsServer(setupDNSServer());
         handler.onCommand(session,new Chain(null));
         
-        assertTrue("Not blocked cause its a 
nullsender",session.getSMTPResponse().retrieve().size() == 0);
+        assertTrue("Not blocked cause its a 
nullsender",session.getSMTPResponse().getSMTPCode() != REJECT_CODE);
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to