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 no...@apache.org on 2009/12/27 13:01:57 UTC

svn commit: r894058 [2/3] - in /james/server/sandbox/active/pure_spring_deployment: avalon-socket-library/src/main/java/org/apache/james/socket/ avalon-user-function/src/main/java/org/apache/james/core/ avalon-user-function/src/main/java/org/apache/jam...

Modified: james/server/sandbox/active/pure_spring_deployment/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractAsyncServer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractAsyncServer.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractAsyncServer.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractAsyncServer.java Sun Dec 27 12:01:18 2009
@@ -31,6 +31,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.james.api.dnsservice.DNSService;
 import org.apache.james.api.kernel.LoaderService;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.FileSystem;
 import org.apache.james.services.MailServer;
 import org.apache.james.socket.mina.filter.ConnectionFilter;
@@ -50,7 +52,7 @@
  * Abstract base class for Servers which want to use async io
  *
  */
-public abstract class AbstractAsyncServer {
+public abstract class AbstractAsyncServer implements LogEnabled, Configurable{
     /**
      * The default value for the connection backlog.
      */
@@ -159,90 +161,15 @@
         this.mailetcontext = mailetcontext;
     }
 
-    @Resource(name="org.apache.commons.logging.Log")
     public final void setLog(Log logger) {
        this.logger = logger;
     }
 
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public final void setConfiguration(HierarchicalConfiguration config) {
-        this.config = config;
-    }
-    
-    
-    @PostConstruct
-    public void init() throws Exception {
-        configure(config);
-        doConfigure(config);
-        if (isEnabled()) {
-            preInit();
-            buildSSLContextFactory();
-            SocketAcceptor acceptor = new NioSocketAcceptor();  
-            acceptor.setFilterChainBuilder(createIoFilterChainBuilder());
-            acceptor.setBacklog(backlog);
-            acceptor.setReuseAddress(true);
-            acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, timeout );
-            acceptor.setHandler(createIoHandler());
-            acceptor.bind(new InetSocketAddress(bindTo,port));
-        }
-    }
-
-    /**
-     * This method is called on init of the Server. Subclasses should override this method to init stuff
-     *
-     * @throws Exception 
-     */
-    protected void preInit() throws Exception {
-        // override me
-    }
-    
-    protected void doConfigure(HierarchicalConfiguration config) throws Exception {
-        // override me
-    }
-
-    /**
-     * Return the DNSService
-     * 
-     * @return dns
-     */
-    protected DNSService getDNSService() {
-        return dns;
-    }
-    
-    /**
-     * Return the MailServer
-     * 
-     * @return mailServer
-     */
-    protected MailServer getMailServer() {
-        return mailServer;
-    }
-    
-    /**
-     * Return the MailetContext
-     * 
-     * @return mailetContext
-     */
-    protected MailetContext getMailetContext() {
-        return mailetcontext;
-    }
-    
-    /**
-     * Return the FileSystem
-     * 
-     * @return fileSystem
-     */
-    protected FileSystem getFileSystem() {
-        return fileSystem;
-    }
-    
-
-    private void configure(Configuration configuration) throws ConfigurationException {
-        if ((configuration instanceof HierarchicalConfiguration) == false) throw new ConfigurationException("Configuration must extend HierarchicalConfiguration");
-       
-        Configuration handlerConfiguration = ((HierarchicalConfiguration)configuration).configurationAt("handler");
+    public final void configure(HierarchicalConfiguration config) throws ConfigurationException{
+        
+        Configuration handlerConfiguration = ((HierarchicalConfiguration)config).configurationAt("handler");
 
-        enabled = configuration.getBoolean("[@enabled]", true);
+        enabled = config.getBoolean("[@enabled]", true);
         
         final Log logger = getLogger();
         if (!enabled) {
@@ -257,7 +184,7 @@
         setStreamDumpDir(streamdumpDir);
         */
 
-        port = configuration.getInt("port",getDefaultPort());
+        port = config.getInt("port",getDefaultPort());
 
      
 
@@ -265,7 +192,7 @@
         
 
         try {
-            final String bindAddress = configuration.getString("bind",null);
+            final String bindAddress = config.getString("bind",null);
             if( null != bindAddress ) {
                 bindTo = InetAddress.getByName(bindAddress);
                 infoBuffer =
@@ -291,7 +218,7 @@
                     .append(timeout);
         logger.info(infoBuffer.toString());
 
-        backlog = configuration.getInt(BACKLOG_NAME,DEFAULT_BACKLOG);
+        backlog = config.getInt(BACKLOG_NAME,DEFAULT_BACKLOG);
 
         infoBuffer =
                     new StringBuilder(64)
@@ -301,7 +228,7 @@
         logger.info(infoBuffer.toString());
 
         
-        String connectionLimitString = configuration.getString("connectionLimit",null);
+        String connectionLimitString = config.getString("connectionLimit",null);
         if (connectionLimitString != null) {
             try {
                 connectionLimit = new Integer(connectionLimitString);
@@ -342,18 +269,85 @@
         }
        
 
-        useStartTLS = configuration.getBoolean("startTLS.[@enable]", false);
+        useStartTLS = config.getBoolean("startTLS.[@enable]", false);
 
         if (useStartTLS) {
-            keystore = configuration.getString("startTLS.keystore", null);
+            keystore = config.getString("startTLS.keystore", null);
             if (keystore == null) {
                 throw new ConfigurationException("keystore needs to get configured");
             }
-            secret = configuration.getString("startTLS.secret","");
+            secret = config.getString("startTLS.secret","");
         }
              
+        doConfigure(config);
+
+    }
+    
+    
+    @PostConstruct
+    public void init() throws Exception {
+        if (isEnabled()) {
+            preInit();
+            buildSSLContextFactory();
+            SocketAcceptor acceptor = new NioSocketAcceptor();  
+            acceptor.setFilterChainBuilder(createIoFilterChainBuilder());
+            acceptor.setBacklog(backlog);
+            acceptor.setReuseAddress(true);
+            acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, timeout );
+            acceptor.setHandler(createIoHandler());
+            acceptor.bind(new InetSocketAddress(bindTo,port));
+        }
     }
 
+    /**
+     * This method is called on init of the Server. Subclasses should override this method to init stuff
+     *
+     * @throws Exception 
+     */
+    protected void preInit() throws Exception {
+        // override me
+    }
+    
+    protected void doConfigure(HierarchicalConfiguration config) throws ConfigurationException {
+        // override me
+    }
+
+    /**
+     * Return the DNSService
+     * 
+     * @return dns
+     */
+    protected DNSService getDNSService() {
+        return dns;
+    }
+    
+    /**
+     * Return the MailServer
+     * 
+     * @return mailServer
+     */
+    protected MailServer getMailServer() {
+        return mailServer;
+    }
+    
+    /**
+     * Return the MailetContext
+     * 
+     * @return mailetContext
+     */
+    protected MailetContext getMailetContext() {
+        return mailetcontext;
+    }
+    
+    /**
+     * Return the FileSystem
+     * 
+     * @return fileSystem
+     */
+    protected FileSystem getFileSystem() {
+        return fileSystem;
+    }
+   
     
     /**
      * Configure the helloName for the given Configuration

Modified: james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/main/java/org/apache/james/nntpserver/repository/NNTPRepositoryImpl.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/main/java/org/apache/james/nntpserver/repository/NNTPRepositoryImpl.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/main/java/org/apache/james/nntpserver/repository/NNTPRepositoryImpl.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/main/java/org/apache/james/nntpserver/repository/NNTPRepositoryImpl.java Sun Dec 27 12:01:18 2009
@@ -24,6 +24,8 @@
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.nntpserver.DateSinceFileFilter;
 import org.apache.james.nntpserver.NNTPException;
 import org.apache.james.services.FileSystem;
@@ -53,7 +55,7 @@
 /**
  * NNTP Repository implementation.
  */
-public class NNTPRepositoryImpl implements NNTPRepository {
+public class NNTPRepositoryImpl implements NNTPRepository, Configurable, LogEnabled {
 
     /**
      * The configuration employed by this repository
@@ -142,31 +144,8 @@
 
     private Log logger;
 
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         this.configuration = configuration;
-    }
-    
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
-        this.logger = logger;
-    }
-
-    /**
-     * Setter for the FileSystem dependency
-     * 
-     * @param system filesystem service
-     */
-    @Resource(name="filesystem")
-    public void setFileSystem(FileSystem system) {
-        this.fileSystem = system;
-    }
-    
-    /**
-     * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
-     */
-    @SuppressWarnings("unchecked")
-    private void configure() throws ConfigurationException {
         readOnly = configuration.getBoolean("readOnly", false);
         articleIDDomainSuffix = configuration.getString("articleIDDomainSuffix", "foo.bar.sho.boo");
         rootPathString = configuration.getString("rootPath", null);
@@ -204,12 +183,26 @@
         }
         logger.debug("Repository configuration done");
     }
+    
+    public void setLog(Log logger) {
+        this.logger = logger;
+    }
+
+    /**
+     * Setter for the FileSystem dependency
+     * 
+     * @param system filesystem service
+     */
+    @Resource(name="filesystem")
+    public void setFileSystem(FileSystem system) {
+        this.fileSystem = system;
+    }
+    
 
     @PostConstruct
     public void init() throws Exception {
 
         logger.debug("Starting initialize");
-        configure();
         File articleIDPath = null;
 
         try {

Modified: james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/test/java/org/apache/james/nntpserver/NNTPServerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/test/java/org/apache/james/nntpserver/NNTPServerTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/test/java/org/apache/james/nntpserver/NNTPServerTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/test/java/org/apache/james/nntpserver/NNTPServerTest.java Sun Dec 27 12:01:18 2009
@@ -108,10 +108,10 @@
 			throws Exception {
 		testConfiguration.init();
 		ConfigurationAdapter conf = new ConfigurationAdapter(testConfiguration);
-		m_nntpServer.setConfiguration(conf);
+		m_nntpServer.configure(conf);
 		m_nntpServer.init();
 		
-		protoserver.setConfiguration(conf);
+		protoserver.configure(conf);
 		protoserver.init();
 	}
 
@@ -153,8 +153,7 @@
 		connectionManager = new SimpleConnectionManager();
 	    connectionManager.setThreadManager(threadManager);
 	    connectionManager.setLog(new SimpleLog("CM"));
-	    connectionManager.setConfiguration(new DefaultConfigurationBuilder());
-	    connectionManager.init();
+	    connectionManager.configure(new DefaultConfigurationBuilder());
 	                
 	    serviceManager.put(JamesConnectionManager.ROLE, connectionManager);
 	        

Modified: james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/JamesTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/JamesTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/JamesTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/JamesTest.java Sun Dec 27 12:01:18 2009
@@ -66,12 +66,11 @@
         james.setSpoolRepository(mockMailRepository);
         james.setStore(mockStore);
         james.setUsersRepository(mockUsersRepository);
-        james.setLogger(new SimpleLog("JamesLog"));
-        james.setMailetLogger(new SimpleLog("MailetLog"));
+        james.setLog(new SimpleLog("JamesLog"));
         try {
             JamesTestConfiguration conf = new JamesTestConfiguration();
             conf.init();
-            james.setConfiguration(new ConfigurationAdapter(conf));
+            james.configure(new ConfigurationAdapter(conf));
             james.init();
         } catch (Exception e) {
             e.printStackTrace();
@@ -83,9 +82,8 @@
     protected void setUp() throws Exception{
         super.setUp();
         mockUsersRepository = new MockUsersRepository();
-        mockUsersRepository.setLogger(new SimpleLog("MockLog"));
-        mockUsersRepository.setConfiguration(new DefaultConfigurationBuilder());
-        mockUsersRepository.init();
+        mockUsersRepository.setLog(new SimpleLog("MockLog"));
+        mockUsersRepository.configure(new DefaultConfigurationBuilder());
         
         usersStore = new MockUsersStore(mockUsersRepository);
         

Modified: james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/smtpserver/SMTPServerRemoteDeliveryIntegrationTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/smtpserver/SMTPServerRemoteDeliveryIntegrationTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/smtpserver/SMTPServerRemoteDeliveryIntegrationTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/smtpserver/SMTPServerRemoteDeliveryIntegrationTest.java Sun Dec 27 12:01:18 2009
@@ -218,10 +218,10 @@
     private void finishSetUp(SMTPTestConfiguration testConfiguration) throws Exception {
         testConfiguration.init();
         ConfigurationAdapter conf = new ConfigurationAdapter(testConfiguration);
-        m_smtpServer.setConfiguration(conf);
+        m_smtpServer.configure(conf);
         m_smtpServer.init();
         
-        protoserver.setConfiguration(conf);
+        protoserver.configure(conf);
         protoserver.init();
         m_mailServer.setMaxMessageSizeBytes(m_testConfiguration.getMaxMessageSize()*1024);
     }
@@ -246,8 +246,7 @@
         connectionManager = new SimpleConnectionManager();
         connectionManager.setThreadManager(threadManager);
         connectionManager.setLog(new SimpleLog("CM"));
-        connectionManager.setConfiguration(new DefaultConfigurationBuilder());
-        connectionManager.init();
+        connectionManager.configure(new DefaultConfigurationBuilder());
         m_serviceManager.put(SimpleConnectionManager.ROLE, connectionManager);
         
         m_dnsServer = new AlterableDNSServer();

Modified: james/server/sandbox/active/pure_spring_deployment/pop3server-function/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/pop3server-function/src/test/java/org/apache/james/pop3server/POP3ServerTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/pop3server-function/src/test/java/org/apache/james/pop3server/POP3ServerTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/pop3server-function/src/test/java/org/apache/james/pop3server/POP3ServerTest.java Sun Dec 27 12:01:18 2009
@@ -119,10 +119,10 @@
             throws Exception {
         testConfiguration.init();
         ConfigurationAdapter conf = new ConfigurationAdapter(testConfiguration);
-        m_pop3Server.setConfiguration(conf);
+        m_pop3Server.configure(conf);
         m_pop3Server.init();
         
-        protoserver.setConfiguration(conf);
+        protoserver.configure(conf);
         protoserver.init();
     }
 
@@ -141,8 +141,7 @@
         connectionManager = new SimpleConnectionManager();
         connectionManager.setThreadManager(threadManager);
         connectionManager.setLog(new SimpleLog("CM"));
-        connectionManager.setConfiguration(new DefaultConfigurationBuilder());
-        connectionManager.init();
+        connectionManager.configure(new DefaultConfigurationBuilder());
         serviceManager.put(SimpleConnectionManager.ROLE, connectionManager);
 
         dnsservice = setUpDNSServer();

Modified: james/server/sandbox/active/pure_spring_deployment/remotemanager-function/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/remotemanager-function/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/remotemanager-function/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/remotemanager-function/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java Sun Dec 27 12:01:18 2009
@@ -133,8 +133,8 @@
         testConfiguration.init();
         try {
             ConfigurationAdapter conf = new ConfigurationAdapter(testConfiguration);
-            protoserver.setConfiguration(conf);
-            handlerFactory.setConfiguration(conf);
+            protoserver.configure(conf);
+            handlerFactory.configure(conf);
             handlerFactory.init();
             protoserver.init();
             
@@ -227,8 +227,7 @@
         connectionManager = new SimpleConnectionManager();
         connectionManager.setThreadManager(threadManager);
         connectionManager.setLog(new SimpleLog("CM"));
-        connectionManager.setConfiguration(new DefaultConfigurationBuilder());
-        connectionManager.init();
+        connectionManager.configure(new DefaultConfigurationBuilder());
         serviceManager.put(SimpleConnectionManager.ROLE, connectionManager);
         
         dnsservice = setUpDNSServer();

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandler.java Sun Dec 27 12:01:18 2009
@@ -28,9 +28,8 @@
 
 import javax.annotation.Resource;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.ConfigurationUtils;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.james.dsn.DSNStatus;
@@ -88,8 +87,12 @@
         this.dnsService = dnsService;
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
+     */
     @SuppressWarnings("unchecked")
-	public void configure(Configuration handlerConfiguration) throws ConfigurationException {
+	public void configure(HierarchicalConfiguration handlerConfiguration) throws ConfigurationException {
         boolean validConfig = false;
 
         ArrayList<String> rblserverCollection = new ArrayList<String>();

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/MaxRcptHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/MaxRcptHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/MaxRcptHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/MaxRcptHandler.java Sun Dec 27 12:01:18 2009
@@ -22,8 +22,8 @@
 package org.apache.james.smtpserver.protocol.core.fastfail;
 
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.dsn.DSNStatus;
 import org.apache.james.lifecycle.Configurable;
 import org.apache.james.smtpserver.protocol.SMTPRetCode;
@@ -37,10 +37,11 @@
 
     private int maxRcpt = 0;
 
-    /**
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    public void configure(Configuration handlerConfiguration)
+    public void configure(HierarchicalConfiguration handlerConfiguration)
             throws ConfigurationException {
         int maxRcpt = handlerConfiguration.getInt("maxRcpt", 0);
         setMaxRcpt(maxRcpt);

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ResolvableEhloHeloHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ResolvableEhloHeloHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ResolvableEhloHeloHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ResolvableEhloHeloHandler.java Sun Dec 27 12:01:18 2009
@@ -23,8 +23,8 @@
 
 import javax.annotation.Resource;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.dsn.DSNStatus;
 import org.apache.james.lifecycle.Configurable;
 import org.apache.james.smtpserver.protocol.DNSService;
@@ -65,11 +65,11 @@
         this.dnsService = dnsService;
     }
 
-    /**
+    /*
      * (non-Javadoc)
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    public void configure(Configuration handlerConfiguration)
+    public void configure(HierarchicalConfiguration handlerConfiguration)
             throws ConfigurationException {
         setCheckAuthNetworks(handlerConfiguration.getBoolean("checkAuthNetworks",false));
     }

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SPFHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SPFHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SPFHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SPFHandler.java Sun Dec 27 12:01:18 2009
@@ -21,8 +21,8 @@
 
 package org.apache.james.smtpserver.protocol.core.fastfail;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.james.dsn.DSNStatus;
@@ -92,10 +92,12 @@
         this.serviceLog = log;
     }
 
-    /**
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+    
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    public void configure(Configuration handlerConfiguration)
+    public void configure(HierarchicalConfiguration handlerConfiguration)
             throws ConfigurationException {
         setBlockSoftFail(handlerConfiguration.getBoolean( "blockSoftFail", false));
         setBlockPermError(handlerConfiguration.getBoolean("blockPermError", true));

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SpamTrapHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SpamTrapHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SpamTrapHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SpamTrapHandler.java Sun Dec 27 12:01:18 2009
@@ -26,8 +26,8 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.Configurable;
 import org.apache.james.smtpserver.protocol.SMTPSession;
 import org.apache.james.smtpserver.protocol.hook.HookResult;
@@ -48,12 +48,13 @@
     
     /** Default blocktime 12 hours */
     private long blockTime = 4320000; 
-
-    /**
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+    
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
     @SuppressWarnings("unchecked")
-	public void configure(Configuration config) throws ConfigurationException {
+	public void configure(HierarchicalConfiguration config) throws ConfigurationException {
         List<String> rcpts= config.getList("spamTrapRecip");
     
         if (rcpts.isEmpty() == false ) {

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/TarpitHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/TarpitHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/TarpitHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/TarpitHandler.java Sun Dec 27 12:01:18 2009
@@ -22,8 +22,8 @@
 package org.apache.james.smtpserver.protocol.core.fastfail;
 
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.Configurable;
 import org.apache.james.smtpserver.protocol.SMTPSession;
 import org.apache.james.smtpserver.protocol.hook.HookResult;
@@ -41,10 +41,12 @@
 
     private long tarpitSleepTime = 5000;
 
-    /**
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    public void configure(Configuration handlerConfiguration)
+    public void configure(HierarchicalConfiguration handlerConfiguration)
             throws ConfigurationException {
         setTarpitRcptCount(handlerConfiguration.getInt("tarpitRcptCount", 0));
 

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ValidSenderDomainHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ValidSenderDomainHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ValidSenderDomainHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ValidSenderDomainHandler.java Sun Dec 27 12:01:18 2009
@@ -22,8 +22,8 @@
 
 import javax.annotation.Resource;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.dsn.DSNStatus;
 import org.apache.james.lifecycle.Configurable;
 import org.apache.james.smtpserver.protocol.DNSService;
@@ -62,10 +62,11 @@
     }
     
     
-    /**
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    public void configure(Configuration handlerConfiguration) throws ConfigurationException {
+    public void configure(HierarchicalConfiguration handlerConfiguration) throws ConfigurationException {
     	setCheckAuthNetworks(handlerConfiguration.getBoolean("checkAuthNetworks",false));
     }
         

Modified: james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/test/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/test/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandlerTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/test/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandlerTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/test/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandlerTest.java Sun Dec 27 12:01:18 2009
@@ -20,24 +20,20 @@
 
 package org.apache.james.smtpserver.protocol.core.fastfail;
 
-import java.math.BigDecimal;
-import java.math.BigInteger;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 
 import javax.mail.internet.ParseException;
 
 import junit.framework.TestCase;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.james.smtpserver.protocol.BaseFakeDNSService;
 import org.apache.james.smtpserver.protocol.BaseFakeSMTPSession;
 import org.apache.james.smtpserver.protocol.DNSService;
@@ -246,176 +242,7 @@
         boolean exception = false;
         DNSRBLHandler rbl = new DNSRBLHandler();
         try {
-            rbl.configure(new Configuration() {
-				
-				public Configuration subset(String prefix) {
-					return null;
-				}
-				
-				public void setProperty(String key, Object value) {
-					
-				}
-				
-				public boolean isEmpty() {
-					return true;
-				}
-				
-				public String[] getStringArray(String key) {
-					return null;
-				}
-				
-				public String getString(String key, String defaultValue) {
-					return null;
-				}
-				
-				public String getString(String key) {
-					return null;
-				}
-				
-				public Short getShort(String key, Short defaultValue) {
-					return null;
-				}
-				
-				public short getShort(String key, short defaultValue) {
-					return 0;
-				}
-				
-				public short getShort(String key) {
-					return 0;
-				}
-				
-				public Object getProperty(String key) {
-					return null;
-				}
-				
-				public Properties getProperties(String key) {
-					return null;
-				}
-				
-				public Long getLong(String key, Long defaultValue) {
-					return null;
-				}
-				
-				public long getLong(String key, long defaultValue) {
-					return 0;
-				}
-				
-				public long getLong(String key) {
-					return 0;
-				}
-				
-				@SuppressWarnings("unchecked")
-                public List getList(String key, List defaultValue) {
-					return null;
-				}
-				
-				@SuppressWarnings("unchecked")
-                public List getList(String key) {
-					return null;
-				}
-				
-				@SuppressWarnings("unchecked")
-                public Iterator getKeys(String prefix) {
-					return null;
-				}
-				
-				@SuppressWarnings("unchecked")
-                public Iterator getKeys() {
-					return null;
-				}
-				
-				public Integer getInteger(String key, Integer defaultValue) {
-					return null;
-				}
-				
-				public int getInt(String key, int defaultValue) {
-					return 0;
-				}
-				
-				public int getInt(String key) {
-					return 0;
-				}
-				
-				public Float getFloat(String key, Float defaultValue) {
-					return null;
-				}
-				
-				public float getFloat(String key, float defaultValue) {
-					return 0;
-				}
-				
-				public float getFloat(String key) {
-					return 0;
-				}
-				
-				public Double getDouble(String key, Double defaultValue) {
-					return null;
-				}
-				
-				public double getDouble(String key, double defaultValue) {
-					return 0;
-				}
-				
-				public double getDouble(String key) {
-					return 0;
-				}
-				
-				public Byte getByte(String key, Byte defaultValue) {
-					return null;
-				}
-				
-				public byte getByte(String key, byte defaultValue) {
-					return 0;
-				}
-				
-				public byte getByte(String key) {
-					return 0;
-				}
-				
-				public Boolean getBoolean(String key, Boolean defaultValue) {
-					return null;
-				}
-				
-				public boolean getBoolean(String key, boolean defaultValue) {
-					return false;
-				}
-				
-				public boolean getBoolean(String key) {
-					return false;
-				}
-				
-				public BigInteger getBigInteger(String key, BigInteger defaultValue) {
-					return null;
-				}
-				
-				public BigInteger getBigInteger(String key) {
-					return null;
-				}
-				
-				public BigDecimal getBigDecimal(String key, BigDecimal defaultValue) {
-					return null;
-				}
-				
-				public BigDecimal getBigDecimal(String key) {
-					return null;
-				}
-				
-				public boolean containsKey(String key) {
-					return false;
-				}
-				
-				public void clearProperty(String key) {
-					
-				}
-				
-				public void clear() {
-					
-				}
-				
-				public void addProperty(String key, Object value) {
-					
-				}
-			});
+            rbl.configure(new DefaultConfigurationBuilder()); 
         } catch (ConfigurationException e) {
             exception = true;
         }

Modified: james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/JDBCGreylistHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/JDBCGreylistHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/JDBCGreylistHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/JDBCGreylistHandler.java Sun Dec 27 12:01:18 2009
@@ -38,8 +38,8 @@
 import org.apache.avalon.cornerstone.services.datasources.DataSourceSelector;
 import org.apache.avalon.excalibur.datasource.DataSourceComponent;
 import org.apache.avalon.framework.service.ServiceException;
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.james.api.dnsservice.DNSService;
@@ -208,7 +208,7 @@
      * @see org.apache.james.smtpserver.protocol.core.fastfail.AbstractGreylistHandler#configure(org.apache.commons.configuration.Configuration)
      */
     @SuppressWarnings("unchecked")
-	public void configure(Configuration handlerConfiguration) throws ConfigurationException {
+	public void configure(HierarchicalConfiguration handlerConfiguration) throws ConfigurationException {
 	    try {
             setTempBlockTime(handlerConfiguration.getString("tempBlockTime"));
         } catch (NumberFormatException e) {

Modified: james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java Sun Dec 27 12:01:18 2009
@@ -25,8 +25,8 @@
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.dsn.DSNStatus;
 import org.apache.james.lifecycle.Configurable;
 import org.apache.james.smtpserver.protocol.SMTPSession;
@@ -70,10 +70,11 @@
 
     private boolean checkAuthNetworks = false;
 
-    /**
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    public void configure(Configuration config) throws ConfigurationException {
+    public void configure(HierarchicalConfiguration config) throws ConfigurationException {
         setSpamdHost(config.getString("spamdHost","localhost"));
         setSpamdPort(config.getInt("spamdPort",783));
         setSpamdRejectionHits(config.getDouble("spamdRejectionHits", 0.0));

Modified: james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java Sun Dec 27 12:01:18 2009
@@ -36,8 +36,8 @@
 import javax.mail.internet.MimeMultipart;
 import javax.mail.internet.MimePart;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.james.api.dnsservice.DNSService;
@@ -100,11 +100,11 @@
     
     
 
-    
-    /**
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    public void configure(Configuration config) throws ConfigurationException {
+    public void configure(HierarchicalConfiguration config) throws ConfigurationException {
         String[] servers = config.getStringArray("uriRblServers/server");
         Collection<String> serverCollection = new ArrayList<String>();
         for ( int i = 0 ; i < servers.length ; i++ ) {

Modified: james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java Sun Dec 27 12:01:18 2009
@@ -28,6 +28,7 @@
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.api.user.UsersRepository;
 import org.apache.james.api.vut.ErrorMappingException;
 import org.apache.james.api.vut.VirtualUserTable;
@@ -107,7 +108,7 @@
 	 * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
 	 */
 	@SuppressWarnings("unchecked")
-	public void configure(Configuration config) throws ConfigurationException {
+	public void configure(HierarchicalConfiguration config) throws ConfigurationException {
 		setValidRecipients(config.getList("validRecipients"));
 		setValidDomains(config.getList("validDomains"));
 		try {

Modified: james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java Sun Dec 27 12:01:18 2009
@@ -27,8 +27,8 @@
 
 import javax.annotation.Resource;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.james.api.dnsservice.DNSService;
@@ -93,7 +93,7 @@
      * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.Configuration)
      */
     @SuppressWarnings("unchecked")
-	public void configure(Configuration config) throws ConfigurationException {
+	public void configure(HierarchicalConfiguration config) throws ConfigurationException {
 
         List<String> networks = config.getList("invalidMXNetworks");
 

Modified: james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java Sun Dec 27 12:01:18 2009
@@ -229,10 +229,10 @@
     protected void finishSetUp(SMTPTestConfiguration testConfiguration) throws Exception {
         testConfiguration.init();
         ConfigurationAdapter conf = new ConfigurationAdapter(testConfiguration);
-        m_smtpServer.setConfiguration(conf);
+        m_smtpServer.configure(conf);
         m_smtpServer.init();
         
-        protoServer.setConfiguration(conf);
+        protoServer.configure(conf);
         protoServer.init();
         
         m_mailServer.setMaxMessageSizeBytes(m_testConfiguration.getMaxMessageSize()*1024);
@@ -256,8 +256,7 @@
         connectionManager = new SimpleConnectionManager();
         connectionManager.setThreadManager(threadManager);
         connectionManager.setLog(new SimpleLog("CM"));
-        connectionManager.setConfiguration(new DefaultConfigurationBuilder());
-        connectionManager.init();
+        connectionManager.configure(new DefaultConfigurationBuilder());
         m_serviceManager.put(SimpleConnectionManager.ROLE, connectionManager);
 
         m_dnsServer = new AlterableDNSServer();

Modified: james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractProtocolHandlerFactory.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractProtocolHandlerFactory.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractProtocolHandlerFactory.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractProtocolHandlerFactory.java Sun Dec 27 12:01:18 2009
@@ -27,17 +27,18 @@
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.james.api.dnsservice.DNSService;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.socket.api.ProtocolHandlerFactory;
 
 /**
  * Abstract base class which ProtocolHandlerFactory implementation should extend
  *
  */
-public abstract class AbstractProtocolHandlerFactory implements ProtocolHandlerFactory{
+public abstract class AbstractProtocolHandlerFactory implements ProtocolHandlerFactory, LogEnabled, Configurable{
     
     
     private DNSService dnsService;
-    private HierarchicalConfiguration configuration;
     private Log log;
     
 
@@ -61,30 +62,23 @@
         return dnsService;
     }
     
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
-        this.configuration = configuration;
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
+
+        configureHelloName(configuration.configurationAt("handler"));
+        onConfigure(configuration);
     }
     
     
-    @Resource(name="org.apache.commons.logging.Log")
     public void setLog(Log logger) {
         this.log = logger;
     }
     
     @PostConstruct
     public void init() throws Exception {
-        configure();
         onInit();
     }
 
     
-    private void configure() throws ConfigurationException {
-        configureHelloName(configuration.configurationAt("handler"));
-        onConfigure(configuration);
-    }
-
-    
     private void configureHelloName(HierarchicalConfiguration handlerConfiguration) {
         StringBuilder infoBuffer;
         String hostName = null;

Modified: james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/ProtocolHandlerChainImpl.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/ProtocolHandlerChainImpl.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/ProtocolHandlerChainImpl.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/ProtocolHandlerChainImpl.java Sun Dec 27 12:01:18 2009
@@ -26,9 +26,8 @@
 
 import javax.annotation.Resource;
 
-import org.apache.commons.configuration.BaseConfiguration;
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -74,7 +73,7 @@
     /** Loads instances */
     private LoaderService loader;
 
-    protected Configuration commonsConf;
+    protected HierarchicalConfiguration commonsConf;
     
     
     /**
@@ -125,7 +124,7 @@
      * @throws ConfigurationException Get thrown on error
      */
     protected void loadClass(ClassLoader classLoader, String className,
-            org.apache.commons.configuration.Configuration config) throws Exception {
+            org.apache.commons.configuration.HierarchicalConfiguration config) throws Exception {
         final Class<?> handlerClass = classLoader.loadClass(className);
         Object handler = loader.load(handlerClass);
 
@@ -148,7 +147,7 @@
             for (Iterator<String> i = c.iterator(); i.hasNext(); ) {
                 String cName = i.next();
 
-                Configuration cmdConf = addHandler(cName);
+                HierarchicalConfiguration cmdConf = addHandler(cName);
 
                 loadClass(classLoader, cName, cmdConf);
             }
@@ -171,8 +170,8 @@
      * @return DefaultConfiguration
      * @throws ConfigurationException 
      */
-    protected Configuration addHandler(String className) throws ConfigurationException {
-        Configuration hConf = new BaseConfiguration();
+    protected HierarchicalConfiguration addHandler(String className) throws ConfigurationException {
+    	HierarchicalConfiguration hConf = new DefaultConfigurationBuilder();
         hConf.addProperty("handler/@class", className);
         return hConf;
     }
@@ -203,7 +202,7 @@
     protected void loadHandlers() throws Exception {
         if (commonsConf != null && commonsConf instanceof HierarchicalConfiguration) {
             
-            List<org.apache.commons.configuration.Configuration> children = ((HierarchicalConfiguration) commonsConf).configurationsAt("handler");
+            List<org.apache.commons.configuration.HierarchicalConfiguration> children = ((HierarchicalConfiguration) commonsConf).configurationsAt("handler");
             ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
 
             String coreCmdName = commonsConf.getString("[@coreHandlersPackage]");
@@ -215,7 +214,7 @@
             if (children != null && children.isEmpty() == false) {
 
                 for (int i = 0; i < children.size(); i++) {
-                    org.apache.commons.configuration.Configuration hConf = children.get(i);
+                    org.apache.commons.configuration.HierarchicalConfiguration hConf = children.get(i);
                     String className = hConf.getString("[@class]");
 
                     if (className != null) {
@@ -237,7 +236,7 @@
      * 
      * @param commonsConf
      */
-    public void configure(Configuration commonsConf) throws ConfigurationException {
+    public void configure(HierarchicalConfiguration commonsConf) throws ConfigurationException {
         this.commonsConf =  commonsConf;
         try {
             loadHandlers();

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/James.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/James.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/James.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/James.java Sun Dec 27 12:01:18 2009
@@ -39,6 +39,8 @@
 import org.apache.james.core.MailHeaders;
 import org.apache.james.core.MailImpl;
 import org.apache.james.impl.jamesuser.JamesUsersRepository;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.FileSystem;
 import org.apache.james.services.MailRepository;
 import org.apache.james.services.MailServer;
@@ -91,7 +93,7 @@
  */
 @SuppressWarnings("unchecked")
 public class James
-    implements MailServer, MailetContext {
+    implements MailServer, MailetContext, LogEnabled, Configurable {
 
     /**
      * The software name and version
@@ -106,7 +108,7 @@
     /**
      * The logger used by the Mailet API.
      */
-    private Log mailetLogger = null;
+    //private Log mailetLogger = null;
 
     /**
      * The mail store containing the inbox repository and the spool.
@@ -201,22 +203,15 @@
         this.dns = dns;
     }
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public final void setLogger(Log logger) {
+    public final void setLog(Log logger) {
         this.logger = logger;
     }
     
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public final void setConfiguration(HierarchicalConfiguration config) {
-        this.conf = config;
-    }
-    
-    
-    @Resource(name="org.apache.commons.logging.Log@MailetLog")
-    public final void setMailetLogger(Log mailetLogger) {
-        this.mailetLogger = mailetLogger;
+    public void configure(HierarchicalConfiguration config) throws ConfigurationException {
+        this.conf = (HierarchicalConfiguration)config;
     }
     
+  
     
     @PostConstruct
     public void init() throws Exception {
@@ -867,7 +862,7 @@
      * @return the logger for the Mailet API
      */
     private Log getMailetLogger() {
-        return mailetLogger;
+        return logger;
     }
 
     /**

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/AbstractLoader.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/AbstractLoader.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/AbstractLoader.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/AbstractLoader.java Sun Dec 27 12:01:18 2009
@@ -30,13 +30,15 @@
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.james.api.kernel.LoaderService;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.mailet.MailetContext;
 import org.apache.mailet.MailetException;
 
 /**
  * Common services for loaders.
  */
-public abstract class AbstractLoader {
+public abstract class AbstractLoader implements LogEnabled, Configurable{
 
     /**
      * The list of packages that may contain Mailets or matchers
@@ -52,8 +54,6 @@
 
     private Log logger;
 
-    private HierarchicalConfiguration config;
-
     
     /**
      * Gets the loader service used by this instance.
@@ -72,16 +72,10 @@
         this.loaderService = loaderService;
     }
 
-    @Resource(name="org.apache.commons.logging.Log")
-    public final void setLogger(Log logger) {
+    public final void setLog(Log logger) {
         this.logger = logger;
     }
     
-
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public final void setConfiguration(HierarchicalConfiguration config) {
-        this.config = config;
-    }
     /**
      * Set the MailetContext
      * 
@@ -115,13 +109,7 @@
         }
     }
     
-    @PostConstruct
-    public void init() throws Exception {
-        configure(config);
-    }
-        
-    protected abstract void configure(HierarchicalConfiguration arg0) throws ConfigurationException;
-    
+            
     /**
      * Gets a human readable description of the loader.
      * Used for messages.

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMailetLoader.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMailetLoader.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMailetLoader.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMailetLoader.java Sun Dec 27 12:01:18 2009
@@ -35,15 +35,11 @@
     private static final String DISPLAY_NAME = "mailet";
     
     private final String MAILET_PACKAGE = "mailetpackage";
-    
 
-    @PostConstruct
-    public void init() throws Exception {
-        super.init();
-    }
     
-    /**
-     * @see org.apache.james.transport.AbstractLoader#configure(org.apache.commons.configuration.HierarchicalConfiguration)
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
     public void configure(HierarchicalConfiguration conf) throws ConfigurationException {
         getPackages(conf,MAILET_PACKAGE);

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMatcherLoader.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMatcherLoader.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMatcherLoader.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMatcherLoader.java Sun Dec 27 12:01:18 2009
@@ -34,15 +34,10 @@
     private static final String DISPLAY_NAME = "matcher";
     private final String MATCHER_PACKAGE = "matcherpackage";
 
-    
-    @PostConstruct
-    public void init() throws Exception {
-        super.init();
-    }
-    
-    
-    /**
-     * @see org.apache.james.transport.AbstractLoader#configure(org.apache.commons.configuration.HierarchicalConfiguration)
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
     public void configure(HierarchicalConfiguration conf) throws ConfigurationException {
            getPackages(conf,MATCHER_PACKAGE);

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesSpoolManager.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesSpoolManager.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesSpoolManager.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesSpoolManager.java Sun Dec 27 12:01:18 2009
@@ -35,6 +35,8 @@
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.james.api.kernel.LoaderService;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.SpoolManager;
 import org.apache.james.services.SpoolRepository;
 import org.apache.mailet.Mail;
@@ -49,7 +51,7 @@
  *
  * @version CVS $Revision$ $Date$
  */
-public class JamesSpoolManager implements Runnable, SpoolManager {
+public class JamesSpoolManager implements Runnable, SpoolManager, LogEnabled, Configurable {
 
     /**
      * The spool that this manager will process
@@ -120,18 +122,13 @@
         this.loaderService = service;
     }
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public final void setLogger(Log logger) {
+    public final void setLog(Log logger) {
         this.logger = logger;
     }
     
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public final void setConfiguration(HierarchicalConfiguration config) {
-        this.config = config;
-    }
     
     
-    protected void configure(HierarchicalConfiguration config) throws ConfigurationException {
+    public void configure(HierarchicalConfiguration config) throws ConfigurationException {
         numThreads = config.getInt("threads",1);
 
         String processorClass = config.getString("processorClass","org.apache.james.transport.StateAwareProcessorList");
@@ -151,7 +148,6 @@
     @PostConstruct
     public void init() throws Exception {
         logger.info("JamesSpoolManager init...");
-        configure(config);
         ContainerUtil.initialize(processorList);
 
         if (logger.isInfoEnabled()) {

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/LinearProcessor.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/LinearProcessor.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/LinearProcessor.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/LinearProcessor.java Sun Dec 27 12:01:18 2009
@@ -30,7 +30,6 @@
 import java.util.List;
 import java.util.Locale;
 
-import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.annotation.Resource;
 import javax.mail.MessagingException;
@@ -40,6 +39,8 @@
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.james.core.MailImpl;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.SpoolRepository;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
@@ -85,7 +86,7 @@
  * <P>CVS $Id$</P>
  * @version 2.2.0
  */
-public class LinearProcessor implements  MailProcessor, MailetContainer {
+public class LinearProcessor implements  MailProcessor, MailetContainer, LogEnabled, Configurable {
 
     /**
      *  The name of the matcher used to terminate the matcher chain.  The
@@ -116,8 +117,6 @@
 
     private Log logger;
 
-    private HierarchicalConfiguration config;
-
     /**
      * Set the spool to be used by this LinearProcessor.
      *
@@ -154,16 +153,9 @@
     }
     
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public final void setLogger(Log logger) {
+    public final void setLog(Log logger) {
         this.logger = logger;
     }
-    
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public final void setConfiguration(HierarchicalConfiguration config) {
-        this.config = config;
-    }
-    
 
     /**
      * <p>The dispose operation is called at the end of a components lifecycle.
@@ -574,13 +566,8 @@
         mailets = new ArrayList<Mailet>();
     }
 
-    @PostConstruct
-    public void init() throws Exception {
-        configure(config);
-    }
-
     @SuppressWarnings("unchecked")
-    protected void configure(HierarchicalConfiguration processorConf) throws ConfigurationException {
+    public void configure(HierarchicalConfiguration processorConf) throws ConfigurationException {
         openProcessorList();
                 
         final List<HierarchicalConfiguration> mailetConfs

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/StateAwareProcessorList.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/StateAwareProcessorList.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/StateAwareProcessorList.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/StateAwareProcessorList.java Sun Dec 27 12:01:18 2009
@@ -22,8 +22,11 @@
 package org.apache.james.transport;
 
 
+import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.SpoolRepository;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetException;
@@ -47,9 +50,8 @@
  * This class is responsible for creating a set of named processors and
  * directing messages to the appropriate processor (given the State of the mail)
  *
- * @version CVS $Revision: 405882 $ $Date: 2006-05-12 23:30:04 +0200 (ven, 12 mag 2006) $
  */
-public class StateAwareProcessorList implements MailProcessor, ProcessorList {
+public class StateAwareProcessorList implements MailProcessor, ProcessorList, LogEnabled, Configurable {
 
     /**
      * The map of processor names to processors
@@ -72,17 +74,11 @@
     }
 
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public final void setLogger(Log logger) {
+    public final void setLog(Log logger) {
         this.logger = logger;
     }
     
-    
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public final void setConfiguration(HierarchicalConfiguration config) {
-        this.config = config;
-    }
-    
+
     @Resource(name="mailetpackages")
     public final void setMailetLoader(MailetLoader mailetLoader) {
         this.mailetLoader = mailetLoader;
@@ -276,4 +272,10 @@
         return (MailProcessor) processors.get(name);
     }
 
+
+	public void configure(HierarchicalConfiguration config)
+			throws org.apache.commons.configuration.ConfigurationException {
+		this.config = config;
+	}
+
 }

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/JamesMailetLoaderTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/JamesMailetLoaderTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/JamesMailetLoaderTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/JamesMailetLoaderTest.java Sun Dec 27 12:01:18 2009
@@ -67,10 +67,9 @@
 
     private void setUpLoader() throws Exception {
         m_conf.init();
-        m_jamesMailetLoader.setLogger(new SimpleLog("Test"));
-        m_jamesMailetLoader.setConfiguration(new ConfigurationAdapter(m_conf));
+        m_jamesMailetLoader.setLog(new SimpleLog("Test"));
+        m_jamesMailetLoader.configure(new ConfigurationAdapter(m_conf));
         m_jamesMailetLoader.setLoaderService(new FakeLoaderService());
-        m_jamesMailetLoader.init();
     }
 
     private void assetIsNullMailet(Mailet mailet) {

Modified: james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java Sun Dec 27 12:01:18 2009
@@ -124,7 +124,7 @@
 
     public void testCopyOnWrite() throws IOException, MessagingException {
         linearProcessor.setSpoolRepository(new InMemorySpoolRepository());
-        linearProcessor.setLogger(new SimpleLog("Test"));
+        linearProcessor.setLog(new SimpleLog("Test"));
         Matcher recipientIs = new RecipientIs();
         recipientIs.init(new DummyMatcherConfig("rec1@domain.com"));
 
@@ -180,7 +180,7 @@
                 super.store(mc);
             }
         });
-        linearProcessor.setLogger(new SimpleLog("Test"));
+        linearProcessor.setLog(new SimpleLog("Test"));
 
 
         Matcher recipientIs = new RecipientIs();
@@ -235,7 +235,7 @@
         }
         mimeMessage = new MimeMessageCopyOnWriteProxy(mmis);
         linearProcessor = new LinearProcessor();
-        linearProcessor.setLogger(new SimpleLog("Logger"));
+        linearProcessor.setLog(new SimpleLog("Logger"));
     }
 
     public void tearDown() throws Exception {

Added: james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/AbstractLifeCycleBeanPostProcessor.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/AbstractLifeCycleBeanPostProcessor.java?rev=894058&view=auto
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/AbstractLifeCycleBeanPostProcessor.java (added)
+++ james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/AbstractLifeCycleBeanPostProcessor.java Sun Dec 27 12:01:18 2009
@@ -0,0 +1,53 @@
+package org.apache.james.container.spring.lifecycle;
+
+import java.util.Map;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.FatalBeanException;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+import org.springframework.core.Ordered;
+
+public abstract class AbstractLifeCycleBeanPostProcessor<T> implements BeanPostProcessor, Ordered{
+
+	private Map<String, String> mappings;
+
+	public void setMappings(Map<String,String> mappings) {
+		this.mappings = mappings;
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * @see org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization(java.lang.Object, java.lang.String)
+	 */
+	public Object postProcessAfterInitialization(Object bean, String name)
+			throws BeansException {
+		return bean;
+	}
+	
+	protected abstract Class<T> getLifeCycleInterface();
+	
+	/*
+	 * (non-Javadoc)
+	 * @see org.springframework.beans.factory.config.BeanPostProcessor#postProcessBeforeInitialization(java.lang.Object, java.lang.String)
+	 */
+	@SuppressWarnings("unchecked")
+	public Object postProcessBeforeInitialization(Object bean, String name)
+			throws BeansException {
+		try {
+			Class<T> lClass = getLifeCycleInterface();
+			if (lClass.isInstance(bean)) executeLifecycleMethod((T)bean, name, getMapping(name));
+		} catch (Exception e) {
+			throw new FatalBeanException("Unable to execute lifecycle method on bean" + name,e);
+		}
+		return bean;
+	}
+
+	protected abstract void executeLifecycleMethod(T bean, String beanname, String lifecyclename) throws Exception;
+	
+	private String getMapping(String name) {
+		String newname = mappings.get(name);
+		if (newname == null) newname = name;
+		return newname;
+	}
+	
+}

Added: james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationBeanPostProcessor.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationBeanPostProcessor.java?rev=894058&view=auto
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationBeanPostProcessor.java (added)
+++ james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationBeanPostProcessor.java Sun Dec 27 12:01:18 2009
@@ -0,0 +1,88 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.container.spring.lifecycle;
+
+import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.james.lifecycle.Configurable;
+import org.springframework.context.ResourceLoaderAware;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.ResourceLoader;
+
+public class ConfigurationBeanPostProcessor extends
+		AbstractLifeCycleBeanPostProcessor<Configurable> implements
+		ResourceLoaderAware {
+
+	private XMLConfiguration config;
+	private String configFile;
+	private ResourceLoader loader;
+
+	public void setConfigFile(String configFile) {
+		this.configFile = configFile;
+	}
+
+	public void init() {
+		Resource resource = loader.getResource(configFile);
+		if (!resource.exists()) {
+			throw new RuntimeException("could not locate configuration file "
+					+ configFile);
+		}
+		try {
+			config = new XMLConfiguration();
+			config.setDelimiterParsingDisabled(true);
+			config.load(resource.getFile());
+		} catch (Exception e1) {
+			throw new RuntimeException("could not open configuration file "
+					+ configFile, e1);
+		}
+	}
+
+	@Override
+	protected void executeLifecycleMethod(Configurable bean, String beanname,
+			String lifecyclename) throws Exception {
+		HierarchicalConfiguration beanConfig = config.configurationAt(lifecyclename);
+		bean.configure(beanConfig);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.springframework.core.Ordered#getOrder()
+	 */
+	public int getOrder() {
+		return 2;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.springframework.context.ResourceLoaderAware#setResourceLoader(org
+	 * .springframework.core.io.ResourceLoader)
+	 */
+	public void setResourceLoader(ResourceLoader loader) {
+		this.loader = loader;
+	}
+
+	@Override
+	protected Class<Configurable> getLifeCycleInterface() {
+		return Configurable.class;
+	}
+
+}

Added: james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/LogEnabledBeanPostProcessor.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/LogEnabledBeanPostProcessor.java?rev=894058&view=auto
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/LogEnabledBeanPostProcessor.java (added)
+++ james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/LogEnabledBeanPostProcessor.java Sun Dec 27 12:01:18 2009
@@ -0,0 +1,44 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.container.spring.lifecycle;
+
+import org.apache.commons.logging.impl.Log4JLogger;
+import org.apache.james.lifecycle.LogEnabled;
+
+public class LogEnabledBeanPostProcessor extends AbstractLifeCycleBeanPostProcessor<LogEnabled> {
+
+	@Override
+	protected void executeLifecycleMethod(LogEnabled bean, String beanname,
+			String lifecyclename) throws Exception {
+		bean.setLog(new Log4JLogger(lifecyclename));
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.springframework.core.Ordered#getOrder()
+	 */
+	public int getOrder() {
+		return 1;
+	}
+
+	@Override
+	protected Class<LogEnabled> getLifeCycleInterface() {
+		return LogEnabled.class;
+	}	
+}

Modified: james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/AbstractUsersRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/AbstractUsersRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/AbstractUsersRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/AbstractUsersRepository.java Sun Dec 27 12:01:18 2009
@@ -28,6 +28,8 @@
 import org.apache.james.api.user.User;
 import org.apache.james.api.vut.ErrorMappingException;
 import org.apache.james.impl.user.DefaultUser;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -41,7 +43,7 @@
  * implementations, and makes it easier to create new User repositories.</p>
  *
  */
-public abstract class AbstractUsersRepository implements JamesUsersRepository {
+public abstract class AbstractUsersRepository implements JamesUsersRepository, LogEnabled, Configurable {
 
     /**
      * Ignore case in usernames
@@ -58,26 +60,14 @@
      */
     protected boolean enableForwarding;
 
-    private HierarchicalConfiguration configuration;
 
     private Log logger;
 
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
+    public void setLog(Log logger) {
         this.logger = logger;
     }
     
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
-        this.configuration = configuration;
-    }
-    
-    @PostConstruct
-    public void init() throws Exception{
-        configure();
-    }
-    
-    private void configure() throws ConfigurationException {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         setIgnoreCase(configuration.getBoolean("usernames", false));
         setEnableAliases(configuration.getBoolean("enableAliases", false));
         setEnableForwarding(configuration.getBoolean("enableForwarding", false));

Modified: james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/LocalJamesUsersRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/LocalJamesUsersRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/LocalJamesUsersRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/LocalJamesUsersRepository.java Sun Dec 27 12:01:18 2009
@@ -24,8 +24,6 @@
 
 import java.util.Collection;
 
-import javax.annotation.PostConstruct;
-
 /**
  * This is a wrapper that provide access to the "LocalUsers" repository
  * but expect to find a JamesUsersRepository and return an object implementing
@@ -35,12 +33,6 @@
 
     
 
-    // REMOVE ME!!!
-    @Override
-    @PostConstruct
-    public void init() throws Exception {
-        super.init();
-    }
 
     /**
      * @see org.apache.james.impl.jamesuser.JamesUsersRepository#setEnableAliases(boolean)



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