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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org