Author: norman
Date: Thu Feb 10 07:18:59 2011
New Revision: 1069248

URL: http://svn.apache.org/viewvc?rev=1069248&view=rev
Log:
Use server default domain when creating alias to email without "domain part". 
See JAMES-1185

Modified:
    
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java

Modified: 
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java?rev=1069248&r1=1069247&r2=1069248&view=diff
==============================================================================
--- 
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java
 (original)
+++ 
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java
 Thu Feb 10 07:18:59 2011
@@ -26,11 +26,14 @@ import java.util.Map;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 
+import javax.annotation.Resource;
 import javax.mail.internet.ParseException;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.logging.Log;
+import org.apache.james.domainlist.api.DomainList;
+import org.apache.james.domainlist.api.DomainListException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.vut.api.VirtualUserTable;
@@ -48,6 +51,13 @@ public abstract class AbstractVirtualUse
     
     private Log logger;
 
+    private DomainList domainList;
+
+    @Resource(name="domainlist")
+    public void setDomainList(DomainList domainList) {
+        this.domainList = domainList;
+    }
+    
     /*
      * (non-Javadoc)
      * @see 
org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
@@ -211,7 +221,11 @@ public abstract class AbstractVirtualUse
      */
     public void addAddressMapping(String user, String domain, String address) 
throws VirtualUserTableException{
         if (address.indexOf('@') < 0) {
-            address =  address + "@localhost";
+            try {
+                address =  address + "@" + domainList.getDefaultDomain();
+            } catch (DomainListException e) {
+                throw new VirtualUserTableException("Unable to retrieve 
default domain", e);
+            }
         } 
         try {
             new MailAddress(address);
@@ -229,7 +243,11 @@ public abstract class AbstractVirtualUse
      */
     public void removeAddressMapping(String user, String domain, String 
address) throws VirtualUserTableException {
         if (address.indexOf('@') < 0) {
-            address =  address + "@localhost";
+            try {
+                address =  address + "@" + domainList.getDefaultDomain();
+            } catch (DomainListException e) {
+                throw new VirtualUserTableException("Unable to retrieve 
default domain", e);
+            }
         } 
         getLogger().info("Remove address mapping => " + address + " for user: 
" + user + " domain: " + domain);
         removeMappingInternal(user,domain,address);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to