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