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 ba...@apache.org on 2006/12/27 13:01:42 UTC

svn commit: r490483 - in /james/server/sandbox/handlerapi-experiment/src: java/org/apache/james/smtpserver/ java/org/apache/james/smtpserver/core/ java/org/apache/james/smtpserver/core/filter/fastfail/ test/org/apache/james/smtpserver/

Author: bago
Date: Wed Dec 27 04:01:40 2006
New Revision: 490483

URL: http://svn.apache.org/viewvc?view=rev&rev=490483
Log:
Removed mail object from SMTPSession. Now it is only temporarily added as a property by the DataCmdHandler and passed as MessageHandler.onMessage parameter (added in this patch, too)

Modified:
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
    james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
    james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
    james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java
    james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
    james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java
    james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
    james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java Wed Dec 27 04:01:40 2006
@@ -21,6 +21,8 @@
 
 package org.apache.james.smtpserver;
 
+import org.apache.mailet.Mail;
+
 /**
  * Custom message handlers must implement this interface
  * The message handlers will be server-wide common to all the SMTPHandlers,
@@ -31,6 +33,6 @@
     /*
      * Handle Message
     **/
-    SMTPResponse onMessage(SMTPSession session);
+    SMTPResponse onMessage(SMTPSession session, Mail mail);
 
 }

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java Wed Dec 27 04:01:40 2006
@@ -21,10 +21,8 @@
 
 package org.apache.james.smtpserver;
 
-import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.james.core.AbstractJamesHandler;
 import org.apache.james.util.CRLFDelimitedByteBuffer;
-import org.apache.mailet.Mail;
 
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
@@ -58,11 +56,6 @@
     SMTPHandlerChain handlerChain = null;
 
     /**
-     * The MailImpl object set by the DATA command
-     */
-    private Mail mail = null;
-
-    /**
      * The session termination status
      */
     private boolean sessionEnded = false;
@@ -306,20 +299,6 @@
 
 
     /**
-     * @see org.apache.james.smtpserver.SMTPSession#getMail()
-     */
-    public Mail getMail() {
-        return mail;
-    }
-
-    /**
-     * @see org.apache.james.smtpserver.SMTPSession#setMail(Mail)
-     */
-    public void setMail(Mail mail) {
-        this.mail = mail;
-    }
-
-    /**
      * @see org.apache.james.smtpserver.SMTPSession#getRemoteHost()
      */
     public String getRemoteHost() {
@@ -337,10 +316,6 @@
      * @see org.apache.james.smtpserver.SMTPSession#resetState()
      */
     public void resetState() {
-        if(mail != null) {
-            ContainerUtil.dispose(mail);
-            mail = null;
-        }
         // remember the ehlo mode between resets
         Object currentHeloMode = getState().get(CURRENT_HELO_MODE);
 

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java Wed Dec 27 04:01:40 2006
@@ -17,13 +17,8 @@
  * under the License.                                           *
  ****************************************************************/
 
-
-
 package org.apache.james.smtpserver;
 
-
-import org.apache.mailet.Mail;
-
 import java.util.Map;
 
 /**
@@ -41,20 +36,6 @@
     public final static String CURRENT_HELO_NAME = "CURRENT_HELO_NAME"; 
     public static final Object CURRENT_RECIPIENT = "CURRENT_RECIPIENT"; // Current recipient
     public final static String SESSION_STATE_MAP = "SESSION_STATE_MAP"; // the Session state 
-
-    /**
-     * Returns Mail object for message handlers to process
-     *
-     * @return Mail object
-     */
-    Mail getMail();
-
-    /**
-     * Sets the MailImpl object for further processing
-     *
-     * @param mail MailImpl object
-     */
-    void setMail(Mail mail);
 
     /**
      * Returns host name of the client

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java Wed Dec 27 04:01:40 2006
@@ -21,6 +21,7 @@
 
 package org.apache.james.smtpserver.core;
 
+import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.james.Constants;
 import org.apache.james.core.MailHeaders;
@@ -38,6 +39,7 @@
 import org.apache.james.util.DotStuffingInputStream;
 import org.apache.james.util.mail.SMTPRetCode;
 import org.apache.james.util.mail.dsn.DSNStatus;
+import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.RFC2822Headers;
 import org.apache.mailet.dates.RFC822DateFormat;
@@ -92,6 +94,8 @@
     private final static char[] SMTPTerminator = { '\r', '\n', '.', '\r', '\n' };
 
     private List messageHandlers;
+    
+    private final static String LAST_MAIL_KEY = "org.apache.james.smtpserver.core.DataCmdHandler.LAST_MAIL_KEY";
 
     /**
      * process DATA command
@@ -173,7 +177,7 @@
             e1.printStackTrace();
         }
         
-        return new SMTPResponse(SMTPRetCode.DATA_READY, "Ok Send data ending with <CRLF>.<CRLF>");
+        return new SMTPResponse("354", "Ok Send data ending with <CRLF>.<CRLF>");
     }
     
 
@@ -258,6 +262,11 @@
     }
 
 
+
+
+
+
+
     private MailHeaders processMailHeaders(SMTPSession session, MailHeaders headers)
         throws MessagingException {
         // If headers do not contains minimum REQUIRED headers fields,
@@ -382,7 +391,7 @@
             
             session.popLineHandler();
             
-            session.setMail(mail);
+            session.getState().put(LAST_MAIL_KEY, mail);
         } catch (MessagingException me) {
             // if we get here, it means that we received a
             // MessagingException, which would happen BEFORE we call
@@ -428,17 +437,11 @@
     }
 
 
-    /**
-     * @see org.apache.james.smtpserver.ExtensibleHandler#getMarkerInterface()
-     */
     public Class getMarkerInterface() {
         return MessageHandler.class;
     }
 
 
-    /**
-     * @see org.apache.james.smtpserver.ExtensibleHandler#wireExtensions(java.util.List)
-     */
     public void wireExtensions(List extension) {
         this.messageHandlers = extension;
     }
@@ -447,12 +450,13 @@
      * @param session
      */
     private void processExtensions(SMTPSession session) {
-        if(session.getMail() != null && messageHandlers != null) {
+        Object mail = session.getState().get(LAST_MAIL_KEY);
+        if(mail != null && mail instanceof Mail && messageHandlers != null) {
             try {
                 getLogger().debug("executing message handlers");
                 int count = messageHandlers.size();
                 for(int i =0; i < count; i++) {
-                    SMTPResponse response = ((MessageHandler)messageHandlers.get(i)).onMessage(session);
+                    SMTPResponse response = ((MessageHandler)messageHandlers.get(i)).onMessage(session, (Mail) mail);
                     
                     session.writeSMTPResponse(response);
                     
@@ -462,6 +466,12 @@
                     }
                 }
             } finally {
+                // Dispose the mail object and remove it
+                if(mail != null) {
+                    ContainerUtil.dispose(mail);
+                    mail = null;
+                }
+                session.getState().remove(LAST_MAIL_KEY);
                 //do the clean up
                 session.resetState();
             }

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java Wed Dec 27 04:01:40 2006
@@ -59,10 +59,8 @@
      * Adds header to the message
      * @see org.apache.james.smtpserver#onMessage(SMTPSession)
      */
-    public SMTPResponse onMessage(SMTPSession session) {
+    public SMTPResponse onMessage(SMTPSession session, Mail mail) {
         getLogger().debug("sending mail");
-
-        Mail mail = session.getMail();
 
         try {
             mailServer.sendMail(mail);

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java Wed Dec 27 04:01:40 2006
@@ -28,6 +28,7 @@
 import org.apache.james.smtpserver.MessageHandler;
 import org.apache.james.smtpserver.SMTPResponse;
 import org.apache.james.smtpserver.SMTPSession;
+import org.apache.mailet.Mail;
 
 import javax.mail.internet.MimeMessage;
 
@@ -83,11 +84,11 @@
     /**
      * Adds header to the message
      *
-     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
      */
-    public SMTPResponse onMessage(SMTPSession session) {
+    public SMTPResponse onMessage(SMTPSession session, Mail mail) {
         try {
-            MimeMessage message = session.getMail().getMessage ();
+            MimeMessage message = mail.getMessage ();
 
             //Set the header name and value (supplied at init time).
             if(headerName != null) {

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java Wed Dec 27 04:01:40 2006
@@ -37,6 +37,7 @@
 import org.apache.james.util.junkscore.JunkScoreImpl;
 import org.apache.james.util.mail.SMTPRetCode;
 import org.apache.james.util.mail.dsn.DSNStatus;
+import org.apache.mailet.Mail;
 
 /**
  * Check if a configured JunkScore is reached and perform an action. Valid actions are: reject, compose, header. 
@@ -94,10 +95,10 @@
     }
     
     /**
-     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
      */
-    public SMTPResponse onMessage(SMTPSession session) {
-        return checkScore(session);
+    public SMTPResponse onMessage(SMTPSession session, Mail mail) {
+        return checkScore(session, mail);
     }
 
     /**
@@ -105,7 +106,7 @@
      * 
      * @param session the SMTPSession
      */
-    private SMTPResponse checkScore(SMTPSession session) {
+    private SMTPResponse checkScore(SMTPSession session, Mail mail) {
         JunkScore score1 = getLazyJunkScoreHandler(session.getConnectionState(),JunkScore.JUNK_SCORE_SESSION);
         JunkScore score2 = getLazyJunkScoreHandler(session.getState(),JunkScore.JUNK_SCORE);
         
@@ -113,9 +114,9 @@
         
         if (action.equals(COMPOSE_ACTION)) {
             // Save the scores attribute to maybe use it later!
-            session.getMail().setAttribute(JunkScore.JUNK_SCORE_SESSION_ATTR, String.valueOf(score1.getCompleteStoredScores()));
-            session.getMail().setAttribute(JunkScore.JUNK_SCORE_ATTR, String.valueOf(score2.getCompleteStoredScores()));
-            session.getMail().setAttribute(JunkScore.JUNK_SCORE_COMPOSED_ATTR, String.valueOf(composed.getCompleteStoredScores()));
+            mail.setAttribute(JunkScore.JUNK_SCORE_SESSION_ATTR, String.valueOf(score1.getCompleteStoredScores()));
+            mail.setAttribute(JunkScore.JUNK_SCORE_ATTR, String.valueOf(score2.getCompleteStoredScores()));
+            mail.setAttribute(JunkScore.JUNK_SCORE_COMPOSED_ATTR, String.valueOf(composed.getCompleteStoredScores()));
         } else if (action.equals(REJECT_ACTION)) {
             if (maxScore <  composed.getCompleteStoredScores()) {
  
@@ -135,7 +136,7 @@
             }
         } else if (action.equals(HEADER_ACTION)) {
             try {
-                MimeMessage message = session.getMail().getMessage();
+                MimeMessage message = mail.getMessage();
                 Map scores = composed.getStoredScores();
                 Iterator itScores = scores.keySet().iterator();
         

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java Wed Dec 27 04:01:40 2006
@@ -243,11 +243,9 @@
     }
     
     /**
-     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
      */
-    public SMTPResponse onMessage(SMTPSession session) {
-        Mail mail = session.getMail();
-
+    public SMTPResponse onMessage(SMTPSession session, Mail mail) {
         // Store the spf header as attribute for later using
         mail.setAttribute(SPF_HEADER_MAIL_ATTRIBUTE_NAME, (String) session.getState().get(SPF_HEADER));
     

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java Wed Dec 27 04:01:40 2006
@@ -142,9 +142,9 @@
     }
 
     /**
-     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
      */
-    public SMTPResponse onMessage(SMTPSession session) {
+    public SMTPResponse onMessage(SMTPSession session, Mail mail) {
 
         // Not scan the message if relaying allowed
         if (session.isRelayingAllowed() && !checkAuthNetworks) {
@@ -152,7 +152,6 @@
         }
 
         try {
-            Mail mail = session.getMail();
             MimeMessage message = mail.getMessage();
             SpamAssassinInvoker sa = new SpamAssassinInvoker(spamdHost,
                     spamdPort);

Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java Wed Dec 27 04:01:40 2006
@@ -48,6 +48,7 @@
 import org.apache.james.util.mail.SMTPRetCode;
 import org.apache.james.util.mail.dsn.DSNStatus;
 import org.apache.james.util.urirbl.URIScanner;
+import org.apache.mailet.Mail;
 
 /**
  * Extract domains from message and check against URIRBLServer. For more informations see http://www.surbl.org
@@ -66,7 +67,8 @@
     private final static String LISTED_DOMAIN ="LISTED_DOMAIN";
     
     private final static String URBLSERVER = "URBL_SERVER";
-    
+
+    private final static String TEMP_MAIL = "org.apache.james.smtpserver.core.filter.fastfail.URIRBLHandler.TEMP_MAIL";
     /**
      * @see org.apache.avalon.framework.service.Serviceable#service(ServiceManager)
      */
@@ -159,10 +161,13 @@
     }
     
     /**
-     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+     * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
      */
-    public SMTPResponse onMessage(SMTPSession session) {
-        return doProcessing(session);
+    public SMTPResponse onMessage(SMTPSession session, Mail mail) {
+        session.getState().put(TEMP_MAIL, mail);
+        SMTPResponse res = doProcessing(session);
+        session.getState().remove(TEMP_MAIL);
+        return res;
     }
 
     /**
@@ -215,7 +220,7 @@
         }
         
         try {
-            message = session.getMail().getMessage();
+            message = ((Mail) session.getState().get(TEMP_MAIL)).getMessage();
 
             HashSet domains = scanMailForDomains(message);
 

Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java Wed Dec 27 04:01:40 2006
@@ -20,8 +20,6 @@
 
 package org.apache.james.smtpserver;
 
-import org.apache.mailet.Mail;
-
 import java.util.Map;
 
 /**
@@ -45,13 +43,6 @@
     }
 
     /**
-     * @see org.apache.james.smtpserver.SMTPSession#getMail()
-     */
-    public Mail getMail() {
-        throw new UnsupportedOperationException("Unimplemented Stub Method");
-    }
-
-    /**
      * @see org.apache.james.smtpserver.SMTPSession#getRcptCount()
      */
     public int getRcptCount() {
@@ -111,13 +102,6 @@
      * @see org.apache.james.smtpserver.SMTPSession#resetState()
      */
     public void resetState() {
-        throw new UnsupportedOperationException("Unimplemented Stub Method");
-    }
-
-    /**
-     * @see org.apache.james.smtpserver.SMTPSession#setMail(org.apache.mailet.Mail)
-     */
-    public void setMail(Mail mail) {
         throw new UnsupportedOperationException("Unimplemented Stub Method");
     }
 

Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -48,7 +48,6 @@
         SMTPSession session = new AbstractSMTPSession() {
             HashMap state = new HashMap();
             HashMap cState = new HashMap();
-            Mail m = null;
         
             public Map getState() {
             state.put(SMTPSession.SENDER, "sender@localhost");
@@ -58,11 +57,6 @@
             public Map getConnectionState() {
                 return cState;
             }
-
-            public Mail getMail(){
-                if (m == null) m = getMockMail();
-                return m;
-            }
             
             public String getRemoteHost() {
                 return "anyHost";
@@ -107,12 +101,13 @@
     
         handler.setAction("reject");
         handler.setMaxScore(15.0);
-        handler.onMessage(session);
+        Mail m = getMockMail();
+        handler.onMessage(session, m);
 
         assertNull("Not rejected",response);
         ((JunkScore) session.getState().get(JunkScore.JUNK_SCORE)).setStoredScore(KEY1, SCORE1);
         ((JunkScore) session.getConnectionState().get(JunkScore.JUNK_SCORE_SESSION)).setStoredScore(KEY2, SCORE2);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, m);
     
         assertNotNull("Rejected",response);
     }
@@ -126,9 +121,10 @@
 
         JunkScoreHandler.getLazyJunkScoreHandler(session.getState(), JunkScore.JUNK_SCORE).setStoredScore(KEY1, SCORE1);
         JunkScoreHandler.getLazyJunkScoreHandler(session.getConnectionState(), JunkScore.JUNK_SCORE_SESSION).setStoredScore(KEY2, SCORE2);
-        SMTPResponse response = handler.onMessage(session);
+        Mail m = getMockMail();
+        SMTPResponse response = handler.onMessage(session,m);
     
-        MimeMessage message = session.getMail().getMessage();
+        MimeMessage message = m.getMessage();
         assertNotNull("Header added",message.getHeader("X-JUNKSCORE")[0]);
         assertNotNull("Header added",message.getHeader("X-JUNKSCORE-COMPOSED")[0]);
         assertNull("Not rejected", response);

Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -45,12 +45,19 @@
 
     private boolean relaying = false;
 
-    private String command = "MAIL";
+    private Mail mockMail = null;
 
     protected void setUp() throws Exception {
         super.setUp();
         setupMockedDnsService();
         setRelayingAllowed(false);
+        mockMail = new MockMail();
+    }
+
+    
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        ContainerUtil.dispose(mockMail);
     }
 
     /**
@@ -134,22 +141,6 @@
 
             HashMap connectionState = new HashMap();
 
-            Mail mail = new MockMail();
-
-            boolean stopHandler = false;
-
-            public void writeResponse(String respString) {
-                // Do nothing
-            }
-
-            public String getCommandName() {
-                return command;
-            }
-
-            public Mail getMail() {
-                return mail;
-            }
-
             public String getRemoteIPAddress() {
                 return ip;
             }
@@ -173,14 +164,6 @@
                 return 0;
             }
 
-            public void setStopHandlerProcessing(boolean b) {
-                stopHandler = b;
-            }
-
-            public boolean getStopHandlerProcessing() {
-                return stopHandler;
-            }
-
             public Map getConnectionState() {
                 return connectionState;
             }
@@ -196,7 +179,7 @@
 
         spf.onCommand(mockedSMTPSession,"RCPT","<" + rcpt + ">");
 
-        spf.onMessage(mockedSMTPSession);
+        spf.onMessage(mockedSMTPSession, mockMail);
     }
 
     public void testSPFpass() throws Exception {
@@ -223,8 +206,7 @@
         assertNotNull("Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
         assertEquals("header", mockedSMTPSession.getState().get(
-                SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
-                .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
+                SPFHandler.SPF_HEADER), mockMail.getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
     }
 
     public void testSPFfail() throws Exception {
@@ -274,8 +256,7 @@
         assertNotNull("Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
         assertEquals("header", mockedSMTPSession.getState().get(
-                SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
-                .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
+                SPFHandler.SPF_HEADER), mockMail.getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
     }
 
     public void testSPFsoftFailRejectEnabled() throws Exception {
@@ -377,8 +358,7 @@
         assertNotNull("Header should present", mockedSMTPSession.getState()
                 .get(SPFHandler.SPF_HEADER));
         assertEquals("header", mockedSMTPSession.getState().get(
-                SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
-                .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
+                SPFHandler.SPF_HEADER), mockMail.getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
     }
 
     public void testSPFpermErrorNotRejectPostmaster() throws Exception {

Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -66,10 +66,6 @@
     private void setupMockedSMTPSession() {
         mockedSMTPSession = new AbstractSMTPSession() {
 
-            public Mail getMail() {
-                return mockedMail;
-            }
-
             public int getRcptCount() {
                 return 0;
             }
@@ -91,9 +87,9 @@
 
         header.setHeaderName(HEADER_NAME);
         header.setHeaderValue(HEADER_VALUE);
-        header.onMessage(mockedSMTPSession);
+        header.onMessage(mockedSMTPSession, mockedMail);
 
-        assertEquals(HEADER_VALUE, mockedSMTPSession.getMail().getMessage()
+        assertEquals(HEADER_VALUE, mockedMail.getMessage()
                 .getHeader(HEADER_NAME)[0]);
     }
 
@@ -111,9 +107,9 @@
 
         header.setHeaderName(HEADER_NAME);
         header.setHeaderValue(HEADER_VALUE);
-        header.onMessage(mockedSMTPSession);
+        header.onMessage(mockedSMTPSession, mockedMail);
 
-        assertEquals(HEADER_VALUE, mockedSMTPSession.getMail().getMessage()
+        assertEquals(HEADER_VALUE, mockedMail.getMessage()
                 .getHeader(HEADER_NAME)[0]);
     }
 

Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -41,10 +41,13 @@
 
 public class SpamAssassinHandlerTest extends TestCase {
     private SMTPSession mockedSMTPSession;
+
+    private Mail mockedMail;
  
     public final static String SPAMD_HOST = "localhost";
 
     private SMTPSession setupMockedSMTPSession(final Mail mail) {
+        mockedMail = mail;
         mockedSMTPSession = new AbstractSMTPSession() {
 
             private HashMap state = new HashMap();
@@ -55,13 +58,6 @@
 
             private boolean relayingAllowed;
 
-            public void abortMessage() {
-            }
-
-            public Mail getMail() {
-                return mail;
-            }
-
             public String getRemoteHost() {
                 return host;
             }
@@ -117,12 +113,12 @@
         handler.setSpamdHost(SPAMD_HOST);
         handler.setSpamdPort(port);
         handler.setSpamdRejectionHits(200.0);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, mockedMail);
 
         assertNull("Email was not rejected", response);
-        assertEquals("email was not spam", session.getMail().getAttribute(
+        assertEquals("email was not spam", mockedMail.getAttribute(
                 SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "NO");
-        assertNotNull("spam hits", session.getMail().getAttribute(
+        assertNotNull("spam hits", mockedMail.getAttribute(
                 SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
 
     }
@@ -140,12 +136,12 @@
         handler.setSpamdHost(SPAMD_HOST);
         handler.setSpamdPort(port);
         handler.setSpamdRejectionHits(2000.0);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, mockedMail);
 
         assertNull("Email was not rejected", response);
-        assertEquals("email was spam", session.getMail().getAttribute(
+        assertEquals("email was spam", mockedMail.getAttribute(
                 SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
-        assertNotNull("spam hits", session.getMail().getAttribute(
+        assertNotNull("spam hits", mockedMail.getAttribute(
                 SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
     }
 
@@ -162,12 +158,12 @@
         handler.setSpamdHost(SPAMD_HOST);
         handler.setSpamdPort(port);
         handler.setSpamdRejectionHits(200.0);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, mockedMail);
 
         assertNotNull("Email was rejected", response);
-        assertEquals("email was spam", session.getMail().getAttribute(
+        assertEquals("email was spam", mockedMail.getAttribute(
                 SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
-        assertNotNull("spam hits", session.getMail().getAttribute(
+        assertNotNull("spam hits", mockedMail.getAttribute(
                 SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
     }
 

Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -55,8 +55,10 @@
     private static final String GOOD_DOMAIN = "good.apache.org";
     private static final String URISERVER = "multi.surbl.org.";
     private SMTPSession mockedSMTPSession;
+    private Mail mockedMail;
 
     private SMTPSession setupMockedSMTPSession(final Mail mail) {
+        mockedMail = mail;
         mockedSMTPSession = new AbstractSMTPSession() {
 
             private HashMap state = new HashMap();
@@ -67,15 +69,6 @@
 
             private boolean relayingAllowed;
 
-            private boolean processing;
-            
-            public void abortMessage() {
-            }
-
-            public Mail getMail() {
-                return mail;
-            }
-
             public String getRemoteHost() {
                 return host;
             }
@@ -96,14 +89,6 @@
             public void setRelayingAllowed(boolean relayingAllowed) {
                 this.relayingAllowed = relayingAllowed;
             }
-            
-            public void setStopHandlerProcessing(boolean processing) {
-                this.processing = processing;
-            }
-            
-            public boolean getStopHandlerProcessing() {
-                return processing;
-            }
         };
 
         return mockedSMTPSession;
@@ -190,7 +175,7 @@
         ContainerUtil.enableLogging(handler, new MockLogger());
         handler.setDnsServer(setupMockedDnsServer());
         handler.setUriRblServer(servers);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, mockedMail);
 
         assertNull("Email was not rejected", response);
     }
@@ -207,7 +192,7 @@
         ContainerUtil.enableLogging(handler, new MockLogger());
         handler.setDnsServer(setupMockedDnsServer());
         handler.setUriRblServer(servers);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, mockedMail);
 
         assertNotNull("Email was rejected", response);
     }
@@ -224,7 +209,7 @@
         ContainerUtil.enableLogging(handler, new MockLogger());
         handler.setDnsServer(setupMockedDnsServer());
         handler.setUriRblServer(servers);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, mockedMail);
 
         assertNotNull("Email was rejected", response);
     }
@@ -244,7 +229,7 @@
         handler.setUriRblServer(servers);
         handler.setAction("junkScore");
         handler.setScore(20);
-        SMTPResponse response = handler.onMessage(session);
+        SMTPResponse response = handler.onMessage(session, mockedMail);
 
         assertNull("Email was not rejected", response);
         assertEquals("JunkScore added", ((JunkScore) session.getState().get(JunkScore.JUNK_SCORE)).getStoredScore("UriRBLCheck"), 20.0, 0d);



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