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/10/12 07:34:42 UTC
svn commit: r1021633 [2/2] - in /james/server/trunk:
core-library/src/test/java/org/apache/james/services/
mailets/src/main/java/org/apache/james/transport/mailets/
mailets/src/test/java/org/apache/james/transport/mailets/
pop3server/src/test/java/org/...
Modified: james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/AbstractVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/AbstractVirtualUserTable.java?rev=1021633&r1=1021632&r2=1021633&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/AbstractVirtualUserTable.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/AbstractVirtualUserTable.java Tue Oct 12 05:34:41 2010
@@ -31,8 +31,8 @@ import org.apache.commons.configuration.
import org.apache.commons.logging.Log;
import org.apache.james.api.vut.ErrorMappingException;
import org.apache.james.api.vut.VirtualUserTable;
-import org.apache.james.api.vut.management.InvalidMappingException;
import org.apache.james.api.vut.management.VirtualUserTableManagement;
+import org.apache.james.api.vut.management.VirtualUserTableManagementException;
import org.apache.james.lifecycle.Configurable;
import org.apache.james.lifecycle.LogEnabled;
import org.apache.mailet.MailAddress;
@@ -186,11 +186,11 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#addRegexMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addRegexMapping(String user, String domain, String regex) throws InvalidMappingException {
+ public boolean addRegexMapping(String user, String domain, String regex) throws VirtualUserTableManagementException {
try {
new Perl5Compiler().compile(regex);
} catch (MalformedPatternException e) {
- throw new InvalidMappingException("Invalid regex: " + regex);
+ throw new VirtualUserTableManagementException("Invalid regex: " + regex);
}
if (checkMapping(user,domain,regex) == true) {
@@ -205,7 +205,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#removeRegexMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeRegexMapping(String user, String domain, String regex) throws InvalidMappingException {
+ public boolean removeRegexMapping(String user, String domain, String regex) throws VirtualUserTableManagementException {
getLogger().info("Remove regex mapping => " + regex + " for user: " + user + " domain: " + domain);
return removeMappingInternal(user,domain,VirtualUserTable.REGEX_PREFIX + regex);
}
@@ -213,14 +213,14 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#addAddressMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addAddressMapping(String user, String domain, String address) throws InvalidMappingException {
+ public boolean addAddressMapping(String user, String domain, String address) throws VirtualUserTableManagementException {
if (address.indexOf('@') < 0) {
address = address + "@localhost";
}
try {
new MailAddress(address);
} catch (ParseException e) {
- throw new InvalidMappingException("Invalid emailAddress: " + address);
+ throw new VirtualUserTableManagementException("Invalid emailAddress: " + address);
}
if (checkMapping(user,domain,address) == true) {
getLogger().info("Add address mapping => " + address + " for user: " + user + " domain: " + domain);
@@ -233,7 +233,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#removeAddressMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeAddressMapping(String user, String domain, String address) throws InvalidMappingException {
+ public boolean removeAddressMapping(String user, String domain, String address) throws VirtualUserTableManagementException {
if (address.indexOf('@') < 0) {
address = address + "@localhost";
}
@@ -244,7 +244,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#addErrorMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addErrorMapping(String user, String domain, String error) throws InvalidMappingException {
+ public boolean addErrorMapping(String user, String domain, String error) throws VirtualUserTableManagementException {
if (checkMapping(user,domain,error) == true) {
getLogger().info("Add error mapping => " + error + " for user: " + user + " domain: " + domain);
return addMappingInternal(user,domain, VirtualUserTable.ERROR_PREFIX + error);
@@ -256,7 +256,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#removeErrorMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeErrorMapping(String user, String domain, String error) throws InvalidMappingException {
+ public boolean removeErrorMapping(String user, String domain, String error) throws VirtualUserTableManagementException {
getLogger().info("Remove error mapping => " + error + " for user: " + user + " domain: " + domain);
return removeMappingInternal(user,domain,VirtualUserTable.ERROR_PREFIX + error);
}
@@ -265,7 +265,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#addMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addMapping(String user, String domain, String mapping) throws InvalidMappingException {
+ public boolean addMapping(String user, String domain, String mapping) throws VirtualUserTableManagementException {
String map = mapping.toLowerCase();
@@ -274,7 +274,7 @@ public abstract class AbstractVirtualUse
} else if (map.startsWith(VirtualUserTable.REGEX_PREFIX)) {
return addRegexMapping(user,domain,map.substring(VirtualUserTable.REGEX_PREFIX.length()));
} else if (map.startsWith(VirtualUserTable.ALIASDOMAIN_PREFIX)) {
- if (user != null) throw new InvalidMappingException("User must be null for aliasDomain mappings");
+ if (user != null) throw new VirtualUserTableManagementException("User must be null for aliasDomain mappings");
return addAliasDomainMapping(domain,map.substring(VirtualUserTable.ALIASDOMAIN_PREFIX.length()));
} else {
return addAddressMapping(user,domain,map);
@@ -285,7 +285,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#removeMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeMapping(String user, String domain, String mapping) throws InvalidMappingException {
+ public boolean removeMapping(String user, String domain, String mapping) throws VirtualUserTableManagementException {
String map = mapping.toLowerCase();
@@ -294,7 +294,7 @@ public abstract class AbstractVirtualUse
} else if (map.startsWith(VirtualUserTable.REGEX_PREFIX)) {
return removeRegexMapping(user,domain,map.substring(VirtualUserTable.REGEX_PREFIX.length()));
} else if (map.startsWith(VirtualUserTable.ALIASDOMAIN_PREFIX)) {
- if (user != null) throw new InvalidMappingException("User must be null for aliasDomain mappings");
+ if (user != null) throw new VirtualUserTableManagementException("User must be null for aliasDomain mappings");
return removeAliasDomainMapping(domain,map.substring(VirtualUserTable.ALIASDOMAIN_PREFIX.length()));
} else {
return removeAddressMapping(user,domain,map);
@@ -326,7 +326,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#addAliasDomainMapping(java.lang.String, java.lang.String)
*/
- public synchronized boolean addAliasDomainMapping(String aliasDomain, String realDomain) throws InvalidMappingException {
+ public synchronized boolean addAliasDomainMapping(String aliasDomain, String realDomain) throws VirtualUserTableManagementException {
getLogger().info("Add domain mapping: " + aliasDomain + " => " + realDomain);
return addMappingInternal(null, aliasDomain, VirtualUserTable.ALIASDOMAIN_PREFIX + realDomain);
}
@@ -334,7 +334,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.api.vut.management.VirtualUserTableManagement#removeAliasDomainMapping(java.lang.String, java.lang.String)
*/
- public synchronized boolean removeAliasDomainMapping(String aliasDomain, String realDomain) throws InvalidMappingException {
+ public synchronized boolean removeAliasDomainMapping(String aliasDomain, String realDomain) throws VirtualUserTableManagementException {
getLogger().info("Remove domain mapping: " + aliasDomain + " => " + realDomain);
return removeMappingInternal(null, aliasDomain, VirtualUserTable.ALIASDOMAIN_PREFIX + realDomain);
}
@@ -352,7 +352,7 @@ public abstract class AbstractVirtualUse
* @return true if successfully
* @throws InvalidMappingException
*/
- protected abstract boolean addMappingInternal(String user, String domain, String mapping) throws InvalidMappingException;
+ protected abstract boolean addMappingInternal(String user, String domain, String mapping) throws VirtualUserTableManagementException;
/**
* Remove mapping
@@ -363,7 +363,7 @@ public abstract class AbstractVirtualUse
* @return true if successfully
* @throws InvalidMappingException
*/
- protected abstract boolean removeMappingInternal(String user, String domain, String mapping) throws InvalidMappingException;
+ protected abstract boolean removeMappingInternal(String user, String domain, String mapping) throws VirtualUserTableManagementException;
/**
* Return Collection of all mappings for the given username and domain
Copied: james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/JamesVirtualUserTable.java (from r1021239, james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/JamesVirtualUserTableStore.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/JamesVirtualUserTable.java?p2=james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/JamesVirtualUserTable.java&p1=james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/JamesVirtualUserTableStore.java&r1=1021239&r2=1021633&rev=1021633&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/JamesVirtualUserTableStore.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/JamesVirtualUserTable.java Tue Oct 12 05:34:41 2010
@@ -18,53 +18,158 @@
****************************************************************/
package org.apache.james.impl.vut;
-import java.util.List;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+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.api.vut.ErrorMappingException;
import org.apache.james.api.vut.VirtualUserTable;
-import org.apache.james.api.vut.VirtualUserTableStore;
-import org.apache.james.impl.AbstractStore;
-
-public class JamesVirtualUserTableStore extends AbstractStore<VirtualUserTable> implements VirtualUserTableStore{
-
- private String defaultName;
-
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.container.spring.AbstractStore#getSubConfigurations(org.apache.commons.configuration.HierarchicalConfiguration)
- */
- @SuppressWarnings("unchecked")
- @Override
- protected List<HierarchicalConfiguration> getSubConfigurations(HierarchicalConfiguration rootConf) {
- return rootConf.configurationsAt("table");
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.api.vut.VirtualUserTableStore#getTable(java.lang.String)
- */
- public VirtualUserTable getTable(String name) {
- if (name == null || name.trim().equals("")) {
- name = defaultName;
- }
-
- VirtualUserTable response = objects.get(name);
-
- if ((response == null) && (log.isWarnEnabled())) {
- log.warn("No VirtualUserTable called: " + name);
- }
- return response;
- }
-
-
- /**
- * Set the default VirtualUserTable which will get returned when no name is given or the name is empty
- *
- * @param defaultName
- */
- public void setDefaultTable(String defaultName) {
- this.defaultName = defaultName;
- }
+import org.apache.james.api.vut.management.VirtualUserTableManagement;
+import org.apache.james.api.vut.management.VirtualUserTableManagementException;
+import org.apache.james.lifecycle.Configurable;
+import org.apache.james.lifecycle.Disposable;
+import org.apache.james.lifecycle.LogEnabled;
+import org.apache.james.services.InstanceFactory;
+
+public class JamesVirtualUserTable implements VirtualUserTableManagement, Configurable, LogEnabled{
+
+ private HierarchicalConfiguration config;
+ private Log log;
+ private InstanceFactory instanceFactory;
+ private VirtualUserTable vut;
+
+ public Collection<String> getMappings(String user, String domain)
+ throws ErrorMappingException {
+ return vut.getMappings(user, domain);
+ }
+
+ public void configure(HierarchicalConfiguration config)
+ throws ConfigurationException {
+ this.config = config;
+ }
+
+ public void setLog(Log log) {
+ this.log = log;
+ }
+
+ @Resource(name="instanceFactory")
+ public void setInstanceFactory(InstanceFactory instanceFactory) {
+ this.instanceFactory = instanceFactory;
+ }
+
+ @PostConstruct
+ public void init() throws Exception {
+ HierarchicalConfiguration conf = config.configurationAt("table");
+
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ String repName = conf.getString("[@name]", null);
+ String repClass = conf.getString("[@class]");
+
+ if (repName == null) {
+ repName = repClass;
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("Starting " + repClass);
+ }
+
+ vut = (VirtualUserTable) instanceFactory.newInstance(loader
+ .loadClass(repClass), log, conf);
+
+ if (log.isInfoEnabled()) {
+ StringBuffer logBuffer = new StringBuffer(64).append("Bean ")
+ .append(repName).append(" started.");
+ log.info(logBuffer.toString());
+ }
+
+ }
+
+ @PreDestroy
+ public void destroy() {
+ if (vut != null) {
+ if (vut instanceof Disposable) {
+ ((Disposable) vut).dispose();
+ }
+ }
+ }
+
+ public boolean addAddressMapping(String user, String domain, String address)
+ throws VirtualUserTableManagementException {
+ return getManagement().addAddressMapping(user, domain, address);
+ }
+
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain)
+ throws VirtualUserTableManagementException {
+ return getManagement().addAliasDomainMapping(aliasDomain, realDomain);
+ }
+
+ public boolean addErrorMapping(String user, String domain, String error)
+ throws VirtualUserTableManagementException {
+ return getManagement().addErrorMapping(user, domain, error);
+ }
+
+ public boolean addMapping(String user, String domain, String mapping)
+ throws VirtualUserTableManagementException {
+ return getManagement().addMapping(user, domain, mapping);
+ }
+
+ public boolean addRegexMapping(String user, String domain, String regex)
+ throws VirtualUserTableManagementException {
+ return getManagement().addRegexMapping(user, domain, regex);
+ }
+
+ public Map<String, Collection<String>> getAllMappings() {
+ try {
+ return getManagement().getAllMappings();
+ } catch (VirtualUserTableManagementException e) {
+ return new HashMap<String, Collection<String>>();
+ }
+ }
+
+ public Collection<String> getUserDomainMappings(String user, String domain)
+ throws VirtualUserTableManagementException {
+ return getManagement().getUserDomainMappings(user, domain);
+ }
+
+ public boolean removeAddressMapping(String user, String domain,
+ String address) throws VirtualUserTableManagementException {
+ return getManagement().removeAddressMapping(user, domain, address);
+ }
+
+ public boolean removeAliasDomainMapping(String aliasDomain,
+ String realDomain) throws VirtualUserTableManagementException {
+ return getManagement().removeAliasDomainMapping(aliasDomain, realDomain);
+
+ }
+
+ public boolean removeErrorMapping(String user, String domain, String error)
+ throws VirtualUserTableManagementException {
+ return getManagement().removeErrorMapping(user, domain, error);
+ }
+
+ public boolean removeMapping(String user, String domain, String mapping)
+ throws VirtualUserTableManagementException {
+ return getManagement().removeMapping(user, domain, mapping);
+ }
+
+ public boolean removeRegexMapping(String user, String domain, String regex)
+ throws VirtualUserTableManagementException {
+ return getManagement().removeRegexMapping(user, domain, regex);
+ }
+
+ private VirtualUserTableManagement getManagement() throws VirtualUserTableManagementException{
+ if (vut instanceof VirtualUserTableManagement) {
+ return (VirtualUserTableManagement) vut;
+ } else {
+ throw new VirtualUserTableManagementException("VirtualUserTable implementation is not managable");
+ }
+ }
}
Copied: james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/VirtualUserTableManagementMBeanImpl.java (from r1021239, james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/VirtualUserTableManagement.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/VirtualUserTableManagementMBeanImpl.java?p2=james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/VirtualUserTableManagementMBeanImpl.java&p1=james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/VirtualUserTableManagement.java&r1=1021239&r2=1021633&rev=1021633&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/VirtualUserTableManagement.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/impl/vut/VirtualUserTableManagementMBeanImpl.java Tue Oct 12 05:34:41 2010
@@ -22,188 +22,69 @@
package org.apache.james.impl.vut;
import java.util.Collection;
-import java.util.Map;
import javax.annotation.Resource;
-import org.apache.james.api.vut.VirtualUserTable;
-import org.apache.james.api.vut.VirtualUserTableStore;
-import org.apache.james.api.vut.management.InvalidMappingException;
import org.apache.james.api.vut.management.VirtualUserTableManagementException;
import org.apache.james.api.vut.management.VirtualUserTableManagementMBean;
-import org.apache.james.api.vut.management.VirtualUserTableManagementService;
/**
* Management for VirtualUserTables
*
*/
-public class VirtualUserTableManagement implements VirtualUserTableManagementService, VirtualUserTableManagementMBean {
+public class VirtualUserTableManagementMBeanImpl implements VirtualUserTableManagementMBean {
- private VirtualUserTableStore store;
- private org.apache.james.api.vut.management.VirtualUserTableManagement defaultVUT;
+ private org.apache.james.api.vut.management.VirtualUserTableManagement vut;
- @Resource(name="virtualusertable-store")
- public void setVirtualUserTableStore(VirtualUserTableStore store) {
- this.store = store;
- }
-
@Resource(name="virtualusertablemanagement")
- public void setVirtualUserTableManagement(org.apache.james.api.vut.management.VirtualUserTableManagement defaultVUT) {
- this.defaultVUT = defaultVUT;
+ public void setVirtualUserTableManagement(org.apache.james.api.vut.management.VirtualUserTableManagement vut) {
+ this.vut = vut;
}
- /**
- * Return a VirtualUserTableManagement with the given tablename
- *
- * @param tableName tableName if null is given the DefaultVirtualUserTable get returned
- * @return VirtualUserTableManagement object
- * @throws VirtualUserTableManagementException if no VirtualUserTable with the given name exists
- */
- private org.apache.james.api.vut.management.VirtualUserTableManagement getTable(String tableName) throws VirtualUserTableManagementException {
- // if the tableName was null return the DefaultVirtualUserTable
- if (tableName == null) {
- return defaultVUT;
- } else {
- VirtualUserTable vut = store.getTable(tableName);
-
- // Check if a table with the given name exists, if not throw an Exception
- if (vut == null) {
- throw new VirtualUserTableManagementException("No VirtualUserTable with such name: " + tableName);
- } else if (!(vut instanceof org.apache.james.api.vut.management.VirtualUserTableManagement)){
- // Used VUT not support management, throw an Exception
- throw new VirtualUserTableManagementException("Used VirtualUserTable implementation not support management");
- } else {
- return (org.apache.james.api.vut.management.VirtualUserTableManagement) vut;
- }
- }
+
+ public boolean addAddressMapping(String user, String domain, String address) throws VirtualUserTableManagementException {
+ return vut.addAddressMapping(user, domain, address);
+ }
+
+ public boolean addErrorMapping(String user, String domain, String error) throws VirtualUserTableManagementException {
+ return vut.addErrorMapping(user, domain, error);
}
+
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#addAddressMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean addAddressMapping(String virtualUserTable, String user, String domain, String address) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).addAddressMapping(user, domain, address);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#addErrorMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean addErrorMapping(String virtualUserTable, String user, String domain, String error) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).addErrorMapping(user, domain, error);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#addRegexMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean addRegexMapping(String virtualUserTable, String user, String domain, String regex) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).addRegexMapping(user, domain, regex);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#getUserDomainMappings(java.lang.String, java.lang.String, java.lang.String)
- */
- public Collection<String> getUserDomainMappings(String virtualUserTable, String user, String domain) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).getUserDomainMappings(user, domain);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#removeAddressMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean removeAddressMapping(String virtualUserTable, String user, String domain, String address) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).removeAddressMapping(user, domain, address);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#removeErrorMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean removeErrorMapping(String virtualUserTable, String user, String domain, String error) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).removeErrorMapping(user, domain, error);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#removeRegexMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean removeRegexMapping(String virtualUserTable, String user, String domain, String regex) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).removeRegexMapping(user, domain, regex);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#addMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean addMapping(String virtualUserTable, String user, String domain, String mapping) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).addMapping(user, domain, mapping);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#removeMapping(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean removeMapping(String virtualUserTable, String user, String domain, String mapping) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).removeMapping(user, domain, mapping);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#getAllMappings(java.lang.String)
- */
- public Map<String,Collection<String>> getAllMappings(String virtualUserTable) throws VirtualUserTableManagementException{
- return getTable(virtualUserTable).getAllMappings();
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#addAliasDomainMapping(java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean addAliasDomainMapping(String virtualUserTable, String aliasDomain, String realDomain) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).addAliasDomainMapping(aliasDomain, realDomain);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
- }
-
- /**
- * @see org.apache.james.api.vut.management.VirtualUserTableManagementService#removeAliasDomainMapping(java.lang.String, java.lang.String, java.lang.String)
- */
- public boolean removeAliasDomainMapping(String virtualUserTable, String aliasDomain, String realDomain) throws VirtualUserTableManagementException {
- try {
- return getTable(virtualUserTable).removeAliasDomainMapping(aliasDomain, realDomain);
- } catch (InvalidMappingException e) {
- throw new VirtualUserTableManagementException(e);
- }
+ public boolean addRegexMapping(String user, String domain, String regex) throws VirtualUserTableManagementException {
+ return vut.addRegexMapping(user, domain, regex);
+ }
+
+
+ public Collection<String> getUserDomainMappings(String user, String domain) throws VirtualUserTableManagementException {
+ return vut.getUserDomainMappings(user, domain);
}
+
+
+ public boolean removeErrorMapping(String user, String domain, String error) throws VirtualUserTableManagementException {
+ return vut.removeErrorMapping(user, domain, error);
+ }
+
+ public boolean removeRegexMapping(String user, String domain, String regex) throws VirtualUserTableManagementException {
+ return vut.removeRegexMapping(user, domain, regex);
+ }
+
+
+ public boolean addMapping(String user, String domain, String mapping) throws VirtualUserTableManagementException {
+ return vut.addMapping(user, domain, mapping);
+ }
+
+
+ public boolean removeMapping(String user, String domain, String mapping) throws VirtualUserTableManagementException {
+ return vut.removeMapping(user, domain, mapping);
+ }
+
+
+ public boolean removeAddressMapping(String user,String domain, String address)
+ throws VirtualUserTableManagementException {
+ return vut.removeAddressMapping(user, domain, address);
+
+ }
+
}
Modified: james/server/trunk/user-library/src/test/java/org/apache/james/test/mock/james/MockVirtualUserTableManagementImpl.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/test/java/org/apache/james/test/mock/james/MockVirtualUserTableManagementImpl.java?rev=1021633&r1=1021632&r2=1021633&view=diff
==============================================================================
--- james/server/trunk/user-library/src/test/java/org/apache/james/test/mock/james/MockVirtualUserTableManagementImpl.java (original)
+++ james/server/trunk/user-library/src/test/java/org/apache/james/test/mock/james/MockVirtualUserTableManagementImpl.java Tue Oct 12 05:34:41 2010
@@ -26,23 +26,23 @@ import java.util.Map;
import org.apache.james.api.vut.ErrorMappingException;
import org.apache.james.api.vut.VirtualUserTable;
-import org.apache.james.api.vut.management.InvalidMappingException;
import org.apache.james.api.vut.management.VirtualUserTableManagement;
+import org.apache.james.api.vut.management.VirtualUserTableManagementException;
import org.apache.james.impl.vut.VirtualUserTableUtil;
public class MockVirtualUserTableManagementImpl implements VirtualUserTableManagement {
HashMap store = new HashMap();
- public boolean addAddressMapping(String user, String domain, String address) throws InvalidMappingException {
+ public boolean addAddressMapping(String user, String domain, String address) throws VirtualUserTableManagementException {
return addRawMapping(user,domain,address);
}
- public boolean addErrorMapping(String user, String domain, String error) throws InvalidMappingException {
+ public boolean addErrorMapping(String user, String domain, String error) throws VirtualUserTableManagementException {
return addRawMapping(user,domain,VirtualUserTable.ERROR_PREFIX + error);
}
- public boolean addMapping(String user, String domain, String mapping) throws InvalidMappingException {
+ public boolean addMapping(String user, String domain, String mapping) throws VirtualUserTableManagementException {
if (mapping.startsWith(VirtualUserTable.ERROR_PREFIX)){
return addErrorMapping(user,domain,mapping.substring(VirtualUserTable.ERROR_PREFIX.length()));
} else if (mapping.startsWith(VirtualUserTable.REGEX_PREFIX)) {
@@ -52,7 +52,7 @@ public class MockVirtualUserTableManagem
}
}
- public boolean addRegexMapping(String user, String domain, String regex) throws InvalidMappingException {
+ public boolean addRegexMapping(String user, String domain, String regex) throws VirtualUserTableManagementException {
return addRawMapping(user,domain,VirtualUserTable.REGEX_PREFIX + regex);
}
@@ -64,7 +64,7 @@ public class MockVirtualUserTableManagem
}
}
- public Collection getUserDomainMappings(String user, String domain) throws InvalidMappingException {
+ public Collection getUserDomainMappings(String user, String domain) throws VirtualUserTableManagementException {
String mapping = (String) store.get(user + "@" + domain);
if (mapping != null) {
return VirtualUserTableUtil.mappingToCollection(mapping);
@@ -73,15 +73,15 @@ public class MockVirtualUserTableManagem
}
}
- public boolean removeAddressMapping(String user, String domain, String address) throws InvalidMappingException {
+ public boolean removeAddressMapping(String user, String domain, String address) throws VirtualUserTableManagementException {
return removeRawMapping(user,domain,address);
}
- public boolean removeErrorMapping(String user, String domain, String error) throws InvalidMappingException {
+ public boolean removeErrorMapping(String user, String domain, String error) throws VirtualUserTableManagementException {
return removeRawMapping(user,domain,VirtualUserTable.ERROR_PREFIX + error);
}
- public boolean removeMapping(String user, String domain, String mapping) throws InvalidMappingException {
+ public boolean removeMapping(String user, String domain, String mapping) throws VirtualUserTableManagementException {
if (mapping.startsWith(VirtualUserTable.ERROR_PREFIX)){
return removeErrorMapping(user,domain,mapping.substring(VirtualUserTable.ERROR_PREFIX.length()));
} else if (mapping.startsWith(VirtualUserTable.REGEX_PREFIX)) {
@@ -91,7 +91,7 @@ public class MockVirtualUserTableManagem
}
}
- public boolean removeRegexMapping(String user, String domain, String regex) throws InvalidMappingException {
+ public boolean removeRegexMapping(String user, String domain, String regex) throws VirtualUserTableManagementException {
return removeRawMapping(user,domain,VirtualUserTable.REGEX_PREFIX + regex);
}
@@ -134,11 +134,11 @@ public class MockVirtualUserTableManagem
return false;
}
- public boolean addAliasDomainMapping(String aliasDomain, String realDomain) throws InvalidMappingException {
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) throws VirtualUserTableManagementException {
return addRawMapping(null,aliasDomain,VirtualUserTable.ALIASDOMAIN_PREFIX + realDomain);
}
- public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) throws InvalidMappingException {
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) throws VirtualUserTableManagementException {
return removeRawMapping(null,aliasDomain,VirtualUserTable.ALIASDOMAIN_PREFIX + realDomain);
}
Modified: james/server/trunk/user-library/src/test/java/org/apache/james/vut/AbstractVirtualUserTableTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/test/java/org/apache/james/vut/AbstractVirtualUserTableTest.java?rev=1021633&r1=1021632&r2=1021633&view=diff
==============================================================================
--- james/server/trunk/user-library/src/test/java/org/apache/james/vut/AbstractVirtualUserTableTest.java (original)
+++ james/server/trunk/user-library/src/test/java/org/apache/james/vut/AbstractVirtualUserTableTest.java Tue Oct 12 05:34:41 2010
@@ -26,7 +26,7 @@ import junit.framework.TestCase;
import org.apache.james.api.vut.ErrorMappingException;
import org.apache.james.api.vut.VirtualUserTable;
-import org.apache.james.api.vut.management.InvalidMappingException;
+import org.apache.james.api.vut.management.VirtualUserTableManagementException;
import org.apache.james.impl.vut.AbstractVirtualUserTable;
import org.apache.james.lifecycle.LifecycleUtil;
@@ -67,7 +67,7 @@ public abstract class AbstractVirtualUse
while (mapIt.hasNext()) {
try {
removeMapping(args[0], args[1], mapIt.next().toString());
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
e.printStackTrace();
}
}
@@ -100,7 +100,7 @@ public abstract class AbstractVirtualUse
try {
assertTrue("Added virtual mapping", virtualUserTable.addRegexMapping(user, domain, invalidRegex));
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
catched = true;
}
assertTrue("Invalid Mapping throw exception" , catched);
@@ -111,7 +111,7 @@ public abstract class AbstractVirtualUse
assertNull("No mappings", virtualUserTable.getAllMappings());
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
fail("Storing failed");
}
@@ -155,7 +155,7 @@ public abstract class AbstractVirtualUse
assertNull("No mapping", virtualUserTable.getMappings(user, domain));
assertNull("No mappings", virtualUserTable.getAllMappings());
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
fail("Storing failed");
}
@@ -187,7 +187,7 @@ public abstract class AbstractVirtualUse
assertNull("No mapping", virtualUserTable.getMappings(user, domain));
assertNull("No mappings", virtualUserTable.getAllMappings());
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
fail("Storing failed");
}
@@ -216,7 +216,7 @@ public abstract class AbstractVirtualUse
assertNull("No mapping", virtualUserTable.getMappings(user, domain));
assertNull("No mapping", virtualUserTable.getMappings(user2, domain));
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
fail("Storing failed");
}
@@ -253,7 +253,7 @@ public abstract class AbstractVirtualUse
virtualUserTable.setRecursiveMapping(false);
assertEquals("Not recursive mapped", virtualUserTable.getMappings(user1, domain1).iterator().next(),user2 + "@" + domain2);
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
fail("Storing failed");
}
}
@@ -280,7 +280,7 @@ public abstract class AbstractVirtualUse
assertTrue("Remove mapping", removeMapping(VirtualUserTable.WILDCARD, aliasDomain, user2 + "@" + domain, ADDRESS_TYPE));
assertTrue("Remove aliasDomain mapping", removeMapping(VirtualUserTable.WILDCARD, aliasDomain, domain, ALIASDOMAIN_TYPE));
- } catch (InvalidMappingException e) {
+ } catch (VirtualUserTableManagementException e) {
fail("Storing failed");
}
@@ -288,11 +288,11 @@ public abstract class AbstractVirtualUse
protected abstract AbstractVirtualUserTable getVirtualUserTable() throws Exception;
- protected abstract boolean addMapping(String user , String domain, String mapping,int type)throws InvalidMappingException;
+ protected abstract boolean addMapping(String user , String domain, String mapping,int type)throws VirtualUserTableManagementException;
- protected abstract boolean removeMapping(String user, String domain, String mapping, int type) throws InvalidMappingException;
+ protected abstract boolean removeMapping(String user, String domain, String mapping, int type) throws VirtualUserTableManagementException;
- private void removeMapping(String user, String domain, String rawMapping) throws InvalidMappingException {
+ private void removeMapping(String user, String domain, String rawMapping) throws VirtualUserTableManagementException {
if (rawMapping.startsWith(VirtualUserTable.ERROR_PREFIX)) {
removeMapping(user, domain, rawMapping.substring(VirtualUserTable.ERROR_PREFIX.length()), ERROR_TYPE);
} else if (rawMapping.startsWith(VirtualUserTable.REGEX_PREFIX)) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org