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 12:12:10 UTC
svn commit: r490480 - in /james/server/sandbox/handlerapi-experiment/src:
java/org/apache/james/smtpserver/core/filter/fastfail/
test/org/apache/james/smtpserver/
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org