Author: norman
Date: Wed Sep 23 12:37:29 2009
New Revision: 818078

URL: http://svn.apache.org/viewvc?rev=818078&view=rev
Log:
move avalon configuration dependencies out of smtphandlerchain + remove the 
AbstractConfigurableHandler class again (JAMES-918)

Removed:
    
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/configuration/AbstractConfigurableHandler.java
Modified:
    
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/configuration/Configurable.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandlerChain.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPServer.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/POP3BeforeSMTPHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/TarpitHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptMX.java
    
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
    
james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java

Modified: 
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/configuration/Configurable.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/configuration/Configurable.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/configuration/Configurable.java
 (original)
+++ 
james/server/trunk/avalon-socket-library/src/main/java/org/apache/james/socket/configuration/Configurable.java
 Wed Sep 23 12:37:29 2009
@@ -37,10 +37,4 @@
         */
        public void configure(Configuration config) throws 
ConfigurationException;
        
-       /**
-        * Return the Key XQuery  for the configuration sub note to use. If the 
full configuration should get inject just return null
-        * 
-        * @return configQuery
-        */
-       public String getConfigurationKeyXQuery();
 }

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandlerChain.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandlerChain.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandlerChain.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPHandlerChain.java
 Wed Sep 23 12:37:29 2009
@@ -21,18 +21,16 @@
 
 package org.apache.james.smtpserver;
 
-import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Properties;
 
 import javax.annotation.Resource;
 
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.configuration.DefaultConfiguration;
 import org.apache.avalon.framework.container.ContainerUtil;
+import org.apache.commons.configuration.BaseConfiguration;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.james.api.kernel.LoaderService;
@@ -55,7 +53,6 @@
     private Log log = FALLBACK_LOG;
     
     /** Configuration for this chain */
-    private Configuration configuration;
     private JamesConfiguration commonsConf;
     
     private List<Object> handlers = new LinkedList<Object>();
@@ -109,66 +106,50 @@
         }
     }
 
+       public void configure(JamesConfiguration commonsConf) {
+               this.commonsConf =  commonsConf;
+       }
+
+       public String getConfigurationKeyXQuery() {
+               return "smtphandlerchain";
+       }
+       
     /**
      * loads the various handlers from the configuration
      * 
      * @param configuration
      *            configuration under handlerchain node
      */
-    public void configure(Configuration configuration)
-            throws ConfigurationException {
-        if (configuration == null
-                || configuration.getChildren("handler") == null
-                || configuration.getChildren("handler").length == 0) {
-            configuration = new DefaultConfiguration("handlerchain");
-            Properties cmds = new Properties();
-            cmds.setProperty("Default CoreCmdHandlerLoader", 
CoreCmdHandlerLoader.class
-                    .getName());
-            Enumeration<Object> e = cmds.keys();
-            while (e.hasMoreElements()) {
-                String cmdName = (String) e.nextElement();
-                String className = cmds.getProperty(cmdName);
-                ((DefaultConfiguration) configuration).addChild(addHandler(
-                        cmdName, className));
-            }
-        }
-        try {
-                       commonsConf = new JamesConfiguration(configuration);
-               } catch 
(org.apache.commons.configuration.ConfigurationException e) {
-                       throw new ConfigurationException("Unable to wrap 
configuration",e);
-               }
-        this.configuration = configuration;
-        
-    }
-
-    private void loadHandlers() throws Exception {
-        if (configuration != null) {
-            Configuration[] children = configuration.getChildren("handler");
+    @SuppressWarnings("unchecked")
+       private void loadHandlers() throws Exception {
+        if (commonsConf != null) {
+            List<org.apache.commons.configuration.Configuration> children = 
commonsConf.configurationsAt("handler");
             ClassLoader classLoader = 
Thread.currentThread().getContextClassLoader();
 
             // load the configured handlers
-            if (children != null) {
+            if (children != null && children.isEmpty() == false) {
 
                 // load the core handlers
                 loadClass(classLoader, CoreCmdHandlerLoader.class.getName(),
-                        addHandler(null, 
CoreCmdHandlerLoader.class.getName()));
+                        addHandler(CoreCmdHandlerLoader.class.getName()));
                 
-                for (int i = 0; i < children.length; i++) {
-                    String className = children[i].getAttribute("class");
-                    if (className != null) {
+                for (int i = 0; i < children.size(); i++) {
+                       org.apache.commons.configuration.Configuration hConf = 
children.get(i);
+                    String className = hConf.getString("@class");
 
+                    if (className != null) {
                         // ignore base handlers.
                         if (!className.equals(CoreCmdHandlerLoader.class
                                         .getName())) {
 
                             // load the handler
-                            loadClass(classLoader, className, children[i]);
+                            loadClass(classLoader, className, hConf);
                         }
                     }
                 }
                 // load core messageHandlers
                 loadClass(classLoader, CoreMessageHookLoader.class.getName(),
-                        addHandler(null, 
CoreMessageHookLoader.class.getName()));
+                        addHandler(CoreMessageHookLoader.class.getName()));
 
             }
         }
@@ -203,7 +184,7 @@
      * @throws ConfigurationException Get thrown on error
      */
     private void loadClass(ClassLoader classLoader, String className,
-            Configuration config) throws Exception {
+               org.apache.commons.configuration.Configuration config) throws 
Exception {
         final Class<?> handlerClass = classLoader.loadClass(className);
         Object handler = loader.load(handlerClass);
 
@@ -215,14 +196,7 @@
         // configure the handler
         if (handler instanceof 
org.apache.james.socket.configuration.Configurable) {
                org.apache.james.socket.configuration.Configurable 
configurableHandler = (org.apache.james.socket.configuration.Configurable) 
handler;
-               String query  = configurableHandler.getConfigurationKeyXQuery();
-               org.apache.commons.configuration.Configuration handlerConf;
-               if (query != null) {
-                       handlerConf = commonsConf.configurationAt(query);
-               } else {
-                       handlerConf = commonsConf;
-               }
-               configurableHandler.configure(handlerConf);
+               configurableHandler.configure(config);
         }
 
         // if it is a commands handler add it to the map with key as command
@@ -233,9 +207,7 @@
             for (Iterator<String> i = c.iterator(); i.hasNext(); ) {
                 String cName = i.next();
 
-                DefaultConfiguration cmdConf = new DefaultConfiguration(
-                        "handler");
-                cmdConf.setAttribute("class", cName);
+                Configuration cmdConf = addHandler(cName);
 
                 loadClass(classLoader, cName, cmdConf);
             }
@@ -256,12 +228,12 @@
      * @param cmdName The command name
      * @param className The class name
      * @return DefaultConfiguration
+     * @throws ConfigurationException 
      */
-    private DefaultConfiguration addHandler(String cmdName, String className) {
-        DefaultConfiguration cmdConf = new DefaultConfiguration("handler");
-        cmdConf.setAttribute("command",cmdName);
-        cmdConf.setAttribute("class",className);
-        return cmdConf;
+    private Configuration addHandler(String className) throws 
ConfigurationException {
+       Configuration hConf = new BaseConfiguration();
+       hConf.addProperty("handler/@class", className);
+        return hConf;
     }
     
     /**

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPServer.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPServer.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPServer.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/SMTPServer.java
 Wed Sep 23 12:37:29 2009
@@ -34,6 +34,7 @@
 import org.apache.james.services.MailServer;
 import org.apache.james.socket.AbstractProtocolServer;
 import org.apache.james.socket.ProtocolHandler;
+import org.apache.james.socket.configuration.JamesConfiguration;
 import org.apache.mailet.MailetContext;
 
 /**
@@ -240,7 +241,7 @@
         handlerChain.setLog(new AvalonLogger(getLogger()));
         
         //read from the XML configuration and create and configure each of the 
handlers
-        handlerChain.configure(handlerConfiguration.getChild("handlerchain"));
+        handlerChain.configure(new 
JamesConfiguration(handlerConfiguration.getChild("handlerchain")));
         handlerChain.initialize();
     }
 

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/POP3BeforeSMTPHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/POP3BeforeSMTPHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/POP3BeforeSMTPHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/POP3BeforeSMTPHandler.java
 Wed Sep 23 12:37:29 2009
@@ -24,14 +24,13 @@
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.smtpserver.ConnectHandler;
 import org.apache.james.smtpserver.SMTPSession;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
 import org.apache.james.util.POP3BeforeSMTPHelper;
 import org.apache.james.util.TimeConverter;
 
 /**
  * This ConnectHandler can be used to activate pop-before-smtp
  */
-public class POP3BeforeSMTPHandler extends AbstractConfigurableHandler 
implements ConnectHandler {
+public class POP3BeforeSMTPHandler implements ConnectHandler {
 
     /**
      * The time after which ipAddresses should be handled as expired

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
 Wed Sep 23 12:37:29 2009
@@ -29,14 +29,13 @@
 import org.apache.james.smtpserver.hook.HookResult;
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.MessageHook;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
 import org.apache.mailet.Mail;
 
 
 /**
   * Adds the header to the message
   */
-public class SetMimeHeaderHandler extends AbstractConfigurableHandler 
implements MessageHook {
+public class SetMimeHeaderHandler implements MessageHook {
 
     /**
      * The header name and value that needs to be added

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/DNSRBLHandler.java
 Wed Sep 23 12:37:29 2009
@@ -40,13 +40,13 @@
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
 import org.apache.james.socket.LogEnabled;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 
 /**
   * Connect handler for DNSRBL processing
   */
-public class DNSRBLHandler extends AbstractConfigurableHandler implements 
LogEnabled, ConnectHandler, RcptHook {
+public class DNSRBLHandler implements LogEnabled, ConnectHandler, RcptHook, 
Configurable{
     
     /** This log is the fall back shared by all instances */
     private static final Log FALLBACK_LOG = 
LogFactory.getLog(DNSRBLHandler.class);

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/GreylistHandler.java
 Wed Sep 23 12:37:29 2009
@@ -52,7 +52,7 @@
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
 import org.apache.james.socket.LogEnabled;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.james.util.TimeConverter;
 import org.apache.james.util.sql.JDBCUtil;
 import org.apache.james.util.sql.SqlResources;
@@ -61,7 +61,7 @@
 /**
  * GreylistHandler which can be used to activate Greylisting
  */
-public class GreylistHandler extends AbstractConfigurableHandler implements 
LogEnabled, RcptHook, Initializable {
+public class GreylistHandler implements LogEnabled, RcptHook, Initializable, 
Configurable {
 
     /** This log is the fall back shared by all instances */
     private static final Log FALLBACK_LOG = 
LogFactory.getLog(GreylistHandler.class);

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/MaxRcptHandler.java
 Wed Sep 23 12:37:29 2009
@@ -30,10 +30,10 @@
 import org.apache.james.smtpserver.hook.HookResult;
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 
-public class MaxRcptHandler extends AbstractConfigurableHandler implements 
RcptHook {
+public class MaxRcptHandler implements RcptHook, Configurable {
 
     private int maxRcpt = 0;
 

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ResolvableEhloHeloHandler.java
 Wed Sep 23 12:37:29 2009
@@ -33,14 +33,14 @@
 import org.apache.james.smtpserver.hook.HookResult;
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 
 
 /**
  * This CommandHandler can be used to reject not resolvable EHLO/HELO
  */
-public class ResolvableEhloHeloHandler extends AbstractConfigurableHandler 
implements RcptHook, HeloHook {
+public class ResolvableEhloHeloHandler implements RcptHook, 
HeloHook,Configurable {
 
     public final static String BAD_EHLO_HELO = "BAD_EHLO_HELO";
 

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
 Wed Sep 23 12:37:29 2009
@@ -39,7 +39,7 @@
 import org.apache.james.smtpserver.hook.MessageHook;
 import org.apache.james.smtpserver.hook.RcptHook;
 import org.apache.james.socket.LogEnabled;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 
@@ -55,7 +55,7 @@
  * &lt;checkAuthNetworks&gt;false&lt/checkAuthNetworks&gt; 
  * &lt;/handler&gt;
  */
-public class SPFHandler extends AbstractConfigurableHandler implements 
LogEnabled, MailHook, RcptHook, MessageHook {
+public class SPFHandler implements LogEnabled, MailHook, RcptHook, 
MessageHook,Configurable {
     
     /** This log is the fall back shared by all instances */
     private static final Log FALLBACK_LOG = 
LogFactory.getLog(SPFHandler.class);

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
 Wed Sep 23 12:37:29 2009
@@ -32,7 +32,7 @@
 import org.apache.james.smtpserver.hook.HookResult;
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.MessageHook;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.james.util.scanner.SpamAssassinInvoker;
 import org.apache.mailet.Mail;
 
@@ -52,7 +52,7 @@
  * &lt;spamdRejectionHits&gt;15.0&lt;/spamdRejectionHits&gt;
  * &lt;checkAuthNetworks&gt;false&lt;/checkAuthNetworks&gt; &lt;/handler&gt;
  */
-public class SpamAssassinHandler extends AbstractConfigurableHandler 
implements MessageHook {
+public class SpamAssassinHandler implements MessageHook, Configurable {
 
     /**
      * The port spamd is listen on

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/SpamTrapHandler.java
 Wed Sep 23 12:37:29 2009
@@ -32,14 +32,14 @@
 import org.apache.james.smtpserver.hook.HookResult;
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 
 /**
  * This handler can be used for providing a spam trap. IPAddresses which send 
emails to the configured
  * recipients will get blacklisted for the configured time.
  */
-public class SpamTrapHandler extends AbstractConfigurableHandler implements 
RcptHook {
+public class SpamTrapHandler implements RcptHook, Configurable {
 
     /** Map which hold blockedIps and blockTime in memory */
     private Map<String,Long> blockedIps = new HashMap<String,Long>();

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/TarpitHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/TarpitHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/TarpitHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/TarpitHandler.java
 Wed Sep 23 12:37:29 2009
@@ -28,14 +28,14 @@
 import org.apache.james.smtpserver.hook.HookResult;
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 
 /**
  * Add tarpit support to SMTPServer. See 
http://www.palomine.net/qmail/tarpit.html for more information
  *
  */
-public class TarpitHandler extends AbstractConfigurableHandler implements 
RcptHook {
+public class TarpitHandler implements RcptHook, Configurable {
 
     private int tarpitRcptCount = 0;
 

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
 Wed Sep 23 12:37:29 2009
@@ -47,13 +47,13 @@
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.MessageHook;
 import org.apache.james.socket.LogEnabled;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.Mail;
 
 /**
  * Extract domains from message and check against URIRBLServer. For more 
informations see http://www.surbl.org
  */
-public class URIRBLHandler extends AbstractConfigurableHandler implements 
LogEnabled, MessageHook {
+public class URIRBLHandler implements LogEnabled, MessageHook, Configurable {
 
     /** This log is the fall back shared by all instances */
     private static final Log FALLBACK_LOG = 
LogFactory.getLog(URIRBLHandler.class);

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptHandler.java
 Wed Sep 23 12:37:29 2009
@@ -44,7 +44,7 @@
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
 import org.apache.james.socket.LogEnabled;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 import org.apache.oro.text.regex.MalformedPatternException;
 import org.apache.oro.text.regex.Pattern;
@@ -54,7 +54,7 @@
 /**
  * Handler which reject invalid recipients
  */
-public class ValidRcptHandler extends AbstractConfigurableHandler implements 
LogEnabled, RcptHook {
+public class ValidRcptHandler implements LogEnabled, RcptHook, Configurable {
     
 
     /** This log is the fall back shared by all instances */

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptMX.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptMX.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptMX.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidRcptMX.java
 Wed Sep 23 12:37:29 2009
@@ -41,14 +41,14 @@
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.RcptHook;
 import org.apache.james.socket.LogEnabled;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 
 /**
  * This class can be used to reject email with bogus MX which is send from a 
authorized user or an authorized
  * network.
  */
-public class ValidRcptMX extends AbstractConfigurableHandler implements 
LogEnabled, RcptHook {
+public class ValidRcptMX implements LogEnabled, RcptHook, Configurable{
 
     /** This log is the fall back shared by all instances */
     private static final Log FALLBACK_LOG = 
LogFactory.getLog(ValidRcptMX.class);

Modified: 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/core/filter/fastfail/ValidSenderDomainHandler.java
 Wed Sep 23 12:37:29 2009
@@ -32,14 +32,14 @@
 import org.apache.james.smtpserver.hook.HookResult;
 import org.apache.james.smtpserver.hook.HookReturnCode;
 import org.apache.james.smtpserver.hook.MailHook;
-import org.apache.james.socket.configuration.AbstractConfigurableHandler;
+import org.apache.james.socket.configuration.Configurable;
 import org.apache.mailet.MailAddress;
 
 /**
  * Add MFDNSCheck feature to SMTPServer. This handler reject mail from domains 
which have not an an valid MX record.  
  * 
  */
-public class ValidSenderDomainHandler extends AbstractConfigurableHandler 
implements MailHook {
+public class ValidSenderDomainHandler implements MailHook, Configurable {
     
     private boolean checkAuthNetworks = false;
     private DNSService dnsService = null;

Modified: 
james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java?rev=818078&r1=818077&r2=818078&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
 (original)
+++ 
james/server/trunk/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
 Wed Sep 23 12:37:29 2009
@@ -165,7 +165,6 @@
         if (m_useRBL) {
             DefaultConfiguration handler = new DefaultConfiguration("handler");
             handler.setAttribute("class", DNSRBLHandler.class.getName());
-            handler.setAttribute("command", "RCPT");
 
             DefaultConfiguration blacklist = new DefaultConfiguration(
                     "blacklist");
@@ -180,49 +179,41 @@
         }
         if (m_heloResolv || m_ehloResolv) {
             DefaultConfiguration d = createHandler(
-                    ResolvableEhloHeloHandler.class.getName(), null);
-            d.setAttribute("command", "EHLO,HELO,RCPT");
+                    ResolvableEhloHeloHandler.class.getName());
             d.addChild(Util.getValuedConfiguration("checkAuthNetworks",
                     m_checkAuthNetworks + ""));
             config.addChild(d);
         }
         if (m_reverseEqualsHelo || m_reverseEqualsEhlo) {
             DefaultConfiguration d = createHandler(
-                    ReverseEqualsEhloHeloHandler.class.getName(), null);
-            d.setAttribute("command", "EHLO,HELO,RCPT");
+                    ReverseEqualsEhloHeloHandler.class.getName());
             d.addChild(Util.getValuedConfiguration("checkAuthNetworks",
                     m_checkAuthNetworks + ""));
             config.addChild(d);
         }
         if (m_senderDomainResolv) {
             DefaultConfiguration d = createHandler(
-                    ValidSenderDomainHandler.class.getName(), null);
-            d.setAttribute("command", "MAIL");
+                    ValidSenderDomainHandler.class.getName());
             d.addChild(Util.getValuedConfiguration("checkAuthNetworks",
                     m_checkAuthNetworks + ""));
             config.addChild(d);
         }
         if (m_maxRcpt > 0) {
             DefaultConfiguration d = createHandler(MaxRcptHandler.class
-                    .getName(), null);
-            d.setAttribute("command", "RCPT");
+                    .getName());
             d.addChild(Util.getValuedConfiguration("maxRcpt", m_maxRcpt + ""));
             config.addChild(d);
         }
        
         
-        config.addChild(createHandler(CoreCmdHandlerLoader.class.getName(),
-                null));
+        config.addChild(createHandler(CoreCmdHandlerLoader.class.getName()));
         handlerConfig.addChild(config);
         addChild(handlerConfig);
     }
 
-    private DefaultConfiguration createHandler(String className,
-            String commandName) {
+    private DefaultConfiguration createHandler(String className) {
         DefaultConfiguration d = new DefaultConfiguration("handler");
-        if (commandName != null) {
-            d.setAttribute("command", commandName);
-        }
+       
         d.setAttribute("class", className);
         return d;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to