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 da...@apache.org on 2006/11/02 16:48:29 UTC
svn commit: r470396 - in
/james/server/sandbox/mailet-refactorings/src/java/org/apache: james/
james/transport/ james/transport/mailets/ mailet/
Author: danny
Date: Thu Nov 2 07:48:28 2006
New Revision: 470396
URL: http://svn.apache.org/viewvc?view=rev&rev=470396
Log:
partly refactored user repository access into mailet context, didn't do default user inbox, I'd like to get that concept killed off, and I think that mailbox manager does that.
Modified:
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/James.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/Loader.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListserv.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListservManager.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservManager.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservProcessor.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/ToRepository.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java
james/server/sandbox/mailet-refactorings/src/java/org/apache/mailet/MailetContext.java
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/James.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/James.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/James.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/James.java Thu Nov 2 07:48:28 2006
@@ -65,6 +65,8 @@
import javax.mail.internet.MimeMessage;
import javax.mail.internet.ParseException;
+
+
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.SequenceInputStream;
@@ -269,9 +271,12 @@
getLogger().info("JAMES ...init end");
}
- private void initializeServices() throws Exception {
+ private void initializeServices() throws Exception {
// TODO: This should retrieve a more specific named thread pool from
// Context that is set up in server.xml
+
+
+
try {
Store store = (Store) compMgr.lookup( Store.ROLE );
setStore(store);
@@ -287,6 +292,8 @@
try {
SpoolRepository spool = (SpoolRepository) compMgr.lookup(SpoolRepository.ROLE);
setSpool(spool);
+
+
if (getLogger().isDebugEnabled()) {
getLogger().debug("Using SpoolRepository: " + spool.toString());
}
@@ -735,9 +742,7 @@
}
/**
- * @param repoPath
- * @return
- * @throws MailetException
+ * @see org.apache.james.RepositoryContext#getMailRepository(java.lang.String)
*/
public MailRepository getMailRepository(String repoPath) throws MailetException {
@@ -901,5 +906,23 @@
return mailFactory ;
+ }
+
+ /**
+ * @see org.apache.mailet.MailetContext#getUsersRepository(java.lang.String)
+ */
+ public UsersRepository getUsersRepository(String repoURL) throws MailetException {
+
+ //ServiceManager compMgr = (ServiceManager)getMailetContext().getAttribute(Constants.AVALON_COMPONENT_MANAGER);
+ try {
+ UsersStore usersStore = (UsersStore)compMgr.lookup(UsersStore.ROLE);
+ return usersStore.getRepository( repoURL );
+ } catch (ServiceException cnfe) {
+ log("Failed to retrieve Store component:" + cnfe.getMessage());
+ throw new MailetException("Failed to retrieve Users Repo:" + repoURL,cnfe);
+ } catch (Exception e) {
+ log("Failed to retrieve Store component:" + e.getMessage());
+ throw new MailetException("Failed to retrieve Users Repo:" + repoURL,e);
+ }
}
}
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/Loader.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/Loader.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/Loader.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/Loader.java Thu Nov 2 07:48:28 2006
@@ -42,6 +42,7 @@
import org.apache.mailet.MailRepository;
import org.apache.mailet.MailetContext;
import org.apache.mailet.MailetException;
+import org.apache.mailet.UsersRepository;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
@@ -311,6 +312,13 @@
public MailFactory getMailFactory() {
return mailetContext.getMailFactory();
+ }
+
+ /**
+ * @see org.apache.mailet.MailetContext#getUsersRepository(java.lang.String)
+ */
+ public UsersRepository getUsersRepository(String repoURL) throws MailetException {
+ return mailetContext.getUsersRepository(repoURL);
}
}
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListserv.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListserv.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListserv.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListserv.java Thu Nov 2 07:48:28 2006
@@ -25,11 +25,9 @@
import java.util.Collection;
import java.util.Iterator;
import javax.mail.internet.ParseException;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.james.Constants;
-import org.apache.james.services.UsersStore;
+
import org.apache.mailet.MailAddress;
+import org.apache.mailet.MailetException;
import org.apache.mailet.UsersRepository;
/**
@@ -101,8 +99,9 @@
/**
* Initialize the mailet
+ * @throws MailetException
*/
- public void init() {
+ public void init() throws MailetException {
try {
membersOnly = new Boolean(getInitParameter("membersonly")).booleanValue();
} catch (Exception e) {
@@ -126,17 +125,10 @@
// Ignore any exceptions, default to true
}
- ServiceManager compMgr = (ServiceManager)getMailetContext().getAttribute(Constants.AVALON_COMPONENT_MANAGER);
- try {
- UsersStore usersStore = (UsersStore)compMgr.lookup(UsersStore.ROLE);
- String repName = getInitParameter("repositoryName");
-
- members = (UsersRepository)usersStore.getRepository( repName );
- } catch (ServiceException cnfe) {
- log("Failed to retrieve Store component:" + cnfe.getMessage());
- } catch (Exception e) {
- log("Failed to retrieve Store component:" + e.getMessage());
- }
+
+ String repName = getInitParameter("repositoryName");
+ members = getMailetContext().getUsersRepository( repName );
+
}
public Collection getMembers() throws ParseException {
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListservManager.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListservManager.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListservManager.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/AvalonListservManager.java Thu Nov 2 07:48:28 2006
@@ -21,11 +21,10 @@
package org.apache.james.transport.mailets;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.james.Constants;
-import org.apache.james.services.UsersStore;
+
+
import org.apache.mailet.MailAddress;
+import org.apache.mailet.MailetException;
import org.apache.mailet.UsersRepository;
/**
@@ -44,19 +43,14 @@
/**
* Initialize the mailet
+ * @throws MailetException
*/
- public void init() {
- ServiceManager compMgr = (ServiceManager)getMailetContext().getAttribute(Constants.AVALON_COMPONENT_MANAGER);
- try {
- UsersStore usersStore = (UsersStore) compMgr.lookup(UsersStore.ROLE);
+ public void init() throws MailetException {
+
String repName = getInitParameter("repositoryName");
- members = (UsersRepository) usersStore.getRepository(repName);
- } catch (ServiceException cnfe) {
- log("Failed to retrieve Store component:" + cnfe.getMessage());
- } catch (Exception e) {
- log("Failed to retrieve Store component:" + e.getMessage());
- }
+ members = getMailetContext().getUsersRepository(repName);
+
}
/**
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservManager.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservManager.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservManager.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservManager.java Thu Nov 2 07:48:28 2006
@@ -33,15 +33,13 @@
import javax.mail.MessagingException;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.james.Constants;
-import org.apache.james.services.UsersStore;
import org.apache.james.transport.mailets.listservcommands.ErrorCommand;
import org.apache.james.transport.mailets.listservcommands.IListServCommand;
import org.apache.james.util.XMLResources;
import org.apache.mailet.GenericMailet;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
+import org.apache.mailet.MailetException;
import org.apache.mailet.UsersRepository;
/**
@@ -334,17 +332,13 @@
/**
* Fetch the repository of users
+ * @throws MailetException
*/
- protected void initUsersRepository() {
- ServiceManager compMgr = (ServiceManager) getMailetContext().getAttribute(Constants.AVALON_COMPONENT_MANAGER);
- try {
- UsersStore usersStore = (UsersStore) compMgr.lookup(UsersStore.ROLE);
+ protected void initUsersRepository() throws MailetException {
+
String repName = getInitParameter("repositoryName");
- usersRepository = usersStore.getRepository(repName);
- } catch (Exception e) {
- log("Failed to retrieve Store component:" + e.getMessage());
- }
+ usersRepository = getMailetContext().getUsersRepository(repName);
}
/**
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservProcessor.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservProcessor.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservProcessor.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/CommandListservProcessor.java Thu Nov 2 07:48:28 2006
@@ -32,9 +32,6 @@
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.ParseException;
import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.james.Constants;
-import org.apache.james.services.UsersStore;
import org.apache.james.util.XMLResources;
import org.apache.mailet.GenericMailet;
import org.apache.mailet.Mail;
@@ -413,14 +410,14 @@
/**
* Fetch the repository of users
+ * @throws MailetException
*/
- protected void initUsersRepository() throws Exception {
- ServiceManager compMgr = (ServiceManager) getMailetContext().getAttribute(Constants.AVALON_COMPONENT_MANAGER);
- UsersStore usersStore = (UsersStore) compMgr.lookup(UsersStore.ROLE);
+ protected void initUsersRepository() throws MailetException {
+
String repName = getInitParameter("repositoryName");
- usersRepository = usersStore.getRepository(repName);
- if (usersRepository == null) throw new Exception("Invalid user repository: " + repName);
+ usersRepository = getMailetContext().getUsersRepository(repName);
+ if (usersRepository == null) throw new MailetException("Invalid user repository: " + repName);
}
/**
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/ToRepository.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/ToRepository.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/ToRepository.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/ToRepository.java Thu Nov 2 07:48:28 2006
@@ -22,6 +22,7 @@
package org.apache.james.transport.mailets;
+
import org.apache.mailet.GenericMailet;
import org.apache.mailet.Mail;
import org.apache.mailet.MailRepository;
@@ -64,7 +65,6 @@
// Ignore exception, default to false
}
-
try{
repository = getMailetContext().getMailRepository(repositoryPath);
@@ -77,6 +77,8 @@
}
+
+
/**
* Store a mail in a particular repository.
*
@@ -90,6 +92,7 @@
.append(" in ")
.append(repositoryPath);
log(logBuffer.toString());
+
repository.store(mail);
if (!passThrough) {
mail.setState(Mail.GHOST);
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java Thu Nov 2 07:48:28 2006
@@ -28,10 +28,8 @@
import java.util.Vector;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.james.Constants;
-import org.apache.james.services.UsersStore;
import org.apache.james.services.VirtualUserTable;
import org.apache.james.vut.ErrorMappingException;
import org.apache.mailet.GenericMailet;
@@ -235,11 +233,11 @@
ArrayList ret = new ArrayList();
ret.add(new MailAddress(realName, recipient.getHost()));
return ret;
- } else {
+ }
ArrayList ret = new ArrayList();
ret.add(recipient);
return ret;
- }
+
}
/**
@@ -250,24 +248,11 @@
ServiceManager compMgr = (ServiceManager) getMailetContext()
.getAttribute(Constants.AVALON_COMPONENT_MANAGER);
- try {
+
String userRep = getInitParameter("usersRepository");
- if (userRep == null || userRep.length() == 0) {
- try {
- usersRepository = (UsersRepository) compMgr
- .lookup(UsersRepository.ROLE);
- } catch (ServiceException e) {
- log("Failed to retrieve UsersRepository component:"
- + e.getMessage());
- }
- } else {
- UsersStore usersStore = (UsersStore) compMgr.lookup(UsersStore.ROLE);
- usersRepository = usersStore.getRepository(userRep);
- }
-
- } catch (ServiceException cnfe) {
- log("Failed to retrieve UsersStore component:" + cnfe.getMessage());
- }
+
+ usersRepository = getMailetContext().getUsersRepository(userRep);
+
}
Modified: james/server/sandbox/mailet-refactorings/src/java/org/apache/mailet/MailetContext.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/mailet-refactorings/src/java/org/apache/mailet/MailetContext.java?view=diff&rev=470396&r1=470395&r2=470396
==============================================================================
--- james/server/sandbox/mailet-refactorings/src/java/org/apache/mailet/MailetContext.java (original)
+++ james/server/sandbox/mailet-refactorings/src/java/org/apache/mailet/MailetContext.java Thu Nov 2 07:48:28 2006
@@ -26,6 +26,7 @@
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
+
/**
* Defines a set of methods that a mailet or matcher uses to communicate
* with its mailet container, for example, to send a new message, to
@@ -302,4 +303,7 @@
* @return a MailFactory implementation
*/
public MailFactory getMailFactory();
-}
+
+public UsersRepository getUsersRepository(String repoURL) throws MailetException;
+
+ }
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org