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 [1/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...

Author: norman
Date: Sun Dec 27 12:01:18 2009
New Revision: 894058

URL: http://svn.apache.org/viewvc?rev=894058&view=rev
Log:
Start to work on pure spring deployment. Make use of LogEnabled and Configurable lifecycle methods

Added:
    james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/
    james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/AbstractLifeCycleBeanPostProcessor.java
    james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationBeanPostProcessor.java
    james/server/sandbox/active/pure_spring_deployment/spring-deployment/src/main/java/org/apache/james/container/spring/lifecycle/LogEnabledBeanPostProcessor.java
Modified:
    james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonProtocolServer.java
    james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/SimpleConnectionManager.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/AbstractGuiceStore.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/GuiceUsersStore.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/UsersFileRepository.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/UsersFileRepositoryTest.java
    james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/vut/JDBCVirtualUserTableTest.java
    james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/main/java/org/apache/james/vut/XMLVirtualUserTable.java
    james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/test/java/org/apache/james/vut/XMLVirtualUserTableTest.java
    james/server/sandbox/active/pure_spring_deployment/core-api/src/main/java/org/apache/james/lifecycle/Configurable.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/dnsserver/DNSServer.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/AbstractDomainList.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/JDBCDomainList.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/AbstractMailRepository.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/FileMailRepository.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/GuiceMailStore.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/JDBCMailRepository.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MBoxMailRepository.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MailStoreSpoolRepository.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/dnsserver/DNSServerTest.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/JDBCDomainListTest.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/JDBCMailRepositoryTest.java
    james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/MBoxMailRepositoryTest.java
    james/server/sandbox/active/pure_spring_deployment/core-library/src/main/java/org/apache/james/mailrepository/filepair/AbstractFileRepository.java
    james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchMail.java
    james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
    james/server/sandbox/active/pure_spring_deployment/management-library/src/main/java/org/apache/james/management/impl/BayesianAnalyzerManagement.java
    james/server/sandbox/active/pure_spring_deployment/mina-socket-library/src/main/java/org/apache/james/socket/mina/AbstractAsyncServer.java
    james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/main/java/org/apache/james/nntpserver/repository/NNTPRepositoryImpl.java
    james/server/sandbox/active/pure_spring_deployment/nntpserver-function/src/test/java/org/apache/james/nntpserver/NNTPServerTest.java
    james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/JamesTest.java
    james/server/sandbox/active/pure_spring_deployment/phoenix-deployment/src/test/org/apache/james/smtpserver/SMTPServerRemoteDeliveryIntegrationTest.java
    james/server/sandbox/active/pure_spring_deployment/pop3server-function/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
    james/server/sandbox/active/pure_spring_deployment/remotemanager-function/src/test/java/org/apache/james/remotemanager/RemoteManagerTest.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/MaxRcptHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ResolvableEhloHeloHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SPFHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/SpamTrapHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/TarpitHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/main/java/org/apache/james/smtpserver/protocol/core/fastfail/ValidSenderDomainHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtp-protocol-library/src/test/java/org/apache/james/smtpserver/protocol/core/fastfail/DNSRBLHandlerTest.java
    james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/JDBCGreylistHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/SpamAssassinHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/URIRBLHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptHandler.java
    james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/main/java/org/apache/james/smtpserver/integration/ValidRcptMX.java
    james/server/sandbox/active/pure_spring_deployment/smtpserver-function/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
    james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractProtocolHandlerFactory.java
    james/server/sandbox/active/pure_spring_deployment/socket-shared-library/src/main/java/org/apache/james/socket/shared/ProtocolHandlerChainImpl.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/James.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/AbstractLoader.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMailetLoader.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesMatcherLoader.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/JamesSpoolManager.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/LinearProcessor.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/main/java/org/apache/james/transport/StateAwareProcessorList.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/JamesMailetLoaderTest.java
    james/server/sandbox/active/pure_spring_deployment/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java
    james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/AbstractUsersRepository.java
    james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/jamesuser/LocalJamesUsersRepository.java
    james/server/sandbox/active/pure_spring_deployment/user-library/src/main/java/org/apache/james/impl/vut/AbstractVirtualUserTable.java
    james/server/sandbox/active/pure_spring_deployment/user-library/src/test/java/org/apache/james/userrepository/MockUsersRepositoryTest.java

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonProtocolServer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonProtocolServer.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonProtocolServer.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/AvalonProtocolServer.java Sun Dec 27 12:01:18 2009
@@ -58,6 +58,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.excalibur.thread.ThreadPool;
 import org.apache.james.api.dnsservice.DNSService;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.FileSystem;
 import org.apache.james.socket.api.ProtocolHandlerFactory;
 import org.apache.james.socket.api.ProtocolServer;
@@ -69,7 +71,7 @@
  * create using the ProtocolHandlerFactory.
  */
 public class AvalonProtocolServer extends AbstractHandlerFactory
-    implements ConnectionHandlerFactory, ObjectFactory, ProtocolServer {
+    implements ConnectionHandlerFactory, ObjectFactory, ProtocolServer, Configurable, LogEnabled {
 
     /**
      * The default value for the connection timeout.
@@ -244,7 +246,6 @@
         return fSystem;
     }
     
-    @Resource(name="org.apache.commons.logging.Log")
     public void setLog(Log logger) {
         this.logger = logger;
         setupLogger(this, new CommonsLogger(logger, getClass().getName()));
@@ -259,32 +260,8 @@
         this.protocolHandlerFactory = protocolHandlerFactory;
     }
     
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         this.configuration = configuration;
-    }
-    
-    @Resource(name="thread-manager")
-    public void setThreadManager(ThreadManager threadManager) {
-        this.threadManager = threadManager;
-    }
-    
-    @Resource(name="sockets")
-    public void setSocketManager(SocketManager socketManager) {
-        this.socketManager = socketManager;
-    }
-   
-
-    /**
-     * Subclasses should override this method todo any configuration tasks
-     * @throws ConfigurationException 
-     */
-    protected void onConfigure(HierarchicalConfiguration config) throws ConfigurationException {
-        
-    }
-
-    
-    private final void configure() throws ConfigurationException {
         enabled = configuration.getBoolean("[@enabled]", true);
         final Log logger = getLog();
         if (!enabled) {
@@ -431,7 +408,29 @@
 				loadJCEProviders(configuration.configurationAt("startTLS"), getLog());
        		}
        	onConfigure(configuration);
+    
+    }
+    
+    @Resource(name="thread-manager")
+    public void setThreadManager(ThreadManager threadManager) {
+        this.threadManager = threadManager;
+    }
+    
+    @Resource(name="sockets")
+    public void setSocketManager(SocketManager socketManager) {
+        this.socketManager = socketManager;
     }
+   
+
+    /**
+     * Subclasses should override this method todo any configuration tasks
+     * @throws ConfigurationException 
+     */
+    protected void onConfigure(HierarchicalConfiguration config) throws ConfigurationException {
+        
+    }
+
+          
 
     protected Log getLog() {
         return logger;
@@ -494,9 +493,6 @@
             serviceManager = new DefaultServiceManager();
         }
        
-        // parse configuration
-        configure();
-
 
         
         if (!isEnabled()) {

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/SimpleConnectionManager.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/SimpleConnectionManager.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/SimpleConnectionManager.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-socket-library/src/main/java/org/apache/james/socket/SimpleConnectionManager.java Sun Dec 27 12:01:18 2009
@@ -23,7 +23,6 @@
 import java.net.ServerSocket;
 import java.util.HashMap;
 
-import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.annotation.Resource;
 
@@ -31,16 +30,17 @@
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.excalibur.thread.ThreadPool;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory;
 import org.apache.avalon.cornerstone.services.threads.ThreadManager;
-import org.apache.avalon.framework.container.ContainerUtil;
 /**
  * An implementation of ConnectionManager that supports configurable
  * idle timeouts and a configurable value for the maximum number of
  * client connections to a particular port.
  *
  */
-public class SimpleConnectionManager implements JamesConnectionManager {
+public class SimpleConnectionManager implements JamesConnectionManager, LogEnabled, Configurable {
     /**
      * The default value for client socket idle timeouts.  The
      * Java default is 0, meaning no timeout.  That's dangerous
@@ -88,28 +88,17 @@
      */
     private volatile boolean disposed = false;
     private Log logger;
-    private HierarchicalConfiguration configuration;
-
+    
     @Resource(name="thread-manager")
     public void setThreadManager(ThreadManager threadManager) {
         this.threadManager = threadManager;
     }
     
-
-    @Resource(name="org.apache.commons.logging.Log")
     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 {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         timeout = configuration.getInt("idle-timeout", DEFAULT_SOCKET_TIMEOUT);
         maxOpenConn = configuration.getInt("max-connections", DEFAULT_MAX_CONNECTIONS);
         maxOpenConnPerIP = configuration.getInt("max-connections-per-ip", DEFAULT_MAX_CONNECTIONS_PER_IP);
@@ -139,9 +128,10 @@
             logger.debug(
                 "The maximum number of simultaneously open connections is "
                     + (maxOpenConn == 0 ? "unlimited" : Integer.toString(maxOpenConn)));
-        }
+        }    
     }
     
+
     
     /**
      * Disconnects all the underlying ServerConnections

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/AbstractGuiceStore.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/AbstractGuiceStore.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/AbstractGuiceStore.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/AbstractGuiceStore.java Sun Dec 27 12:01:18 2009
@@ -25,8 +25,11 @@
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 
+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.guiceyfruit.jsr250.Jsr250Module;
 
 import com.google.inject.AbstractModule;
@@ -39,7 +42,7 @@
  *
  * @param <Type>
  */
-public abstract class AbstractGuiceStore<Type> {
+public abstract class AbstractGuiceStore<Type> implements LogEnabled, Configurable{
 
     private HashMap<String,Type> objects;
     
@@ -47,8 +50,7 @@
 
     protected HierarchicalConfiguration config;
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
+    public void setLog(Log logger) {
         this.logger = logger;
     }
     
@@ -56,8 +58,7 @@
         return logger;
     }
     
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration config) {
+    public void configure(HierarchicalConfiguration config) throws ConfigurationException{
         this.config = config;
     }   
 

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/GuiceUsersStore.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/GuiceUsersStore.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/GuiceUsersStore.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/core/GuiceUsersStore.java Sun Dec 27 12:01:18 2009
@@ -66,12 +66,6 @@
         this.store = store;
     }
     
-    // TODO: REMOVE ME!!
-    @PostConstruct
-    @Override
-    public void init() throws Exception {
-        super.init();
-    }
 
     /** 
      * Get the repository, if any, whose name corresponds to

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/AbstractJdbcUsersRepository.java Sun Dec 27 12:01:18 2009
@@ -260,9 +260,7 @@
      * @see org.apache.avalon.framework.activity.Initializable#initialize()
      */
     @PostConstruct
-    public void init() throws Exception {
-        super.init();
-        
+    public void init() throws Exception {        
         StringBuffer logBuffer = null;
         if (getLogger().isDebugEnabled()) {
             logBuffer = new StringBuffer(128).append(this.getClass().getName())

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/UsersFileRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/UsersFileRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/UsersFileRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/userrepository/UsersFileRepository.java Sun Dec 27 12:01:18 2009
@@ -93,8 +93,6 @@
     @PostConstruct
     public void init()
         throws Exception {
-        super.init();
-
         try {
             //TODO Check how to remove this!
             //prepare Configurations for object and stream repositories

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/main/java/org/apache/james/vut/JDBCVirtualUserTable.java Sun Dec 27 12:01:18 2009
@@ -136,7 +136,6 @@
 
     @PostConstruct
     public void init() throws Exception {
-        super.init();
         setDataSourceComponent((DataSourceComponent) datasources.select(dataSourceName));
     
         StringBuffer logBuffer = null;

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/DefaultUsersJdbcRepositoryTest.java Sun Dec 27 12:01:18 2009
@@ -65,8 +65,8 @@
         DefaultConfiguration configuration = new DefaultConfiguration("test");
         configuration.setAttribute("destinationURL", "db://maildb/"+tableString);
         configuration.addChild(new AttrValConfiguration("sqlFile","file://conf/sqlResources.xml"));
-        res.setLogger(new SimpleLog("MockLog"));
-        res.setConfiguration(new ConfigurationAdapter(configuration));
+        res.setLog(new SimpleLog("MockLog"));
+        res.configure(new ConfigurationAdapter(configuration));
         res.init();
     }
 

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/JamesUsersJdbcRepositoryTest.java Sun Dec 27 12:01:18 2009
@@ -66,8 +66,8 @@
         DefaultConfiguration configuration = new DefaultConfiguration("test");
         configuration.setAttribute("destinationURL", "db://maildb/"+tableString);
         configuration.addChild(new AttrValConfiguration("sqlFile","file://conf/sqlResources.xml"));
-        res.setLogger(new SimpleLog("MockLog"));
-        res.setConfiguration(new ConfigurationAdapter(configuration));
+        res.setLog(new SimpleLog("MockLog"));
+        res.configure(new ConfigurationAdapter(configuration));
         res.init();
     }
 

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/ListUsersJdbcRepositoryTest.java Sun Dec 27 12:01:18 2009
@@ -72,8 +72,8 @@
         DefaultConfiguration configuration = new DefaultConfiguration("test");
         configuration.setAttribute("destinationURL", "db://maildb/"+tableString);
         configuration.addChild(new AttrValConfiguration("sqlFile","file://conf/sqlResources.xml"));
-        res.setLogger(new SimpleLog("MockLog"));
-        res.setConfiguration(new ConfigurationAdapter(configuration));
+        res.setLog(new SimpleLog("MockLog"));
+        res.configure(new ConfigurationAdapter(configuration));
         
         res.init();
     }

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/UsersFileRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/UsersFileRepositoryTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/UsersFileRepositoryTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/userrepository/UsersFileRepositoryTest.java Sun Dec 27 12:01:18 2009
@@ -71,18 +71,18 @@
         MockStore mockStore = new MockStore();
         File_Persistent_Object_Repository file_Persistent_Object_Repository = new File_Persistent_Object_Repository();
         file_Persistent_Object_Repository.setFileSystem(fs);
-        file_Persistent_Object_Repository.setLogger(new SimpleLog("MockLog"));
+        file_Persistent_Object_Repository.setLog(new SimpleLog("MockLog"));
         DefaultConfigurationBuilder defaultConfiguration22 = new DefaultConfigurationBuilder();
         defaultConfiguration22.addProperty("[@destinationURL]", "file://target/var/users");
-        file_Persistent_Object_Repository.setConfiguration(defaultConfiguration22);
+        file_Persistent_Object_Repository.configure(defaultConfiguration22);
         file_Persistent_Object_Repository.init();
         
         mockStore.add("OBJECT.users", file_Persistent_Object_Repository);
         res.setStore(mockStore);
         DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder("test");
         configuration.addProperty("destination/[@URL]", "file://target/var/users");
-        res.setLogger(new SimpleLog("MockLog"));
-        res.setConfiguration(configuration);
+        res.setLog(new SimpleLog("MockLog"));
+        res.configure(configuration);
         res.init();
         return res;
     }

Modified: james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/vut/JDBCVirtualUserTableTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/vut/JDBCVirtualUserTableTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/vut/JDBCVirtualUserTableTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/avalon-user-function/src/test/java/org/apache/james/vut/JDBCVirtualUserTableTest.java Sun Dec 27 12:01:18 2009
@@ -39,14 +39,14 @@
      */
     protected AbstractVirtualUserTable getVirtalUserTable() throws ServiceException, ConfigurationException, Exception {
         JDBCVirtualUserTable mr = new JDBCVirtualUserTable();
-        mr.setLogger(new SimpleLog("MockLog"));
+        mr.setLog(new SimpleLog("MockLog"));
         mr.setDataSourceSelector(Util.getDataSourceSelector());
         mr.setDNSService(setUpDNSServer());
         mr.setFileSystem(new MockFileSystem());
         DefaultConfiguration defaultConfiguration = new DefaultConfiguration("ReposConf");
         defaultConfiguration.setAttribute("destinationURL","db://maildb/VirtualUserTable");
         defaultConfiguration.addChild(new AttrValConfiguration("sqlFile","file://conf/sqlResources.xml"));
-        mr.setConfiguration(new ConfigurationAdapter(defaultConfiguration));
+        mr.configure(new ConfigurationAdapter(defaultConfiguration));
         mr.init();
         return mr;
     }    

Modified: james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/main/java/org/apache/james/vut/XMLVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/main/java/org/apache/james/vut/XMLVirtualUserTable.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/main/java/org/apache/james/vut/XMLVirtualUserTable.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/main/java/org/apache/james/vut/XMLVirtualUserTable.java Sun Dec 27 12:01:18 2009
@@ -42,12 +42,6 @@
     private List<String> domains;
     
     private final static String WILDCARD = "*";
-    
-    // TODO: REMOVE ME!
-    public void init() throws Exception {
-        super.init();
-    }
-    
 
     /**
      * @see org.apache.james.impl.vut.AbstractVirtualUserTable#doConfigure(org.apache.commons.configuration.HierarchicalConfiguration)

Modified: james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/test/java/org/apache/james/vut/XMLVirtualUserTableTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/test/java/org/apache/james/vut/XMLVirtualUserTableTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/test/java/org/apache/james/vut/XMLVirtualUserTableTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/basic-user-function/src/test/java/org/apache/james/vut/XMLVirtualUserTableTest.java Sun Dec 27 12:01:18 2009
@@ -40,7 +40,7 @@
     protected AbstractVirtualUserTable getVirtalUserTable() throws Exception {
         XMLVirtualUserTable mr = new XMLVirtualUserTable();
         mr.setDNSService(setUpDNSServer());
-        mr.setLogger(new SimpleLog("MockLog"));
+        mr.setLog(new SimpleLog("MockLog"));
        
         return mr;
     }
@@ -77,8 +77,7 @@
         }
     
         try {
-            virtualUserTable.setConfiguration(new ConfigurationAdapter(defaultConfiguration));
-            virtualUserTable.init();        
+            virtualUserTable.configure(new ConfigurationAdapter(defaultConfiguration));
             } catch (Exception e) {
             if (mappings.size() > 0) {
                 return false;
@@ -119,8 +118,7 @@
         } 
     
         try {
-            virtualUserTable.setConfiguration(new ConfigurationAdapter(defaultConfiguration));
-            virtualUserTable.init();        
+            virtualUserTable.configure(new ConfigurationAdapter(defaultConfiguration));
             } catch (Exception e) {
            if (mappings.size() > 0) {
                return false;

Modified: james/server/sandbox/active/pure_spring_deployment/core-api/src/main/java/org/apache/james/lifecycle/Configurable.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-api/src/main/java/org/apache/james/lifecycle/Configurable.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-api/src/main/java/org/apache/james/lifecycle/Configurable.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-api/src/main/java/org/apache/james/lifecycle/Configurable.java Sun Dec 27 12:01:18 2009
@@ -20,8 +20,8 @@
 
 package org.apache.james.lifecycle;
 
-import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
 
 /**
  * Classes which needs to access the configuration should implement this
@@ -35,6 +35,6 @@
 	 * @param config
 	 * @throws ConfigurationException
 	 */
-	public void configure(Configuration config) throws ConfigurationException;
+	public void configure(HierarchicalConfiguration config) throws ConfigurationException;
 	
 }

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/dnsserver/DNSServer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/dnsserver/DNSServer.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/dnsserver/DNSServer.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/dnsserver/DNSServer.java Sun Dec 27 12:01:18 2009
@@ -26,6 +26,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.james.api.dnsservice.DNSService;
 import org.apache.james.api.dnsservice.TemporaryResolutionException;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.mailet.HostAddress;
 import org.xbill.DNS.ARecord;
 import org.xbill.DNS.Cache;
@@ -62,7 +64,7 @@
  * Provides DNS client functionality to services running
  * inside James
  */
-public class DNSServer implements DNSService, DNSServerMBean {
+public class DNSServer implements DNSService, DNSServerMBean, LogEnabled, Configurable {
 
     /**
      * A resolver instance used to retrieve DNS records.  This
@@ -125,19 +127,11 @@
     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;
-    }
-    
-    @SuppressWarnings("unchecked")
-    public void configure()
-        throws ConfigurationException {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
 
         final boolean autodiscover =
             configuration.getBoolean( "autodiscover", true );
@@ -204,14 +198,12 @@
     }
     
     
+    
 
     @PostConstruct
     public void init()
         throws Exception {
-        logger.debug("DNSService init...");
-
-        configure();
-        
+        logger.debug("DNSService init...");        
 
         // If no DNS servers were configured, default to local host
         if (dnsServers.isEmpty()) {

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/AbstractDomainList.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/AbstractDomainList.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/AbstractDomainList.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/AbstractDomainList.java Sun Dec 27 12:01:18 2009
@@ -33,11 +33,12 @@
 import org.apache.commons.logging.Log;
 import org.apache.james.api.dnsservice.DNSService;
 import org.apache.james.api.domainlist.ManageableDomainList;
+import org.apache.james.lifecycle.LogEnabled;
 
 /**
  * All implementations of the DomainList interface should extends this abstract class
  */
-public abstract class AbstractDomainList implements  ManageableDomainList {
+public abstract class AbstractDomainList implements  ManageableDomainList, LogEnabled {
     private DNSService dns;
     private boolean autoDetect = true;
     private boolean autoDetectIP = true;
@@ -49,8 +50,7 @@
     }
     
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
+    public void setLog(Log logger) {
         this.logger = logger;
     }
     

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/JDBCDomainList.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/JDBCDomainList.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/JDBCDomainList.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/JDBCDomainList.java Sun Dec 27 12:01:18 2009
@@ -37,6 +37,7 @@
 
 import org.apache.avalon.cornerstone.services.datasources.DataSourceSelector;
 import org.apache.avalon.excalibur.datasource.DataSourceComponent;
+import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.services.FileSystem;
@@ -69,9 +70,8 @@
     
     private HierarchicalConfiguration configuration;
 
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
-        this.configuration = configuration;
+    public void configure(Configuration configuration) throws ConfigurationException{
+        this.configuration = (HierarchicalConfiguration)configuration;
     }
 
     public void setDataSourceComponent(DataSourceComponent dataSourceComponent) {

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java Sun Dec 27 12:01:18 2009
@@ -30,39 +30,32 @@
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.james.lifecycle.Configurable;
 
 
 /**
  * Mimic the old behavoir of JAMES
  */
-public class XMLDomainList extends AbstractDomainList {
+public class XMLDomainList extends AbstractDomainList implements Configurable{
     
     private List<String> domainNames = null;
     
     private boolean managementDisabled = false;
-
-    private HierarchicalConfiguration configuration;
-    
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
-        this.configuration = configuration;
-    }
-    
     
-    @PostConstruct
-    public void init() throws Exception {
-        configure();
-    }
-    
-    @SuppressWarnings("unchecked")
-    protected void configure() throws ConfigurationException {
-         List<String> serverNameConfs = configuration.getList( "domainnames.domainname" );
-         for ( int i = 0; i < serverNameConfs.size(); i++ ) {
-             addDomainInternal( serverNameConfs.get(i));
-         }
-         setAutoDetect(configuration.getBoolean("autodetect", true));    
-         setAutoDetectIP(configuration.getBoolean("autodetectIP", true));    
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
+     */
+	public void configure(HierarchicalConfiguration config) throws ConfigurationException {
+		List<String> serverNameConfs = config.getList( "domainnames.domainname" );
+        for ( int i = 0; i < serverNameConfs.size(); i++ ) {
+            addDomainInternal( serverNameConfs.get(i));
+        }
+        setAutoDetect(config.getBoolean("autodetect", true));    
+        setAutoDetectIP(config.getBoolean("autodetectIP", true));    
     }
+   
+   
     
     
     /**

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/AbstractMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/AbstractMailRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/AbstractMailRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/AbstractMailRepository.java Sun Dec 27 12:01:18 2009
@@ -25,6 +25,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.services.MailRepository;
 import org.apache.james.util.Lock;
 import org.apache.mailet.Mail;
@@ -40,7 +42,7 @@
 /**
  * This class represent an AbstractMailRepository. All MailRepositories should extend this class. 
  */
-public abstract class AbstractMailRepository implements MailRepository {
+public abstract class AbstractMailRepository implements MailRepository, LogEnabled, Configurable {
 
     /**
      * Whether 'deep debugging' is turned on.
@@ -57,10 +59,8 @@
     
     private Log logger;
 
-    private HierarchicalConfiguration configuration;
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
+    public void setLog(Log logger) {
         this.logger = logger;
     }
     
@@ -68,9 +68,8 @@
         return logger;
     }
       
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
-        this.configuration = configuration;
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
+        doConfigure(configuration);
     }
     
     /**
@@ -172,10 +171,6 @@
         }
     }
 
-    @PostConstruct
-    public void init() throws Exception {
-        doConfigure(configuration);
-    }
 
     /**
      * @see #store(Mail)

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/FileMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/FileMailRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/FileMailRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/FileMailRepository.java Sun Dec 27 12:01:18 2009
@@ -92,7 +92,6 @@
     @PostConstruct
     public void init()
             throws Exception {
-        super.init();
         try {
             objectRepository = (ObjectRepository) selectRepository(store, "OBJECT");
             streamRepository = (StreamRepository) selectRepository(store, "STREAM");

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/GuiceMailStore.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/GuiceMailStore.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/GuiceMailStore.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/GuiceMailStore.java Sun Dec 27 12:01:18 2009
@@ -30,12 +30,14 @@
 
 import org.apache.avalon.cornerstone.services.datasources.DataSourceSelector;
 import org.apache.avalon.cornerstone.services.store.Store;
-import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.commons.collections.map.ReferenceMap;
 import org.apache.commons.configuration.CombinedConfiguration;
+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.services.FileSystem;
 import org.guiceyfruit.jsr250.Jsr250Module;
 
@@ -49,7 +51,7 @@
  *
  */
 public class GuiceMailStore
-    implements Store {
+    implements Store, LogEnabled, Configurable {
 
     // Prefix for repository names
     private static final String REPOSITORY_NAME = "Repository";
@@ -85,8 +87,7 @@
     }
 
 
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
+    public void setLog(Log logger) {
         this.logger = logger;
     }
     
@@ -94,8 +95,7 @@
         return logger;
     }
       
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         this.configuration = configuration;
     }
     

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/JDBCMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/JDBCMailRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/JDBCMailRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/JDBCMailRepository.java Sun Dec 27 12:01:18 2009
@@ -263,9 +263,7 @@
      * @throws Exception if an error occurs
      */
     @PostConstruct
-    public void init() throws Exception {
-        super.init();
-        
+    public void init() throws Exception {        
         StringBuffer logBuffer = null;
         if (getLogger().isDebugEnabled()) {
             getLogger().debug(this.getClass().getName() + ".initialize()");

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MBoxMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MBoxMailRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MBoxMailRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MBoxMailRepository.java Sun Dec 27 12:01:18 2009
@@ -51,6 +51,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.MailRepository;
 import org.apache.mailet.Mail;
 import org.apache.oro.text.regex.MalformedPatternException;
@@ -111,7 +113,7 @@
  */
 
 
-public class MBoxMailRepository implements MailRepository {
+public class MBoxMailRepository implements MailRepository, LogEnabled, Configurable {
 
 
     static final SimpleDateFormat dy = new SimpleDateFormat("EE MMM dd HH:mm:ss yyyy", Locale.US);
@@ -161,14 +163,36 @@
     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) {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         this.configuration = configuration;
+        String destination;
+        this.mList = null;
+        BUFFERING = configuration.getBoolean("[@BUFFERING]", true);
+        fifo = configuration.getBoolean("[@FIFO]", false);
+        destination = configuration.getString("[@destinationURL]");
+        if (destination.charAt(destination.length() - 1) == '/') {
+            // Remove the trailing / as well as the protocol marker
+            mboxFile = destination.substring("mbox://".length(), destination.lastIndexOf("/"));
+        } else {
+            mboxFile = destination.substring("mbox://".length());
+        }
+
+        if (getLogger().isDebugEnabled()) {
+            getLogger().debug("MBoxMailRepository.destinationURL: " + destination);
+        }
+
+        String checkType = configuration.getString("[@type]");
+        if (!(checkType.equals("MAIL") || checkType.equals("SPOOL"))) {
+            String exceptionString = "Attempt to configure MboxMailRepository as " + checkType;
+            if (getLogger().isWarnEnabled()) {
+                getLogger().warn(exceptionString);
+            }
+            throw new ConfigurationException(exceptionString);
+        }
     }
 
     protected Log getLogger() {
@@ -798,39 +822,4 @@
     public boolean unlock(String key) {
         return false;
     }
-
-    /**
-     * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
-     */
-    protected void configure(HierarchicalConfiguration conf) throws ConfigurationException {
-        String destination;
-        this.mList = null;
-        BUFFERING = conf.getBoolean("[@BUFFERING]", true);
-        fifo = conf.getBoolean("[@FIFO]", false);
-        destination = conf.getString("[@destinationURL]");
-        if (destination.charAt(destination.length() - 1) == '/') {
-            // Remove the trailing / as well as the protocol marker
-            mboxFile = destination.substring("mbox://".length(), destination.lastIndexOf("/"));
-        } else {
-            mboxFile = destination.substring("mbox://".length());
-        }
-
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("MBoxMailRepository.destinationURL: " + destination);
-        }
-
-        String checkType = conf.getString("[@type]");
-        if (!(checkType.equals("MAIL") || checkType.equals("SPOOL"))) {
-            String exceptionString = "Attempt to configure MboxMailRepository as " + checkType;
-            if (getLogger().isWarnEnabled()) {
-                getLogger().warn(exceptionString);
-            }
-            throw new ConfigurationException(exceptionString);
-        }
-    }
-
-    @PostConstruct
-    public void init() throws Exception {
-        configure(configuration);
-    }
 }

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MailStoreSpoolRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MailStoreSpoolRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MailStoreSpoolRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/MailStoreSpoolRepository.java Sun Dec 27 12:01:18 2009
@@ -22,8 +22,11 @@
 package org.apache.james.mailrepository;
 
 import org.apache.avalon.cornerstone.services.store.Store;
+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.services.SpoolRepository;
 import org.apache.mailet.Mail;
 
@@ -46,7 +49,7 @@
  *
  * @version This is $Revision: 165416 $
  */
-public class MailStoreSpoolRepository implements SpoolRepository {
+public class MailStoreSpoolRepository implements SpoolRepository, LogEnabled, Configurable {
 
     /**
      * The wrapped spoolRepository
@@ -66,13 +69,11 @@
     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) {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         this.configuration = configuration;
     }
     

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/main/java/org/apache/james/mailrepository/javamail/AbstractJavamailStoreMailRepository.java Sun Dec 27 12:01:18 2009
@@ -39,6 +39,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.services.FileSystem;
 import org.apache.james.services.MailRepository;
 import org.apache.mailet.Mail;
@@ -51,7 +53,7 @@
  * TODO examine for thread-safety
  */
 
-public abstract class AbstractJavamailStoreMailRepository implements MailRepository, StoreGateKeeperAware, FolderAdapterFactory {
+public abstract class AbstractJavamailStoreMailRepository implements MailRepository, StoreGateKeeperAware, FolderAdapterFactory, LogEnabled, Configurable {
 
     /**
      * Whether 'deep debugging' is turned on.
@@ -113,8 +115,7 @@
     }
     
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
+    public void setLog(Log logger) {
         this.logger = logger;
     }
     
@@ -122,26 +123,16 @@
         return logger;
     }
       
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{
         this.configuration = configuration;
-    }
-    
-    
-    /**
-     * builds destination from attributes destinationURL and postfix.
-     * at the moment james does not hand over additional parameters like postfix.
-     * 
-     * 
-     */
-    protected void doConfigure(HierarchicalConfiguration conf) throws ConfigurationException {
+        
         log.debug("JavamailStoreMailRepository configure");
-        destination = conf.getString("[@destinationURL]");
+        destination = configuration.getString("[@destinationURL]");
         log.debug("JavamailStoreMailRepository.destinationURL: " + destination);
         if (!destination.endsWith("/")) {
             destination += "/";
         }
-        String postfix = conf.getString("[@postfix]", "");
+        String postfix = configuration.getString("[@postfix]", "");
         if (postfix.length() > 0) {
             if (postfix.startsWith("/")) {
                 postfix = postfix.substring(1);
@@ -195,7 +186,7 @@
                     + destination, e);
         }
 
-        String checkType = conf.getString("[@type]");
+        String checkType = configuration.getString("[@type]");
         if (!checkType.equals(TYPE)) {
             String exceptionString = "Attempt to configure JavaMailStoreMailRepository as "
                     + checkType;
@@ -203,13 +194,25 @@
             throw new ConfigurationException(exceptionString);
         }
         log.debug("JavaMailStoreMailRepository configured");
+        
+        doConfigure(configuration);
+    }
+    
+    
+    /**
+     * builds destination from attributes destinationURL and postfix.
+     * at the moment james does not hand over additional parameters like postfix.
+     * 
+     * 
+     */
+    protected void doConfigure(HierarchicalConfiguration conf) throws ConfigurationException {
+      
     }
 
     @PostConstruct
     public void init() throws Exception {
         log.debug("JavaMailStoreMailRepository initialized");
         
-        doConfigure(configuration);
         try {
             home = fileSystem.getBasedir();
         } catch (FileNotFoundException e) {

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/dnsserver/DNSServerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/dnsserver/DNSServerTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/dnsserver/DNSServerTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/dnsserver/DNSServerTest.java Sun Dec 27 12:01:18 2009
@@ -111,8 +111,8 @@
         DefaultConfigurationBuilder db = new DefaultConfigurationBuilder();
 
         db.load(new ByteArrayInputStream("<dnsserver><autodiscover>true</autodiscover><authoritative>false</authoritative></dnsserver>".getBytes()));
-        dnsServer.setLogger(new SimpleLog("MockLog"));
-        dnsServer.setConfiguration(db);
+        dnsServer.setLog(new SimpleLog("MockLog"));
+        dnsServer.configure(db);
         dnsServer.init();
         
         

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/JDBCDomainListTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/JDBCDomainListTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/JDBCDomainListTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/JDBCDomainListTest.java Sun Dec 27 12:01:18 2009
@@ -124,8 +124,8 @@
         dom.setDNSService(setUpDNSServer("localhost"));
         dom.setFileSystem(new MockFileSystem());
         dom.setDataSourceSelector(dataSource);
-        dom.setConfiguration(setUpConfiguration(repos + table));
-        dom.setLogger(new SimpleLog("MockLog"));
+        dom.setLog(new SimpleLog("MockLog"));
+        dom.configure(setUpConfiguration(repos + table));
         dom.init();
         dom.addDomain("domain1.");
 
@@ -143,8 +143,8 @@
         dom.setDNSService(setUpDNSServer("localhost"));
         dom.setFileSystem(new MockFileSystem());
         dom.setDataSourceSelector(dataSource);
-        dom.setConfiguration(new DefaultConfigurationBuilder());
-        dom.setLogger(new SimpleLog("MockLog"));
+        dom.setLog(new SimpleLog("MockLog"));
+        dom.configure(new DefaultConfigurationBuilder());
         try {
             dom.init();
         } catch (ConfigurationException e) {

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java Sun Dec 27 12:01:18 2009
@@ -71,11 +71,10 @@
         domains.add("domain2.");
     
         XMLDomainList dom = new XMLDomainList();
-        dom.setLogger(new SimpleLog("MockLog"));
+        dom.setLog(new SimpleLog("MockLog"));
+        dom.configure(setUpConfiguration(false,false,domains));
         dom.setDNSService(setUpDNSServer("localhost"));
-        dom.setConfiguration(setUpConfiguration(false,false,domains));
-        dom.init();
-
+        
         assertTrue("Two domain found",dom.getDomains().size() ==2);
     }
     
@@ -84,10 +83,10 @@
         domains.add("domain1.");
     
         XMLDomainList dom = new XMLDomainList();
-        dom.setLogger(new SimpleLog("MockLog"));
+        dom.setLog(new SimpleLog("MockLog"));
+        dom.configure(setUpConfiguration(true,false,domains));
+
         dom.setDNSService(setUpDNSServer("local"));
-        dom.setConfiguration(setUpConfiguration(true,false,domains));
-        dom.init();
         assertEquals("Two domains found",dom.getDomains().size(), 2);
     }
     
@@ -96,10 +95,10 @@
         domains.add("domain1.");
     
         XMLDomainList dom = new XMLDomainList();
-        dom.setLogger(new SimpleLog("MockLog"));
+        dom.setLog(new SimpleLog("MockLog"));
+        dom.configure(setUpConfiguration(true,false,domains));
+
         dom.setDNSService(setUpDNSServer("localhost"));
-        dom.setConfiguration(setUpConfiguration(true,false,domains));
-        dom.init();
         
         assertEquals("One domain found",dom.getDomains().size(), 1);
     }

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java Sun Dec 27 12:01:18 2009
@@ -44,29 +44,29 @@
         MockStore mockStore = new MockStore();
         File_Persistent_Stream_Repository file_Persistent_Stream_Repository = new File_Persistent_Stream_Repository();
         file_Persistent_Stream_Repository.setFileSystem(fs);
-        file_Persistent_Stream_Repository.setLogger(new SimpleLog("MockLog"));
+        file_Persistent_Stream_Repository.setLog(new SimpleLog("MockLog"));
         
         DefaultConfigurationBuilder defaultConfiguration2 = new DefaultConfigurationBuilder();
         defaultConfiguration2.addProperty( "[@destinationURL]", "file://target/var/mr");
-        file_Persistent_Stream_Repository.setConfiguration(defaultConfiguration2);
+        file_Persistent_Stream_Repository.configure(defaultConfiguration2);
         file_Persistent_Stream_Repository.init();
         
         mockStore.add("STREAM.mr", file_Persistent_Stream_Repository);
         File_Persistent_Object_Repository file_Persistent_Object_Repository = new File_Persistent_Object_Repository();
         file_Persistent_Object_Repository.setFileSystem(fs);
-        file_Persistent_Object_Repository.setLogger(new SimpleLog("MockLog"));
+        file_Persistent_Object_Repository.setLog(new SimpleLog("MockLog"));
         DefaultConfigurationBuilder defaultConfiguration22 = new DefaultConfigurationBuilder();
         defaultConfiguration22.addProperty( "[@destinationURL]", "file://target/var/mr");
-        file_Persistent_Object_Repository.setConfiguration(defaultConfiguration22);
+        file_Persistent_Object_Repository.configure(defaultConfiguration22);
         file_Persistent_Object_Repository.init();
         mockStore.add("OBJECT.mr", file_Persistent_Object_Repository);
         mr.setStore(mockStore);
 
-        mr.setLogger(new SimpleLog("MockLog"));
+        mr.setLog(new SimpleLog("MockLog"));
         DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
         defaultConfiguration.addProperty( "[@destinationURL]","file://target/var/mr");
         defaultConfiguration.addProperty( "[@type]","MAIL");
-        mr.setConfiguration(defaultConfiguration);
+        mr.configure(defaultConfiguration);
         mr.init();
         return mr;
     }

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/JDBCMailRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/JDBCMailRepositoryTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/JDBCMailRepositoryTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/JDBCMailRepositoryTest.java Sun Dec 27 12:01:18 2009
@@ -46,10 +46,10 @@
         MockStore mockStore = new MockStore();
         File_Persistent_Stream_Repository file_Persistent_Stream_Repository = new File_Persistent_Stream_Repository();
         file_Persistent_Stream_Repository.setFileSystem(fs);
-        file_Persistent_Stream_Repository.setLogger(new SimpleLog("MockLog"));
+        file_Persistent_Stream_Repository.setLog(new SimpleLog("MockLog"));
         DefaultConfigurationBuilder defaultConfiguration2 = new DefaultConfigurationBuilder();
         defaultConfiguration2.addProperty("[@destinationURL]", "file://target/var/mr/testrepo");
-        file_Persistent_Stream_Repository.setConfiguration(defaultConfiguration2);
+        file_Persistent_Stream_Repository.configure(defaultConfiguration2);
         file_Persistent_Stream_Repository.init();
         mockStore.add("STREAM.mr", file_Persistent_Stream_Repository);
         
@@ -60,8 +60,8 @@
         mr.setFileSystem(fs);
         mr.setStore(mockStore);
         mr.setDatasources(selector);
-        mr.setLogger(new SimpleLog("MockLog"));
-        mr.setConfiguration(defaultConfiguration);
+        mr.setLog(new SimpleLog("MockLog"));
+        mr.configure(defaultConfiguration);
         mr.init();
         return mr;
     }

Modified: james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/MBoxMailRepositoryTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/MBoxMailRepositoryTest.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/MBoxMailRepositoryTest.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-function/src/test/java/org/apache/james/mailrepository/MBoxMailRepositoryTest.java Sun Dec 27 12:01:18 2009
@@ -50,9 +50,9 @@
         
         defaultConfiguration.addProperty("[@destinationURL]",mboxPath);
         defaultConfiguration.addProperty("[@type]","MAIL");
-        mr.setConfiguration(defaultConfiguration);
-        mr.setLogger(new SimpleLog("MockLog"));;
-        mr.init();
+        mr.setLog(new SimpleLog("MockLog"));;
+        mr.configure(defaultConfiguration);
+
         return mr;
     }
 

Modified: james/server/sandbox/active/pure_spring_deployment/core-library/src/main/java/org/apache/james/mailrepository/filepair/AbstractFileRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/core-library/src/main/java/org/apache/james/mailrepository/filepair/AbstractFileRepository.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/core-library/src/main/java/org/apache/james/mailrepository/filepair/AbstractFileRepository.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/core-library/src/main/java/org/apache/james/mailrepository/filepair/AbstractFileRepository.java Sun Dec 27 12:01:18 2009
@@ -26,6 +26,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.services.FileSystem;
 import org.apache.james.util.io.ExtensionFileFilter;
 
@@ -49,7 +51,7 @@
  *
  */
 public abstract class AbstractFileRepository
-    implements Repository {
+    implements Repository, Configurable, LogEnabled {
     protected static final boolean DEBUG = false;
 
     protected static final String HANDLED_URL = "file://";
@@ -69,13 +71,13 @@
     private FileSystem fileSystem;
 
     private Log logger;
-
-    private HierarchicalConfiguration configuration;
-
     
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
-        this.configuration = configuration;
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{        
+        if( null == m_destination )
+        {
+            final String destination = configuration.getString( "[@destinationURL]" );
+            setDestination( destination );
+        }
     }
     
     
@@ -85,8 +87,7 @@
     }
     
     
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLogger(Log logger) {
+    public void setLog(Log logger) {
         this.logger = logger;
     }
     
@@ -98,24 +99,12 @@
     protected abstract String getExtensionDecorator();
 
 
-
-    protected void doConfigure( final HierarchicalConfiguration configuration )
-        throws ConfigurationException
-    {
-        if( null == m_destination )
-        {
-            final String destination = configuration.getString( "[@destinationURL]" );
-            setDestination( destination );
-        }
-    }
-
     @PostConstruct
     public void init()
         throws Exception
     {
         getLogger().info( "Init " + getClass().getName() + " Store" );
 
-        doConfigure(configuration);
         try {
             m_baseDirectory = fileSystem.getBasedir();
         } catch (FileNotFoundException e) {
@@ -243,7 +232,7 @@
         }
 
         child.setFileSystem(fileSystem);
-        child.setLogger(logger);
+        child.setLog(logger);
 
         try
         {

Modified: james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchMail.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchMail.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchMail.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchMail.java Sun Dec 27 12:01:18 2009
@@ -41,6 +41,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.james.api.dnsservice.DNSService;
 import org.apache.james.api.user.UsersRepository;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.MailServer;
 
 /**
@@ -72,7 +74,7 @@
  * <p>Creation Date: 24-May-03</p>
  * 
  */
-public class FetchMail implements Target {
+public class FetchMail implements Target, LogEnabled, Configurable {
     /**
      * Key fields for DynamicAccounts.
      */
@@ -422,7 +424,7 @@
      * @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
      */
     @SuppressWarnings("unchecked")
-    protected void configure(HierarchicalConfiguration configuration)
+    public void configure(HierarchicalConfiguration configuration)
         throws ConfigurationException
     {
         // Set any Session parameters passed in the Configuration
@@ -493,10 +495,6 @@
         i++;
     }
     
-    @PostConstruct
-    public void init() throws Exception{
-        configure(config);
-    }
 
     /**
      * Method target triggered fetches mail for each configured account.
@@ -677,17 +675,11 @@
         this.fieldLocalUsers = urepos;
     }
 
-    @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;
-    }
-
     /**
      * Returns the accounts. Initializes if required.
      * @return List

Modified: james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchScheduler.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchScheduler.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/fetchmail-function/src/main/java/org/apache/james/fetchmail/FetchScheduler.java Sun Dec 27 12:01:18 2009
@@ -31,10 +31,13 @@
 
 import org.apache.avalon.cornerstone.services.scheduler.PeriodicTimeTrigger;
 import org.apache.avalon.cornerstone.services.scheduler.TimeScheduler;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.james.api.dnsservice.DNSService;
 import org.apache.james.api.user.UsersRepository;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.LogEnabled;
 import org.apache.james.services.MailServer;
 
 /**
@@ -43,7 +46,7 @@
  * $Id$
  *
  */
-public class FetchScheduler implements FetchSchedulerMBean {
+public class FetchScheduler implements FetchSchedulerMBean, LogEnabled, Configurable {
 
     /**
      * Configuration object for this service
@@ -97,14 +100,12 @@
         this.urepos = urepos;
     }
     
-    @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) {
+    public final void configure(HierarchicalConfiguration config) throws ConfigurationException{
         this.conf = config;
     }
     
@@ -126,11 +127,11 @@
                 Integer interval = new Integer(fetchConf.getInt("interval"));
 
                 FetchMail fetcher = new FetchMail();
-                fetcher.setConfiguration(fetchConf);
+                fetcher.setLog(logger);
+                fetcher.configure(fetchConf);
                 fetcher.setDNSService(dns);
                 fetcher.setMailServer(mailserver);
                 fetcher.setUsersRepository(urepos);
-                fetcher.setLogger(logger);
                 // avalon specific initialization
                // ContainerUtil.enableLogging(fetcher,getLogger().getChildLogger(fetchTaskName));
 

Modified: james/server/sandbox/active/pure_spring_deployment/management-library/src/main/java/org/apache/james/management/impl/BayesianAnalyzerManagement.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/active/pure_spring_deployment/management-library/src/main/java/org/apache/james/management/impl/BayesianAnalyzerManagement.java?rev=894058&r1=894057&r2=894058&view=diff
==============================================================================
--- james/server/sandbox/active/pure_spring_deployment/management-library/src/main/java/org/apache/james/management/impl/BayesianAnalyzerManagement.java (original)
+++ james/server/sandbox/active/pure_spring_deployment/management-library/src/main/java/org/apache/james/management/impl/BayesianAnalyzerManagement.java Sun Dec 27 12:01:18 2009
@@ -43,6 +43,7 @@
 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.management.BayesianAnalyzerManagementException;
 import org.apache.james.management.BayesianAnalyzerManagementMBean;
 import org.apache.james.management.BayesianAnalyzerManagementService;
@@ -55,7 +56,7 @@
 /**
  * Management for BayesianAnalyzer
  */
-public class BayesianAnalyzerManagement implements BayesianAnalyzerManagementService, BayesianAnalyzerManagementMBean {
+public class BayesianAnalyzerManagement implements BayesianAnalyzerManagementService, BayesianAnalyzerManagementMBean, Configurable {
 
     private final static String HAM = "HAM";
     private final static String SPAM = "SPAM";
@@ -64,8 +65,6 @@
     private String repos;
     private String sqlFileUrl;
     private FileSystem fileSystem;
-    private Log logger;
-    private HierarchicalConfiguration configuration;
     
     /**
      * Sets the file system service
@@ -80,26 +79,14 @@
 
     @PostConstruct
     public void init() throws Exception {
-        configure();
         if (repos != null) {
             setDataSourceComponent((DataSourceComponent) selector.select(repos));
             File sqlFile = fileSystem.getFile(sqlFileUrl);
             analyzer.initSqlQueries(component.getConnection(), sqlFile.getAbsolutePath());
         }
     }
-    
-    @Resource(name="org.apache.commons.logging.Log")
-    public void setLog(Log logger) {
-        this.logger = logger;
-    }
-    
-
-    @Resource(name="org.apache.commons.configuration.Configuration")
-    public void setConfiguration(HierarchicalConfiguration configuration) {
-        this.configuration = configuration;
-    }
 
-    private void configure() throws ConfigurationException {
+    public void configure(HierarchicalConfiguration configuration) throws ConfigurationException{        
         String reposPath = configuration.getString("repositoryPath",null);
         if (reposPath != null) {
             setRepositoryPath(reposPath);



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