Author: bago
Date: Wed Dec 27 03:12:10 2006
New Revision: 490480

URL: http://svn.apache.org/viewvc?view=rev&rev=490480
Log:
Removed ConnectHandler hack from JunkScoreHandler. Added a public static method 
to JunkScoreHandler to lazy get the junkscore map.

Modified:
    
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/AbstractJunkHandler.java
    
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.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/ResolvableEhloHeloHandler.java
    
james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java

Modified: 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/AbstractJunkHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/AbstractJunkHandler.java?view=diff&rev=490480&r1=490479&r2=490480
==============================================================================
--- 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/AbstractJunkHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/AbstractJunkHandler.java
 Wed Dec 27 03:12:10 2006
@@ -137,6 +137,6 @@
      * @return junkScore
      */
     protected JunkScore getJunkScore(SMTPSession session) {
-        return (JunkScore) session.getState().get(JunkScore.JUNK_SCORE);
+        return JunkScoreHandler.getLazyJunkScoreHandler(session.getState(), 
JunkScore.JUNK_SCORE);
     }
 }

Modified: 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java?view=diff&rev=490480&r1=490479&r2=490480
==============================================================================
--- 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 Wed Dec 27 03:12:10 2006
@@ -279,7 +279,7 @@
      * @see 
org.apache.james.smtpserver.core.filter.fastfail.AbstractJunkHandler#getJunkScore(org.apache.james.smtpserver.SMTPSession)
      */
     protected JunkScore getJunkScore(SMTPSession session) {
-        return (JunkScore) 
session.getConnectionState().get(JunkScore.JUNK_SCORE_SESSION);
+        return 
JunkScoreHandler.getLazyJunkScoreHandler(session.getConnectionState(), 
JunkScore.JUNK_SCORE_SESSION);
     }
     
     /**

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=490480&r1=490479&r2=490480
==============================================================================
--- 
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 03:12:10 2006
@@ -17,9 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
-
-
 package org.apache.james.smtpserver.core.filter.fastfail;
 
 import java.util.Iterator;
@@ -32,7 +29,6 @@
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.james.smtpserver.ConnectHandler;
 import org.apache.james.smtpserver.MessageHandler;
 import org.apache.james.smtpserver.SMTPResponse;
 import org.apache.james.smtpserver.SMTPSession;
@@ -49,7 +45,7 @@
  * -Compose action stores the junkScore values in the mail attributes
  * -Header action create headers which holds the junkScore for each check
  */
-public class JunkScoreHandler extends AbstractLogEnabled implements 
ConnectHandler, MessageHandler,Configurable {
+public class JunkScoreHandler extends AbstractLogEnabled implements 
MessageHandler, Configurable {
 
     private double maxScore = 0;
     private String action;
@@ -110,8 +106,9 @@
      * @param session the SMTPSession
      */
     private SMTPResponse checkScore(SMTPSession session) {
-        JunkScore score1 = (JunkScore) 
session.getConnectionState().get(JunkScore.JUNK_SCORE_SESSION);
-        JunkScore score2 = (JunkScore) 
session.getState().get(JunkScore.JUNK_SCORE);
+        JunkScore score1 = 
getLazyJunkScoreHandler(session.getConnectionState(),JunkScore.JUNK_SCORE_SESSION);
+        JunkScore score2 = 
getLazyJunkScoreHandler(session.getState(),JunkScore.JUNK_SCORE);
+        
         JunkScore composed = new ComposedJunkScore(score1,score2);
         
         if (action.equals(COMPOSE_ACTION)) {
@@ -160,12 +157,13 @@
         }
         return null;
     }
-        
-    /**
-     * @see 
org.apache.james.smtpserver.ConnectHandler#onConnect(org.apache.james.smtpserver.SMTPSession)
-     */
-    public void onConnect(SMTPSession session) {
-        session.getState().put(JunkScore.JUNK_SCORE, new JunkScoreImpl());
-        session.getConnectionState().put(JunkScore.JUNK_SCORE_SESSION, new 
JunkScoreImpl());
-    } 
+    
+    public static JunkScore getLazyJunkScoreHandler(Map state, String key) {
+        JunkScore score = (JunkScore) state.get(key);
+        if (score == null) {
+            score = new JunkScoreImpl();
+            state.put(key, score);
+        }
+        return score;
+    }
 }

Modified: 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java?view=diff&rev=490480&r1=490479&r2=490480
==============================================================================
--- 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
 Wed Dec 27 03:12:10 2006
@@ -184,7 +184,7 @@
      * @see 
org.apache.james.smtpserver.core.filter.fastfail.AbstractJunkHandler#getJunkScore(org.apache.james.smtpserver.SMTPSession)
      */
     protected JunkScore getJunkScore(SMTPSession session) {
-        return (JunkScore) 
session.getConnectionState().get(JunkScore.JUNK_SCORE_SESSION);
+        return 
JunkScoreHandler.getLazyJunkScoreHandler(session.getConnectionState(), 
JunkScore.JUNK_SCORE_SESSION);
     }
     
     /**

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=490480&r1=490479&r2=490480
==============================================================================
--- 
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 03:12:10 2006
@@ -107,7 +107,6 @@
     
         handler.setAction("reject");
         handler.setMaxScore(15.0);
-        handler.onConnect(session);
         handler.onMessage(session);
 
         assertNull("Not rejected",response);
@@ -125,9 +124,8 @@
     
         handler.setAction("header");
 
-        handler.onConnect(session);
-        ((JunkScore) 
session.getState().get(JunkScore.JUNK_SCORE)).setStoredScore(KEY1, SCORE1);
-        ((JunkScore) 
session.getConnectionState().get(JunkScore.JUNK_SCORE_SESSION)).setStoredScore(KEY2,
 SCORE2);
+        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);
     
         MimeMessage message = session.getMail().getMessage();



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

Reply via email to