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]