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

Reply via email to