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 2010/09/24 10:45:19 UTC

svn commit: r1000759 - in /james/server/trunk: core-library/src/test/java/org/apache/james/services/ mailets/src/main/java/org/apache/james/transport/mailets/ management/src/main/java/org/apache/james/management/impl/ management/src/test/java/org/apach...

Author: norman
Date: Fri Sep 24 08:45:18 2010
New Revision: 1000759

URL: http://svn.apache.org/viewvc?rev=1000759&view=rev
Log:
Remove SpoolRepository (it was replaced by MailQueue) + remove Retry mailet which should not be needed anymore because RemoteDelivery does the Retry stuff by itself

Removed:
    james/server/trunk/core-library/src/test/java/org/apache/james/services/InMemorySpoolRepository.java
    james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/Retry.java
    james/server/trunk/management/src/main/java/org/apache/james/management/impl/SpoolManagement.java
    james/server/trunk/management/src/test/java/org/apache/james/management/impl/SpoolManagementTest.java
    james/server/trunk/spool-api/src/main/java/org/apache/james/services/SpoolRepository.java
Modified:
    james/server/trunk/core-library/src/test/java/org/apache/james/services/MockMailServer.java
    james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java
    james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java
    james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java
    james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/Tester.java
    james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/TesterMailetConfig.java

Modified: james/server/trunk/core-library/src/test/java/org/apache/james/services/MockMailServer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/test/java/org/apache/james/services/MockMailServer.java?rev=1000759&r1=1000758&r2=1000759&view=diff
==============================================================================
--- james/server/trunk/core-library/src/test/java/org/apache/james/services/MockMailServer.java (original)
+++ james/server/trunk/core-library/src/test/java/org/apache/james/services/MockMailServer.java Fri Sep 24 08:45:18 2010
@@ -19,129 +19,48 @@
 
 package org.apache.james.services;
 
-import org.apache.james.api.user.UsersRepository;
-import org.apache.james.core.MailImpl;
-import org.apache.james.lifecycle.Disposable;
-import org.apache.james.lifecycle.LifecycleUtil;
-import org.apache.james.mailrepository.MailRepository;
-import org.apache.james.services.MailServer;
-import org.apache.mailet.base.test.MailUtil;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import java.util.concurrent.LinkedBlockingDeque;
 
-import javax.mail.Address;
 import javax.mail.MessagingException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeMessage;
 
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
+import org.apache.james.lifecycle.Disposable;
+import org.apache.james.lifecycle.LifecycleUtil;
+import org.apache.mailet.Mail;
+import org.apache.mailet.base.test.MailUtil;
 
 public class MockMailServer implements MailServer, Disposable {
 
-    private final UsersRepository m_users;
-
     private int m_maxMessageSizeBytes = 0;
 
-    // private final ArrayList mails = new ArrayList();
-    
-    private final InMemorySpoolRepository mails = new InMemorySpoolRepository();
-    private String lastMailKey = null; 
-
-    private HashMap<String,MailRepository> inboxes;
+    private final LinkedBlockingDeque<Mail> mails = new LinkedBlockingDeque<Mail>();
     
     private boolean virtualHosting;
 
-    public MockMailServer(UsersRepository usersRepository) {
-        this.m_users = usersRepository;
-    }
-
-    public void sendMail(MailAddress sender, Collection<MailAddress> recipients, MimeMessage msg) throws MessagingException {
-        //        Object[] mailObjects = new Object[]{sender, recipients, new MimeMessageCopyOnWriteProxy(msg)};
-//        mails.add(mailObjects);
-//        
-        String newId = MailUtil.newId();
-        MailImpl m = new MailImpl(newId, sender, recipients, msg);
-        sendMail(m);
-        m.dispose();
-    }
-
-    public void sendMail(MailAddress sender, Collection<MailAddress> recipients, InputStream msg) throws MessagingException {
-//        Object[] mailObjects = new Object[]{sender, recipients, msg};
-//        mails.add(mailObjects);
-        MailImpl m = new MailImpl(MailUtil.newId(), sender, recipients, msg);
-        sendMail(m);
-        m.dispose();
-    }
 
     public void sendMail(Mail mail) throws MessagingException {
         int bodySize = mail.getMessage().getSize();
         if (m_maxMessageSizeBytes != 0 && m_maxMessageSizeBytes < bodySize) throw new MessagingException("message size exception");
         
-        lastMailKey = mail.getName();
-        mails.store(mail);
-        // sendMail(mail.getSender(), mail.getRecipients(), mail.getMessage());
-    }
-
-    public void sendMail(MimeMessage message) throws MessagingException {
-        // taken from class org.apache.james.James 
-        MailAddress sender = new MailAddress((InternetAddress)message.getFrom()[0]);
-        Collection<MailAddress> recipients = new HashSet<MailAddress>();
-        Address addresses[] = message.getAllRecipients();
-        if (addresses != null) {
-            for (int i = 0; i < addresses.length; i++) {
-                // Javamail treats the "newsgroups:" header field as a
-                // recipient, so we want to filter those out.
-                if ( addresses[i] instanceof InternetAddress ) {
-                    recipients.add(new MailAddress((InternetAddress)addresses[i]));
-                }
-            }
-        }
-        sendMail(sender, recipients, message);
-    }
-
-    public MailRepository getUserInbox(String userName) {
-        if (inboxes==null) {
-            return null;
-        } else {
-            if ((userName.indexOf("@") < 0) == false && supportVirtualHosting() == false) userName = userName.split("@")[0]; 
-            return (MailRepository) inboxes.get(userName);
-        }
-        
-    }
-    
-    public void setUserInbox(String userName, MailRepository inbox) {
-        if (inboxes == null) {
-            inboxes = new HashMap<String,MailRepository>();
+        try {
+            mails.put(mail);
+        } catch (InterruptedException e) {
+            throw new MessagingException("Unable to queue", e);
         }
-        inboxes.put(userName,inbox);
     }
 
     public synchronized String getId() {
         return MailUtil.newId();
     }
 
-    public boolean addUser(String userName, String password) {
-        m_users.addUser(userName, password);
-        return true;
-    }
-
     public boolean isLocalServer(String serverName) {
         return "localhost".equals(serverName);
     }
 
     public Mail getLastMail()
     {
-        if (mails.size() == 0) return null;
-        try {
-            return mails.retrieve(lastMailKey);
-        } catch (MessagingException e) {
-            e.printStackTrace();
-        }
-        return null;
+        if (mails.size() == 0) return null; 
+        return mails.getLast();
+      
     }
 
     public void setMaxMessageSizeBytes(int maxMessageSizeBytes) {
@@ -149,27 +68,16 @@ public class MockMailServer implements M
     }
 
     public void dispose() {
-//        if (mails != null) {
-//            Iterator i = mails.iterator();
-//            while (i.hasNext()) {
-//                Object[] obs = (Object[]) i.next();
-//                // this is needed to let the MimeMessageWrapper to dispose.
-//                ContainerUtil.dispose(obs[2]);
-//            }
-//        }
-        mails.dispose();
-        if (inboxes!=null) {
-            Iterator<MailRepository> i = inboxes.values().iterator();
-            while (i.hasNext()) {
-                MailRepository m = i.next();
-                LifecycleUtil.dispose(m);
+        while(mails.isEmpty() == false) {
+            try {
+                LifecycleUtil.dispose(mails.take());
+            } catch (InterruptedException e) {
+                e.printStackTrace();
             }
         }
+        
     }
-    
-    public MailRepository getSentMailsRepository() {
-        return mails;
-    }
+
     
     public void setVirtualHosting(boolean virtualHosting) {
         this.virtualHosting = virtualHosting;

Modified: james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java?rev=1000759&r1=1000758&r2=1000759&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java (original)
+++ james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/AbstractAsyncPOP3ServerTest.java Fri Sep 24 08:45:18 2010
@@ -98,7 +98,7 @@ public abstract class AbstractAsyncPOP3S
     protected void setUpServiceManager() throws Exception {
         serviceManager = new FakeJSR250Loader();
 
-        m_mailServer = new MockMailServer(m_usersRepository);
+        m_mailServer = new MockMailServer();
         serviceManager.put(MailServer.ROLE, m_mailServer);
         serviceManager.put(UsersRepository.ROLE,
                 m_usersRepository);

Modified: james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java?rev=1000759&r1=1000758&r2=1000759&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java (original)
+++ james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java Fri Sep 24 08:45:18 2010
@@ -182,7 +182,7 @@ public abstract class AbstractRemoteMana
 
 		m_mockUsersRepository = new MockUsersRepository();
 
-		mailServer = new MockMailServer(m_mockUsersRepository);
+		mailServer = new MockMailServer();
 		usersStore = new MockUsersStore(m_mockUsersRepository);
 
 		serviceManager.put(MailServer.ROLE, mailServer);

Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java?rev=1000759&r1=1000758&r2=1000759&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java Fri Sep 24 08:45:18 2010
@@ -212,7 +212,7 @@ public abstract class AbstractSMTPServer
 
     protected void setUpFakeLoader() throws Exception {
         m_serviceManager = new FakeJSR250Loader();
-        m_mailServer = new MockMailServer(new MockUsersRepository());
+        m_mailServer = new MockMailServer();
         m_serviceManager.put(MailServer.ROLE, m_mailServer);
         m_serviceManager.put(UsersRepository.ROLE, m_usersRepository);
 

Modified: james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/Tester.java
URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/Tester.java?rev=1000759&r1=1000758&r2=1000759&view=diff
==============================================================================
--- james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/Tester.java (original)
+++ james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/Tester.java Fri Sep 24 08:45:18 2010
@@ -22,7 +22,6 @@ package org.apache.james.transport.remot
 import org.apache.james.api.dnsservice.DNSService;
 import org.apache.james.api.dnsservice.TemporaryResolutionException;
 import org.apache.james.core.MailImpl;
-import org.apache.james.mailrepository.MailRepository;
 import org.apache.james.services.MailServer;
 import org.apache.mailet.HostAddress;
 import org.apache.mailet.Mail;
@@ -40,7 +39,6 @@ import javax.mail.URLName;
 import javax.mail.Provider.Type;
 import javax.mail.internet.MimeMessage;
 
-import java.io.InputStream;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
@@ -136,27 +134,14 @@ public class Tester {
             public boolean supportVirtualHosting() {
                 return false;
             }
-            
-            public void sendMail(MimeMessage message) throws MessagingException {                
-            }
-            
             public void sendMail(Mail mail) throws MessagingException {                
             }
-            
-            public void sendMail(MailAddress sender, Collection<MailAddress> recipients, InputStream msg) throws MessagingException {                
-            }
-            
-            public void sendMail(MailAddress sender, Collection<MailAddress> recipients, MimeMessage msg) throws MessagingException {                
-            }
+
             
             public boolean isLocalServer(String serverName) {
                 return false;
             }
             
-            public MailRepository getUserInbox(String userName) {
-                return null;
-            }
-            
             public String getId() {
                 return null;
             }
@@ -168,18 +153,9 @@ public class Tester {
             public String getDefaultDomain() {
                 return null;
             }
-            
-            public boolean addUser(String userName, String password) {
-                return false;
-            }
         });
         remoteDelivery.init(mailetConfig);
 
-        if (mailetConfig.getWrappedSpoolRepository() != null) log("DEBUG", "Init WrappedSpoolRepository OK");
-        else {
-            log("WARN", "Init WrappedSpoolRepository ERROR");
-            //throw new IllegalStateException();
-        }
         
         Session session = obtainSession(new Properties());
         Transport t = session.getTransport("smtp");

Modified: james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/TesterMailetConfig.java
URL: http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/TesterMailetConfig.java?rev=1000759&r1=1000758&r2=1000759&view=diff
==============================================================================
--- james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/TesterMailetConfig.java (original)
+++ james/server/trunk/spoolmanager/src/test/java/org/apache/james/transport/remotedeliverytester/TesterMailetConfig.java Fri Sep 24 08:45:18 2010
@@ -19,7 +19,7 @@
 
 package org.apache.james.transport.remotedeliverytester;
 
-import org.apache.james.services.SpoolRepository;
+import org.apache.james.queue.MailQueue;
 import org.apache.mailet.base.test.FakeMailContext;
 import org.apache.mailet.HostAddress;
 import org.apache.mailet.Mail;
@@ -99,8 +99,8 @@ public class TesterMailetConfig implemen
     private Properties parameters;
     private MailetContextTester mailetContext;
     
-    // wrappedSpoolRepository will be set only when this manage the outgoing
-    private SpoolRepository wrappedSpoolRepository;
+    // wrappedMailQueue will be set only when this manage the outgoing
+    private MailQueue wrappedMailQueue;
 
     public TesterMailetConfig(Tester owner, Properties properties) {
         this.owner = owner;
@@ -108,12 +108,12 @@ public class TesterMailetConfig implemen
         mailetContext = new MailetContextTester(this);
     }
 
-    public SpoolRepository getWrappedSpoolRepository() {
-        return wrappedSpoolRepository;
+    public MailQueue getWrappedMailQueue() {
+        return wrappedMailQueue;
     }
 
-    public void setWrappedSpoolRepository(SpoolRepository wrappedSpoolRepository) {
-        this.wrappedSpoolRepository = wrappedSpoolRepository;
+    public void setWrappedMailQueue(MailQueue wrappedMailQueue) {
+        this.wrappedMailQueue = wrappedMailQueue;
     }
 
     public String getInitParameter(String name) {



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