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/11/24 17:36:57 UTC

svn commit: r883772 - in /james/server/trunk: phoenix-deployment/src/test/org/apache/james/ spoolmanager-function/src/main/java/org/apache/james/transport/mailets/ spoolmanager-function/src/test/java/org/apache/james/transport/ spoolmanager-function/sr...

Author: norman
Date: Tue Nov 24 16:36:56 2009
New Revision: 883772

URL: http://svn.apache.org/viewvc?rev=883772&view=rev
Log:
More decoupling of Avalon to move to Guice (JAMES-893)

Modified:
    james/server/trunk/phoenix-deployment/src/test/org/apache/james/AvalonJamesTest.java
    james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
    james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/ToMultiRepository.java
    james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java
    james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/mailets/LocalDeliveryTest.java

Modified: james/server/trunk/phoenix-deployment/src/test/org/apache/james/AvalonJamesTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/AvalonJamesTest.java?rev=883772&r1=883771&r2=883772&view=diff
==============================================================================
--- james/server/trunk/phoenix-deployment/src/test/org/apache/james/AvalonJamesTest.java (original)
+++ james/server/trunk/phoenix-deployment/src/test/org/apache/james/AvalonJamesTest.java Tue Nov 24 16:36:56 2009
@@ -30,7 +30,6 @@
 import org.apache.james.services.SpoolRepository;
 import org.apache.james.test.mock.avalon.MockLogger;
 import org.apache.james.test.mock.avalon.MockServiceManager;
-import org.apache.james.userrepository.MockUsersRepository;
 
 public class AvalonJamesTest extends JamesTest{
 

Modified: james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java?rev=883772&r1=883771&r2=883772&view=diff
==============================================================================
--- james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java (original)
+++ james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java Tue Nov 24 16:36:56 2009
@@ -22,11 +22,15 @@
 package org.apache.james.transport.mailets;
 
 import org.apache.commons.collections.iterators.IteratorChain;
+import org.apache.james.api.user.UsersRepository;
+import org.apache.james.api.user.UsersStore;
+import org.apache.james.services.MailServer;
 import org.apache.mailet.base.GenericMailet;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.MailetContext;
 
+import javax.annotation.Resource;
 import javax.mail.MessagingException;
 
 import java.util.ArrayList;
@@ -53,6 +57,29 @@
      */
     private ToMultiRepository deliveryMailet;
 
+    private UsersRepository usersRepository;
+
+    private UsersStore usersStore;
+
+    private MailServer mailServer;
+
+
+    @Resource(name="org.apache.james.api.user.UsersRepository")
+    public void setUsersRepository(UsersRepository usersRepository) {
+        this.usersRepository = usersRepository;
+    }
+    
+    @Resource(name="org.apache.james.api.user.UsersStore")
+    public void setUsersStore(UsersStore usersStore) {
+        this.usersStore = usersStore;
+    }
+    
+    @Resource(name="org.apache.james.services.MailServer")
+    public void setMailServer(MailServer mailServer) {
+        this.mailServer = mailServer;
+    }
+    
+    
     /**
      * Delivers a mail to a local mailbox.
      * 
@@ -85,8 +112,11 @@
         super.init();
         
         aliasingMailet = new UsersRepositoryAliasingForwarding();
+        aliasingMailet.setUsersRepository(usersRepository);
+        aliasingMailet.setUsersStore(usersStore);
         aliasingMailet.init(getMailetConfig());
         deliveryMailet = new ToMultiRepository();
+        deliveryMailet.setMailServer(mailServer);
         MailetConfig m = new MailetConfig() {
 
             /**

Modified: james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/ToMultiRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/ToMultiRepository.java?rev=883772&r1=883771&r2=883772&view=diff
==============================================================================
--- james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/ToMultiRepository.java (original)
+++ james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/ToMultiRepository.java Tue Nov 24 16:36:56 2009
@@ -22,10 +22,7 @@
 package org.apache.james.transport.mailets;
 
 import org.apache.avalon.cornerstone.services.store.Store;
-import org.apache.avalon.framework.configuration.DefaultConfiguration;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.james.Constants;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.james.core.MailImpl;
 import org.apache.james.services.MailRepository;
 import org.apache.james.services.MailServer;
@@ -34,6 +31,7 @@
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.RFC2822Headers;
 
+import javax.annotation.Resource;
 import javax.mail.Header;
 import javax.mail.MessagingException;
 import javax.mail.internet.InternetHeaders;
@@ -114,6 +112,12 @@
      */
     private boolean resetReturnPath;
 
+    
+    @Resource(name="org.apache.james.services.MailServer")
+    public void setMailServer(MailServer mailServer) {
+        this.mailServer = mailServer;
+    }
+    
     /**
      * Delivers a mail to a local mailbox.
      * 
@@ -261,17 +265,7 @@
      */
     public void init() throws MessagingException {
         super.init();
-        ServiceManager compMgr = (ServiceManager) getMailetContext()
-                .getAttribute(Constants.AVALON_COMPONENT_MANAGER);
-
-        try {
-            // Instantiate the a MailRepository for outgoing mails
-            store = (Store) compMgr.lookup(Store.ROLE);
-        } catch (ServiceException cnfe) {
-            log("Failed to retrieve Store component:" + cnfe.getMessage());
-        } catch (Exception e) {
-            log("Failed to retrieve Store component:" + e.getMessage());
-        }
+   
 
         repositoryUrl = getInitParameter("repositoryUrl");
         if (repositoryUrl != null) {
@@ -286,17 +280,6 @@
             if (!SELECTOR_LOCALPART.equals(repositorySelector) && !SELECTOR_FULL.equals(repositorySelector)) {
                 throw new MessagingException("repositorySelector valid options are "+SELECTOR_FULL+" or "+SELECTOR_LOCALPART);
             }
-        } else {
-
-            try {
-                // Instantiate the a MailRepository for outgoing mails
-                mailServer = (MailServer) compMgr.lookup(MailServer.ROLE);
-            } catch (ServiceException cnfe) {
-                log("Failed to retrieve MailServer component:" + cnfe.getMessage());
-            } catch (Exception e) {
-                log("Failed to retrieve MailServer component:" + e.getMessage());
-            }
-            
         }
 
         deliveryHeader = getInitParameter("addDeliveryHeader");
@@ -325,10 +308,9 @@
             StringBuffer destinationBuffer = new StringBuffer(192).append(
             repositoryUrl).append(userName).append("/");
             String destination = destinationBuffer.toString();
-            DefaultConfiguration mboxConf = new DefaultConfiguration(
-                    "repository", "generated:ToMultiRepository.getUserInbox()");
-            mboxConf.setAttribute("destinationURL", destination);
-            mboxConf.setAttribute("type", repositoryType);
+            DefaultConfigurationBuilder mboxConf = new DefaultConfigurationBuilder();
+            mboxConf.addProperty("[@destinationURL]", destination);
+            mboxConf.addProperty("[@type]", repositoryType);
             try {
                 userInbox = (MailRepository) store.select(mboxConf);
             } catch (Exception e) {

Modified: james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java?rev=883772&r1=883771&r2=883772&view=diff
==============================================================================
--- james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java (original)
+++ james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/LinearProcessorTest.java Tue Nov 24 16:36:56 2009
@@ -20,8 +20,6 @@
 package org.apache.james.transport;
 
 import org.apache.avalon.framework.container.ContainerUtil;
-import org.apache.avalon.framework.logger.ConsoleLogger;
-import org.apache.avalon.framework.logger.Logger;
 import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.core.MailImpl;
 import org.apache.james.core.MimeMessageCopyOnWriteProxy;
@@ -237,8 +235,7 @@
         }
         mimeMessage = new MimeMessageCopyOnWriteProxy(mmis);
         linearProcessor = new LinearProcessor();
-        Logger l = new ConsoleLogger();
-        ContainerUtil.enableLogging(linearProcessor, l);
+        linearProcessor.setLogger(new SimpleLog("Logger"));
     }
 
     public void tearDown() throws Exception {

Modified: james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/mailets/LocalDeliveryTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/mailets/LocalDeliveryTest.java?rev=883772&r1=883771&r2=883772&view=diff
==============================================================================
--- james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/mailets/LocalDeliveryTest.java (original)
+++ james/server/trunk/spoolmanager-function/src/test/java/org/apache/james/transport/mailets/LocalDeliveryTest.java Tue Nov 24 16:36:56 2009
@@ -19,39 +19,35 @@
 
 package org.apache.james.transport.mailets;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.ParseException;
+
+import junit.framework.TestCase;
+
 import org.apache.avalon.framework.container.ContainerUtil;
-import org.apache.james.Constants;
-import org.apache.james.api.user.UsersRepository;
 import org.apache.james.core.MailImpl;
 import org.apache.james.impl.user.DefaultJamesUser;
 import org.apache.james.services.MailRepository;
-import org.apache.james.services.MailServer;
-import org.apache.james.test.mock.avalon.MockServiceManager;
 import org.apache.james.test.mock.james.InMemorySpoolRepository;
 import org.apache.james.test.mock.james.MockMailServer;
-import org.apache.mailet.base.test.FakeMimeMessage;
-import org.apache.mailet.base.test.FakeMail;
-import org.apache.mailet.base.test.FakeMailContext;
-import org.apache.mailet.base.test.FakeMailetConfig;
-import org.apache.mailet.base.test.MailUtil;
 import org.apache.james.userrepository.MockUsersRepository;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.Mailet;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.ParseException;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import junit.framework.TestCase;
+import org.apache.mailet.base.test.FakeMail;
+import org.apache.mailet.base.test.FakeMailContext;
+import org.apache.mailet.base.test.FakeMailetConfig;
+import org.apache.mailet.base.test.FakeMimeMessage;
+import org.apache.mailet.base.test.MailUtil;
 
 /**
  * Test LocalDelivery Mailet
@@ -60,7 +56,6 @@
 
     private HashMap mailboxes;
     private FakeMailContext mockMailetContext;
-    private MockServiceManager mockServiceManager;
     private MockMailServer mockMailServer;
     private MockUsersRepository mockUsersRepository;
 
@@ -242,7 +237,6 @@
      * 
      */
     public void setUp() throws ParseException {
-        mockServiceManager = new MockServiceManager();
         mockUsersRepository = new MockUsersRepository();
         mockUsersRepository.setForceUseJamesUser();
         mockUsersRepository.addUser("localuser", "password");
@@ -268,7 +262,6 @@
         u = (DefaultJamesUser) mockUsersRepository.getUserByName("forwardToLocal");
         u.setForwarding(true);
         u.setForwardingDestination(new MailAddress("localuser@ignoreddomain"));
-        mockServiceManager.put(UsersRepository.ROLE,mockUsersRepository);
         mockMailServer = new MockMailServer(mockUsersRepository);
         mailboxes = new HashMap();
         mailboxes.put("localuser", new InMemorySpoolRepository());
@@ -279,7 +272,6 @@
             String mboxName = (String) mbi.next();
             mockMailServer.setUserInbox(mboxName, (MailRepository) mailboxes.get(mboxName));
         }
-        mockServiceManager.put(MailServer.ROLE, mockMailServer);
 
         mockMailetContext = new FakeMailContext() {
 
@@ -306,13 +298,11 @@
         mockUsersRepository.setEnableAliases(false);
         mockUsersRepository.setEnableForwarding(false);
         mockUsersRepository.setIgnoreCase(false);
-        mockMailetContext.setAttribute(Constants.AVALON_COMPONENT_MANAGER, mockServiceManager);
     }
     
     public void tearDown() {
         mockMailetContext = null;
         mailboxes = null;
-        mockServiceManager = null;
     }
 
     /**
@@ -400,7 +390,9 @@
     
     public Mailet getMailet(Properties p) throws MessagingException {
         FakeMailetConfig mockMailetConfig = new FakeMailetConfig("TestedLocalDelivery", mockMailetContext, p);
-        Mailet m = new LocalDelivery();
+        LocalDelivery m = new LocalDelivery();
+        m.setUsersRepository(mockUsersRepository);
+        m.setMailServer(mockMailServer);
         m.init(mockMailetConfig);
         return m;
     }



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