http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListManagement.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListManagement.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListManagement.java index 023f64b..312ed2b 100644 --- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListManagement.java +++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListManagement.java @@ -19,16 +19,18 @@ package org.apache.james.domainlist.lib; import java.util.List; +import java.util.Optional; import javax.inject.Inject; import javax.management.NotCompliantMBeanException; import javax.management.StandardMBean; +import org.apache.james.core.Domain; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.api.DomainListManagementMBean; -import com.google.common.collect.ImmutableList; +import com.github.steveash.guavate.Guavate; public class DomainListManagement extends StandardMBean implements DomainListManagementMBean { @@ -39,14 +41,14 @@ public class DomainListManagement extends StandardMBean implements DomainListMan } @Inject - public void setDomainList(DomainList domainList) { + public void setDomainList(DomainList domainList) { this.domainList = domainList; } @Override public void addDomain(String domain) throws Exception { try { - domainList.addDomain(domain); + domainList.addDomain(Domain.of(domain)); } catch (DomainListException e) { throw new Exception(e.getMessage()); } @@ -55,7 +57,7 @@ public class DomainListManagement extends StandardMBean implements DomainListMan @Override public boolean containsDomain(String domain) throws Exception { try { - return domainList.containsDomain(domain); + return domainList.containsDomain(Domain.of(domain)); } catch (DomainListException e) { throw new Exception(e.getMessage()); } @@ -64,7 +66,10 @@ public class DomainListManagement extends StandardMBean implements DomainListMan @Override public List<String> getDomains() throws Exception { try { - return ImmutableList.copyOf(domainList.getDomains()); + return domainList.getDomains() + .stream() + .map(Domain::name) + .collect(Guavate.toImmutableList()); } catch (DomainListException e) { throw new Exception(e.getMessage()); } @@ -73,7 +78,7 @@ public class DomainListManagement extends StandardMBean implements DomainListMan @Override public void removeDomain(String domain) throws Exception { try { - domainList.removeDomain(domain); + domainList.removeDomain(Domain.of(domain)); } catch (DomainListException e) { throw new Exception(e.getMessage()); } @@ -82,7 +87,7 @@ public class DomainListManagement extends StandardMBean implements DomainListMan @Override public String getDefaultDomain() throws Exception { try { - return domainList.getDefaultDomain(); + return Optional.ofNullable(domainList.getDefaultDomain()).map(Domain::name).orElse(null); } catch (DomainListException e) { throw new Exception(e.getMessage()); }
http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java index ff8af77..d1d178a 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java @@ -20,6 +20,7 @@ package org.apache.james.rrt.lib; import java.util.Locale; import java.util.Map; +import java.util.Optional; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -28,6 +29,7 @@ import javax.mail.internet.ParseException; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.HierarchicalConfiguration; +import org.apache.james.core.Domain; import org.apache.james.core.MailAddress; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.api.DomainListException; @@ -71,12 +73,8 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT /** * Override to handle config - * - * @param conf - * @throws ConfigurationException */ protected void doConfigure(HierarchicalConfiguration conf) throws ConfigurationException { - } public void setRecursiveMapping(boolean recursive) { @@ -99,11 +97,11 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT } @Override - public Mappings getMappings(String user, String domain) throws ErrorMappingException, RecipientRewriteTableException { + public Mappings getMappings(String user, Domain domain) throws ErrorMappingException, RecipientRewriteTableException { return getMappings(user, domain, mappingLimit); } - public Mappings getMappings(String user, String domain, int mappingLimit) throws ErrorMappingException, RecipientRewriteTableException { + public Mappings getMappings(String user, Domain domain, int mappingLimit) throws ErrorMappingException, RecipientRewriteTableException { // We have to much mappings throw ErrorMappingException to avoid // infinity loop @@ -123,7 +121,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT for (String target : targetMappings.asStrings()) { if (target.startsWith(RecipientRewriteTable.REGEX_PREFIX)) { try { - target = RecipientRewriteTableUtil.regexMap(new MailAddress(user, domain), target); + target = RecipientRewriteTableUtil.regexMap(new MailAddress(user, domain.asString()), target); } catch (PatternSyntaxException | ParseException e) { LOGGER.error("Exception during regexMap processing: ", e); } @@ -135,32 +133,31 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT continue; } - String buf = "Valid virtual user mapping " + user + "@" + domain + " to " + target; + String buf = "Valid virtual user mapping " + user + "@" + domain.name() + " to " + target; LOGGER.debug(buf); if (recursive) { String userName; - String domainName; + Domain targetDomain; String[] args = target.split("@"); - if (args != null && args.length > 1) { - + if (args.length > 1) { userName = args[0]; - domainName = args[1]; + targetDomain = Domain.of(args[1]); } else { // TODO Is that the right todo here? userName = target; - domainName = domain; + targetDomain = domain; } // Check if the returned mapping is the same as the // input. If so return null to avoid loops - if (userName.equalsIgnoreCase(user) && domainName.equalsIgnoreCase(domain)) { + if (userName.equalsIgnoreCase(user) && targetDomain.equals(domain)) { return null; } - Mappings childMappings = getMappings(userName, domainName, mappingLimit - 1); + Mappings childMappings = getMappings(userName, targetDomain, mappingLimit - 1); if (childMappings == null || childMappings.isEmpty()) { // add mapping @@ -181,7 +178,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT } @Override - public void addRegexMapping(String user, String domain, String regex) throws RecipientRewriteTableException { + public void addRegexMapping(String user, Domain domain, String regex) throws RecipientRewriteTableException { try { Pattern.compile(regex); } catch (PatternSyntaxException e) { @@ -189,22 +186,22 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT } checkMapping(user, domain, MappingImpl.regex(regex)); - LOGGER.info("Add regex mapping => {} for user: {} domain: {}", regex, user, domain); + LOGGER.info("Add regex mapping => {} for user: {} domain: {}", regex, user, domain.name()); addMappingInternal(user, domain, MappingImpl.regex(regex)); } @Override - public void removeRegexMapping(String user, String domain, String regex) throws RecipientRewriteTableException { - LOGGER.info("Remove regex mapping => {} for user: {} domain: {}", regex, user, domain); + public void removeRegexMapping(String user, Domain domain, String regex) throws RecipientRewriteTableException { + LOGGER.info("Remove regex mapping => {} for user: {} domain: {}", regex, user, domain.name()); removeMappingInternal(user, domain, MappingImpl.regex(regex)); } @Override - public void addAddressMapping(String user, String domain, String address) throws RecipientRewriteTableException { + public void addAddressMapping(String user, Domain domain, String address) throws RecipientRewriteTableException { if (address.indexOf('@') < 0) { try { - address = address + "@" + domainList.getDefaultDomain(); + address = address + "@" + domainList.getDefaultDomain().asString(); } catch (DomainListException e) { throw new RecipientRewriteTableException("Unable to retrieve default domain", e); } @@ -215,40 +212,40 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT throw new RecipientRewriteTableException("Invalid emailAddress: " + address, e); } checkMapping(user, domain, MappingImpl.address(address)); - LOGGER.info("Add address mapping => {} for user: {} domain: {}", address, user, domain); + LOGGER.info("Add address mapping => {} for user: {} domain: {}", address, user, domain.name()); addMappingInternal(user, domain, MappingImpl.address(address)); } @Override - public void removeAddressMapping(String user, String domain, String address) throws RecipientRewriteTableException { + public void removeAddressMapping(String user, Domain domain, String address) throws RecipientRewriteTableException { if (address.indexOf('@') < 0) { try { - address = address + "@" + domainList.getDefaultDomain(); + address = address + "@" + domainList.getDefaultDomain().asString(); } catch (DomainListException e) { throw new RecipientRewriteTableException("Unable to retrieve default domain", e); } } - LOGGER.info("Remove address mapping => {} for user: {} domain: {}", address, user, domain); + LOGGER.info("Remove address mapping => {} for user: {} domain: {}", address, user, domain.name()); removeMappingInternal(user, domain, MappingImpl.address(address)); } @Override - public void addErrorMapping(String user, String domain, String error) throws RecipientRewriteTableException { + public void addErrorMapping(String user, Domain domain, String error) throws RecipientRewriteTableException { checkMapping(user, domain, MappingImpl.error(error)); - LOGGER.info("Add error mapping => {} for user: {} domain: {}", error, user, domain); + LOGGER.info("Add error mapping => {} for user: {} domain: {}", error, user, domain.name()); addMappingInternal(user, domain, MappingImpl.error(error)); } @Override - public void removeErrorMapping(String user, String domain, String error) throws RecipientRewriteTableException { - LOGGER.info("Remove error mapping => {} for user: {} domain: {}", error, user, domain); + public void removeErrorMapping(String user, Domain domain, String error) throws RecipientRewriteTableException { + LOGGER.info("Remove error mapping => {} for user: {} domain: {}", error, user, domain.name()); removeMappingInternal(user, domain, MappingImpl.error(error)); } @Override - public void addMapping(String user, String domain, String mapping) throws RecipientRewriteTableException { + public void addMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException { String map = mapping.toLowerCase(Locale.US); @@ -260,7 +257,8 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT if (user != null) { throw new RecipientRewriteTableException("User must be null for aliasDomain mappings"); } - addAliasDomainMapping(domain, map.substring(RecipientRewriteTable.ALIASDOMAIN_PREFIX.length())); + String domainName = map.substring(RecipientRewriteTable.ALIASDOMAIN_PREFIX.length()); + addAliasDomainMapping(domain, Domain.of(domainName)); } else { addAddressMapping(user, domain, map); } @@ -268,7 +266,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT } @Override - public void removeMapping(String user, String domain, String mapping) throws RecipientRewriteTableException { + public void removeMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException { String map = mapping.toLowerCase(Locale.US); @@ -280,7 +278,8 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT if (user != null) { throw new RecipientRewriteTableException("User must be null for aliasDomain mappings"); } - removeAliasDomainMapping(domain, map.substring(RecipientRewriteTable.ALIASDOMAIN_PREFIX.length())); + String domainName = map.substring(RecipientRewriteTable.ALIASDOMAIN_PREFIX.length()); + removeAliasDomainMapping(domain, Domain.of(domainName)); } else { removeAddressMapping(user, domain, map); } @@ -300,25 +299,25 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT } @Override - public Mappings getUserDomainMappings(String user, String domain) throws RecipientRewriteTableException { + public Mappings getUserDomainMappings(String user, Domain domain) throws RecipientRewriteTableException { return getUserDomainMappingsInternal(user, domain); } @Override - public void addAliasDomainMapping(String aliasDomain, String realDomain) throws RecipientRewriteTableException { + public void addAliasDomainMapping(Domain aliasDomain, Domain realDomain) throws RecipientRewriteTableException { LOGGER.info("Add domain mapping: {} => {}", aliasDomain, realDomain); addMappingInternal(null, aliasDomain, MappingImpl.domain(realDomain)); } @Override - public void removeAliasDomainMapping(String aliasDomain, String realDomain) throws RecipientRewriteTableException { + public void removeAliasDomainMapping(Domain aliasDomain, Domain realDomain) throws RecipientRewriteTableException { LOGGER.info("Remove domain mapping: {} => {}", aliasDomain, realDomain); removeMappingInternal(null, aliasDomain, MappingImpl.domain(realDomain)); } /** * Add new mapping - * + * * @param user * the user * @param domain @@ -327,7 +326,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT * the mapping * @throws RecipientRewriteTableException */ - protected abstract void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException; + protected abstract void addMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException; /** * Remove mapping @@ -340,7 +339,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT * the mapping * @throws RecipientRewriteTableException */ - protected abstract void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException; + protected abstract void removeMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException; /** * Return Collection of all mappings for the given username and domain @@ -351,7 +350,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT * the domain * @return Collection which hold the mappings */ - protected abstract Mappings getUserDomainMappingsInternal(String user, String domain) throws RecipientRewriteTableException; + protected abstract Mappings getUserDomainMappingsInternal(String user, Domain domain) throws RecipientRewriteTableException; /** * Return a Map which holds all Mappings @@ -375,7 +374,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT * the mapping of virtual to real recipients, as * <code>MailAddress</code>es to <code>String</code>s. */ - protected abstract String mapAddressInternal(String user, String domain) throws RecipientRewriteTableException; + protected abstract String mapAddressInternal(String user, Domain domain) throws RecipientRewriteTableException; /** * Get all mappings for the given user and domain. If a aliasdomain mapping @@ -387,7 +386,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT * the domain * @return the mappings */ - private Mappings mapAddress(String user, String domain) throws RecipientRewriteTableException { + private Mappings mapAddress(String user, Domain domain) throws RecipientRewriteTableException { String mappings = mapAddressInternal(user, domain); @@ -410,7 +409,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT } } - private void checkMapping(String user, String domain, Mapping mapping) throws RecipientRewriteTableException { + private void checkMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException { Mappings mappings = getUserDomainMappings(user, domain); if (mappings != null && mappings.contains(mapping)) { throw new RecipientRewriteTableException("Mapping " + mapping + " for user " + user + " domain " + domain + " already exist!"); @@ -439,20 +438,9 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT /** * Fix the domain for the given argument. * If give value is null, return a wildcard. - * - * @param domain the given domain String - * @return fixedDomain the fixed domain String */ - protected String getFixedDomain(String domain) { - if (domain != null) { - if (domain.equals(WILDCARD) || !domain.contains("@")) { - return domain; - } else { - throw new IllegalArgumentException("Invalid domain: " + domain); - } - } else { - return WILDCARD; - } + protected Domain getFixedDomain(Domain domain) { + return Optional.ofNullable(domain).orElse(Domains.WILDCARD); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java index a17df46..ffb0f3e 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingImpl.java @@ -22,6 +22,7 @@ package org.apache.james.rrt.lib; import java.io.Serializable; +import org.apache.james.core.Domain; import org.apache.james.rrt.api.RecipientRewriteTable; import com.google.common.base.Objects; @@ -50,8 +51,8 @@ public class MappingImpl implements Mapping, Serializable { return new MappingImpl(RecipientRewriteTable.ERROR_PREFIX, mapping); } - public static MappingImpl domain(String mapping) { - return new MappingImpl(RecipientRewriteTable.ALIASDOMAIN_PREFIX, mapping); + public static MappingImpl domain(Domain mapping) { + return new MappingImpl(RecipientRewriteTable.ALIASDOMAIN_PREFIX, mapping.asString()); } private final String mapping; @@ -72,9 +73,9 @@ public class MappingImpl implements Mapping, Serializable { } @Override - public Mapping appendDomain(String domain) { + public Mapping appendDomain(Domain domain) { Preconditions.checkNotNull(domain); - return new MappingImpl("", mapping + "@" + domain); + return new MappingImpl("", mapping + "@" + domain.asString()); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableManagement.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableManagement.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableManagement.java index 109f2a3..7e22a3e 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableManagement.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableManagement.java @@ -24,6 +24,7 @@ import javax.inject.Inject; import javax.management.NotCompliantMBeanException; import javax.management.StandardMBean; +import org.apache.james.core.Domain; import org.apache.james.rrt.api.RecipientRewriteTable; import org.apache.james.rrt.api.RecipientRewriteTableException; import org.apache.james.rrt.api.RecipientRewriteTableManagementMBean; @@ -49,7 +50,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void addRegexMapping(String user, String domain, String regex) throws Exception { try { - rrt.addRegexMapping(user, domain, regex); + rrt.addRegexMapping(user, Domain.of(domain), regex); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -58,7 +59,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void removeRegexMapping(String user, String domain, String regex) throws Exception { try { - rrt.removeRegexMapping(user, domain, regex); + rrt.removeRegexMapping(user, Domain.of(domain), regex); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -67,7 +68,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void addAddressMapping(String user, String domain, String address) throws Exception { try { - rrt.addAddressMapping(user, domain, address); + rrt.addAddressMapping(user, Domain.of(domain), address); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -76,7 +77,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void removeAddressMapping(String user, String domain, String address) throws Exception { try { - rrt.removeAddressMapping(user, domain, address); + rrt.removeAddressMapping(user, Domain.of(domain), address); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -85,7 +86,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void addErrorMapping(String user, String domain, String error) throws Exception { try { - rrt.addErrorMapping(user, domain, error); + rrt.addErrorMapping(user, Domain.of(domain), error); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -94,7 +95,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void removeErrorMapping(String user, String domain, String error) throws Exception { try { - rrt.removeErrorMapping(user, domain, error); + rrt.removeErrorMapping(user, Domain.of(domain), error); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -103,7 +104,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void addDomainMapping(String domain, String targetDomain) throws Exception { try { - rrt.addAliasDomainMapping(domain, targetDomain); + rrt.addAliasDomainMapping(Domain.of(domain), Domain.of(targetDomain)); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -112,7 +113,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void removeDomainMapping(String domain, String targetDomain) throws Exception { try { - rrt.removeAliasDomainMapping(domain, targetDomain); + rrt.removeAliasDomainMapping(Domain.of(domain), Domain.of(targetDomain)); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -121,7 +122,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public Mappings getUserDomainMappings(String user, String domain) throws Exception { try { - return rrt.getUserDomainMappings(user, domain); + return rrt.getUserDomainMappings(user, Domain.of(domain)); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -130,7 +131,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void addMapping(String user, String domain, String mapping) throws Exception { try { - rrt.addMapping(user, domain, mapping); + rrt.addMapping(user, Domain.of(domain), mapping); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } @@ -139,7 +140,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re @Override public void removeMapping(String user, String domain, String mapping) throws Exception { try { - rrt.removeMapping(user, domain, mapping); + rrt.removeMapping(user, Domain.of(domain), mapping); } catch (RecipientRewriteTableException e) { throw new Exception(e.getMessage()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java index 75c4054..89d3d79 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java @@ -26,6 +26,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; +import org.apache.james.core.Domain; import org.apache.james.core.MailAddress; import org.apache.james.rrt.api.RecipientRewriteTable; @@ -135,7 +136,7 @@ public class RecipientRewriteTableUtil { /** * Returns the real recipient given a virtual username and domain. - * + * * @param user * the virtual user * @param domain @@ -143,12 +144,12 @@ public class RecipientRewriteTableUtil { * @return the real recipient address, or <code>null</code> if no mapping * exists */ - public static String getTargetString(String user, String domain, Map<String, String> mappings) { + public static String getTargetString(String user, Domain domain, Map<String, String> mappings) { StringBuffer buf; String target; // Look for exact (user@domain) match - buf = new StringBuffer().append(user).append("@").append(domain); + buf = new StringBuffer().append(user).append("@").append(domain.asString()); target = mappings.get(buf.toString()); if (target != null) { return target; @@ -162,7 +163,7 @@ public class RecipientRewriteTableUtil { } // Look for *@domain match - buf = new StringBuffer().append("*@").append(domain); + buf = new StringBuffer().append("*@").append(domain.asString()); target = mappings.get(buf.toString()); if (target != null) { return target; http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java index 45f57b3..040745f 100644 --- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java +++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java @@ -25,6 +25,7 @@ import java.util.Map; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.HierarchicalConfiguration; +import org.apache.james.core.Domain; import org.apache.james.rrt.api.RecipientRewriteTable; import org.apache.james.rrt.api.RecipientRewriteTableException; import org.apache.james.rrt.lib.Mappings; @@ -118,7 +119,7 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito } @Override - public Mappings getMappings(String username, String domain) throws ErrorMappingException, RecipientRewriteTableException { + public Mappings getMappings(String username, Domain domain) throws ErrorMappingException, RecipientRewriteTableException { Builder mappingsBuilder = MappingsImpl.builder(); try { User user = getUserByName(username); @@ -129,7 +130,7 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito if (enableAliases && jUser.getAliasing()) { String alias = jUser.getAlias(); if (alias != null) { - mappingsBuilder.add(alias + "@" + domain); + mappingsBuilder.add(alias + "@" + domain.asString()); } } @@ -179,13 +180,13 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito String user = users.next(); int index = user.indexOf("@"); String username; - String domain; + Domain domain; if (index != -1) { username = user.substring(0, index); - domain = user.substring(index + 1, user.length()); + domain = Domain.of(user.substring(index + 1, user.length())); } else { username = user; - domain = "localhost"; + domain = Domain.of("localhost"); } try { mappings.put(user, getMappings(username, domain)); @@ -202,65 +203,65 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito } @Override - public Mappings getUserDomainMappings(String user, String domain) throws RecipientRewriteTableException { + public Mappings getUserDomainMappings(String user, Domain domain) throws RecipientRewriteTableException { return MappingsImpl.empty(); } @Override - public void addRegexMapping(String user, String domain, String regex) throws RecipientRewriteTableException { + public void addRegexMapping(String user, Domain domain, String regex) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void removeRegexMapping(String user, String domain, String regex) throws RecipientRewriteTableException { + public void removeRegexMapping(String user, Domain domain, String regex) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void addAddressMapping(String user, String domain, String address) throws RecipientRewriteTableException { + public void addAddressMapping(String user, Domain domain, String address) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void removeAddressMapping(String user, String domain, String address) throws RecipientRewriteTableException { + public void removeAddressMapping(String user, Domain domain, String address) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void addErrorMapping(String user, String domain, String error) throws RecipientRewriteTableException { + public void addErrorMapping(String user, Domain domain, String error) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void removeErrorMapping(String user, String domain, String error) throws RecipientRewriteTableException { + public void removeErrorMapping(String user, Domain domain, String error) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void addMapping(String user, String domain, String mapping) throws RecipientRewriteTableException { + public void addMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void removeMapping(String user, String domain, String mapping) throws RecipientRewriteTableException { + public void removeMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void addAliasDomainMapping(String aliasDomain, String realDomain) throws RecipientRewriteTableException { + public void addAliasDomainMapping(Domain aliasDomain, Domain realDomain) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } @Override - public void removeAliasDomainMapping(String aliasDomain, String realDomain) throws RecipientRewriteTableException { + public void removeAliasDomainMapping(Domain aliasDomain, Domain realDomain) throws RecipientRewriteTableException { throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable"); } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java index 9ec041c..f28a127 100644 --- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java +++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java @@ -25,6 +25,7 @@ import javax.inject.Inject; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.HierarchicalConfiguration; +import org.apache.james.core.Domain; import org.apache.james.core.MailAddress; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.api.DomainListException; @@ -73,7 +74,7 @@ public abstract class AbstractUsersRepository implements UsersRepository, Config if (i == -1) { throw new UsersRepositoryException("Given Username needs to contain a @domainpart"); } else { - String domain = username.substring(i + 1); + Domain domain = Domain.of(username.substring(i + 1)); try { if (!domainList.containsDomain(domain)) { throw new UsersRepositoryException("Domain does not exist in DomainList"); http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java b/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java index f85c2e3..256625c 100644 --- a/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java +++ b/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java @@ -21,6 +21,7 @@ package org.apache.james.domainlist.api.mock; import java.util.LinkedList; import java.util.List; +import org.apache.james.core.Domain; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.api.DomainListException; @@ -31,20 +32,20 @@ import com.google.common.collect.ImmutableList; */ public class SimpleDomainList implements DomainList { - private final List<String> domains = new LinkedList<>(); + private final List<Domain> domains = new LinkedList<>(); @Override - public boolean containsDomain(String domain) throws DomainListException { + public boolean containsDomain(Domain domain) throws DomainListException { return domains.contains(domain); } @Override - public List<String> getDomains() throws DomainListException { + public List<Domain> getDomains() throws DomainListException { return ImmutableList.copyOf(domains); } @Override - public void addDomain(String domain) throws DomainListException { + public void addDomain(Domain domain) throws DomainListException { if (domains.contains(domain)) { throw new DomainListException("Domain " + domain + " already exist"); } @@ -52,14 +53,14 @@ public class SimpleDomainList implements DomainList { } @Override - public void removeDomain(String domain) throws DomainListException { + public void removeDomain(Domain domain) throws DomainListException { if (!domains.remove(domain)) { throw new DomainListException("Domain " + domain + " does not exist"); } } @Override - public String getDefaultDomain() { - return "localhost"; + public Domain getDefaultDomain() { + return Domain.of("localhost"); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java index ad8059d..9cdabd4 100644 --- a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java +++ b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java @@ -28,8 +28,10 @@ import static org.mockito.Mockito.when; import java.net.InetAddress; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import org.apache.commons.configuration.HierarchicalConfiguration; +import org.apache.james.core.Domain; import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainListException; import org.junit.Before; @@ -52,7 +54,7 @@ public class AbstractDomainListPrivateMethodsTest { private static class MyDomainList extends AbstractDomainList { - private List<String> domains; + private List<Domain> domains; public MyDomainList(DNSService dns, EnvDetector envDetector) { super(dns, envDetector); @@ -60,22 +62,22 @@ public class AbstractDomainListPrivateMethodsTest { } @Override - protected boolean containsDomainInternal(String domain) throws DomainListException { + protected boolean containsDomainInternal(Domain domain) throws DomainListException { return domains.contains(domain); } @Override - public void addDomain(String domain) throws DomainListException { + public void addDomain(Domain domain) throws DomainListException { domains.add(domain); } @Override - public void removeDomain(String domain) throws DomainListException { + public void removeDomain(Domain domain) throws DomainListException { domains.remove(domain); } @Override - protected List<String> getDomainListInternal() throws DomainListException { + protected List<Domain> getDomainListInternal() throws DomainListException { return domains; } } @@ -110,7 +112,7 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getString(AbstractDomainList.CONFIGURE_DEFAULT_DOMAIN, AbstractDomainList.LOCALHOST)) .thenReturn(AbstractDomainList.LOCALHOST); - String expectedDefaultDomain = InetAddress.getLocalHost().getHostName(); + Domain expectedDefaultDomain = Domain.of(InetAddress.getLocalHost().getHostName()); domainList.configureDefaultDomain(configuration); assertThat(domainList.getDomainListInternal()).contains(expectedDefaultDomain); @@ -122,7 +124,7 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getString(AbstractDomainList.CONFIGURE_DEFAULT_DOMAIN, AbstractDomainList.LOCALHOST)) .thenReturn(AbstractDomainList.LOCALHOST); - String expectedDefaultDomain = InetAddress.getLocalHost().getHostName(); + Domain expectedDefaultDomain = Domain.of(InetAddress.getLocalHost().getHostName()); domainList.configureDefaultDomain(configuration); domainList.configureDefaultDomain(configuration); @@ -138,7 +140,7 @@ public class AbstractDomainListPrivateMethodsTest { domainList.configureDefaultDomain(configuration); - assertThat(domainList.getDomainListInternal()).contains(expectedDefaultDomain); + assertThat(domainList.getDomainListInternal()).contains(Domain.of(expectedDefaultDomain)); } @Test @@ -148,10 +150,10 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getString(AbstractDomainList.CONFIGURE_DEFAULT_DOMAIN, AbstractDomainList.LOCALHOST)) .thenReturn(expectedDefaultDomain); - domainList.addDomain(expectedDefaultDomain); + domainList.addDomain(Domain.of(expectedDefaultDomain)); domainList.configureDefaultDomain(configuration); - assertThat(domainList.getDomainListInternal()).contains(expectedDefaultDomain); + assertThat(domainList.getDomainListInternal()).contains(Domain.of(expectedDefaultDomain)); } @Test @@ -188,7 +190,7 @@ public class AbstractDomainListPrivateMethodsTest { String detected = "detected.tld"; when(dnsService.getHostName(any(InetAddress.class))).thenReturn(detected); - assertThat(domainList.getDomains()).containsOnly(detected); + assertThat(domainList.getDomains()).containsOnly(Domain.of(detected)); } @Test @@ -206,7 +208,7 @@ public class AbstractDomainListPrivateMethodsTest { when(detectedAddress.getHostAddress()).thenReturn(detectedIp); when(dnsService.getAllByName(detected)).thenReturn(ImmutableList.of(detectedAddress)); - assertThat(domainList.getDomains()).containsOnly(detected, detectedIp); + assertThat(domainList.getDomains()).containsOnly(Domain.of(detected), Domain.of(detectedIp)); } @Test @@ -228,9 +230,11 @@ public class AbstractDomainListPrivateMethodsTest { when(detectedAddress2.getHostAddress()).thenReturn(detectedIp2); when(dnsService.getAllByName(detected)).thenReturn(ImmutableList.of(detectedAddress1)); when(dnsService.getAllByName(added)).thenReturn(ImmutableList.of(detectedAddress2)); - domainList.addDomain(added); + domainList.addDomain(Domain.of(added)); - assertThat(domainList.getDomains()).containsOnly(detected, detectedIp1, added, detectedIp2); + assertThat(domainList.getDomains()) + .extracting(Domain::name) + .containsOnly(detected, detectedIp1, added, detectedIp2); } @Test @@ -239,7 +243,7 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(false); when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false); - String domain = "added.tld"; + Domain domain = Domain.of("added.tld"); domainList.addDomain(domain); domainList.configure(configuration); @@ -255,7 +259,7 @@ public class AbstractDomainListPrivateMethodsTest { when(detectedAddress.getHostAddress()).thenReturn(detectedIp); when(dnsService.getAllByName(detected)).thenReturn(ImmutableList.of(detectedAddress)); - assertThat(domainList.containsDomain(detectedIp)).isTrue(); + assertThat(domainList.containsDomain(Domain.of(detectedIp))).isTrue(); } @Test @@ -264,7 +268,7 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(false); when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false); - String domain = "added.tld"; + Domain domain = Domain.of("added.tld"); domainList.addDomain(domain); domainList.configure(configuration); @@ -277,7 +281,7 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(false); when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false); - String domain = "added.tld"; + Domain domain = Domain.of("added.tld"); domainList.configure(configuration); assertThat(domainList.containsDomain(domain)).isFalse(); @@ -290,7 +294,7 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(false); when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false); domainList.configure(configuration); - domainList.containsDomain("added.tld"); + domainList.containsDomain(Domain.of("added.tld")); verifyZeroInteractions(dnsService); } @@ -306,7 +310,7 @@ public class AbstractDomainListPrivateMethodsTest { String detected = "detected.tld"; when(dnsService.getHostName(any(InetAddress.class))).thenReturn(detected); - assertThat(domainList.containsDomain(detected)).isTrue(); + assertThat(domainList.containsDomain(Domain.of(detected))).isTrue(); } @Test @@ -319,7 +323,7 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false); domainList.configure(configuration); - assertThat(domainList.containsDomain(envDomain)).isTrue(); + assertThat(domainList.containsDomain(Domain.of(envDomain))).isTrue(); } @Test @@ -333,7 +337,7 @@ public class AbstractDomainListPrivateMethodsTest { domainList.configure(configuration); assertThat(domainList.getDomains()) - .containsOnlyElementsOf(Arrays.asList(configuredDomain)); + .containsOnlyElementsOf(Arrays.stream(configuredDomain).map(Domain::of).collect(Collectors.toList())); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListTest.java b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListTest.java index a639b36..9884dcf 100644 --- a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListTest.java +++ b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListTest.java @@ -23,6 +23,7 @@ import static org.junit.Assert.fail; import java.net.UnknownHostException; +import org.apache.james.core.Domain; import org.apache.james.dnsservice.api.DNSService; import org.apache.james.dnsservice.api.InMemoryDNSService; import org.apache.james.domainlist.api.DomainList; @@ -35,12 +36,12 @@ public abstract class AbstractDomainListTest { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractDomainListTest.class); - private static final String DOMAIN_1 = "domain1.tld"; - private static final String DOMAIN_2 = "domain2.tld"; - private static final String DOMAIN_3 = "domain3.tld"; - private static final String DOMAIN_4 = "domain4.tld"; - private static final String DOMAIN_5 = "domain5.tld"; - private static final String DOMAIN_UPPER_5 = "Domain5.tld"; + private static final Domain DOMAIN_1 = Domain.of("domain1.tld"); + private static final Domain DOMAIN_2 = Domain.of("domain2.tld"); + private static final Domain DOMAIN_3 = Domain.of("domain3.tld"); + private static final Domain DOMAIN_4 = Domain.of("domain4.tld"); + private static final Domain DOMAIN_5 = Domain.of("domain5.tld"); + private static final Domain DOMAIN_UPPER_5 = Domain.of("Domain5.tld"); private DomainList domainList; http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java index b891627..8bfb554 100644 --- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java +++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java @@ -23,6 +23,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.util.Map; +import org.apache.james.core.Domain; import org.apache.james.lifecycle.api.LifecycleUtil; import org.apache.james.rrt.api.RecipientRewriteTable; import org.apache.james.rrt.api.RecipientRewriteTable.ErrorMappingException; @@ -63,7 +64,7 @@ public abstract class AbstractRecipientRewriteTableTest { for (String aMap : map.asStrings()) { try { - removeMapping(args[0], args[1], aMap); + removeMapping(args[0], Domain.of(args[1]), aMap); } catch (IllegalArgumentException e) { e.printStackTrace(); } @@ -78,7 +79,7 @@ public abstract class AbstractRecipientRewriteTableTest { @Test public void testStoreAndGetMappings() throws ErrorMappingException, RecipientRewriteTableException { String user = "*"; - String domain = "test"; + Domain domain = Domain.of("test"); String regex = "prefix_.*:admin@test"; addMapping(user, domain, regex, REGEX_TYPE); assertThat(virtualUserTable.getMappings("prefix_abc", domain)).isNotEmpty(); @@ -87,7 +88,7 @@ public abstract class AbstractRecipientRewriteTableTest { @Test public void testStoreAndRetrieveRegexMapping() throws ErrorMappingException, RecipientRewriteTableException { String user = "test"; - String domain = "localhost"; + Domain domain = Domain.of("localhost"); // String regex = "(.*):{$1}@localhost"; // String regex2 = "(.+):{$1}@test"; String regex = "(.*)@localhost"; @@ -118,7 +119,7 @@ public abstract class AbstractRecipientRewriteTableTest { public void testStoreAndRetrieveAddressMapping() throws ErrorMappingException, RecipientRewriteTableException { String user = "test"; - String domain = "localhost"; + Domain domain = Domain.of("localhost"); String address = "test@localhost2"; String address2 = "test@james"; @@ -141,7 +142,7 @@ public abstract class AbstractRecipientRewriteTableTest { @Test public void testStoreAndRetrieveErrorMapping() throws ErrorMappingException, RecipientRewriteTableException { String user = "test"; - String domain = "localhost"; + Domain domain = Domain.of("localhost"); String error = "bounce!"; assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull(); @@ -164,7 +165,7 @@ public abstract class AbstractRecipientRewriteTableTest { public void testStoreAndRetrieveWildCardAddressMapping() throws ErrorMappingException, RecipientRewriteTableException { String user = "test"; String user2 = "test2"; - String domain = "localhost"; + Domain domain = Domain.of("localhost"); String address = "test@localhost2"; String address2 = "test@james"; @@ -188,18 +189,18 @@ public abstract class AbstractRecipientRewriteTableTest { String user1 = "user1"; String user2 = "user2"; String user3 = "user3"; - String domain1 = "domain1"; - String domain2 = "domain2"; - String domain3 = "domain3"; + Domain domain1 = Domain.of("domain1"); + Domain domain2 = Domain.of("domain2"); + Domain domain3 = Domain.of("domain3"); virtualUserTable.setRecursiveMapping(true); assertThat(virtualUserTable.getAllMappings()).describedAs("No mapping").isNull(); - addMapping(user1, domain1, user2 + "@" + domain2, ADDRESS_TYPE); - addMapping(user2, domain2, user3 + "@" + domain3, ADDRESS_TYPE); - assertThat(virtualUserTable.getMappings(user1, domain1)).containsOnly(MappingImpl.address(user3 + "@" + domain3)); - addMapping(user3, domain3, user1 + "@" + domain1, ADDRESS_TYPE); + addMapping(user1, domain1, user2 + "@" + domain2.asString(), ADDRESS_TYPE); + addMapping(user2, domain2, user3 + "@" + domain3.asString(), ADDRESS_TYPE); + assertThat(virtualUserTable.getMappings(user1, domain1)).containsOnly(MappingImpl.address(user3 + "@" + domain3.asString())); + addMapping(user3, domain3, user1 + "@" + domain1.asString(), ADDRESS_TYPE); assertThatThrownBy(() -> virtualUserTable.getMappings(user1, domain1)) @@ -208,14 +209,14 @@ public abstract class AbstractRecipientRewriteTableTest { // disable recursive mapping virtualUserTable.setRecursiveMapping(false); - assertThat(virtualUserTable.getMappings(user1, domain1)).describedAs("Not recursive mapped").containsExactly(MappingImpl.address(user2 + "@" + domain2)); + assertThat(virtualUserTable.getMappings(user1, domain1)).describedAs("Not recursive mapped").containsExactly(MappingImpl.address(user2 + "@" + domain2.asString())); } @Test public void testAliasDomainMapping() throws ErrorMappingException, RecipientRewriteTableException { String domain = "realdomain"; - String aliasDomain = "aliasdomain"; + Domain aliasDomain = Domain.of("aliasdomain"); String user = "user"; String user2 = "user2"; @@ -241,7 +242,8 @@ public abstract class AbstractRecipientRewriteTableTest { @Test public void sortMappingsShouldReturnSameStringWhenSingleDomainAlias() { String singleDomainAlias = RecipientRewriteTable.ALIASDOMAIN_PREFIX + "first"; - assertThat(AbstractRecipientRewriteTable.sortMappings(MappingsImpl.fromRawString(singleDomainAlias))).containsExactly(MappingImpl.domain("first")); + assertThat(AbstractRecipientRewriteTable.sortMappings(MappingsImpl.fromRawString(singleDomainAlias))) + .containsExactly(MappingImpl.domain(Domain.of("first"))); } @Test @@ -271,7 +273,7 @@ public abstract class AbstractRecipientRewriteTableTest { @Test public void addMappingShouldThrowWhenMappingAlreadyExists() throws Exception { String user = "test"; - String domain = "localhost"; + Domain domain = Domain.of("localhost"); String address = "test@localhost2"; expectedException.expect(RecipientRewriteTableException.class); @@ -283,7 +285,7 @@ public abstract class AbstractRecipientRewriteTableTest { @Test public void addMappingShouldNotThrowWhenMappingAlreadyExistsWithAnOtherType() throws Exception { String user = "test"; - String domain = "localhost"; + Domain domain = Domain.of("localhost"); String address = "test@localhost2"; addMapping(user, domain, address, ADDRESS_TYPE); @@ -294,13 +296,13 @@ public abstract class AbstractRecipientRewriteTableTest { protected abstract AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception; - protected abstract void addMapping(String user, String domain, String mapping, int type) throws + protected abstract void addMapping(String user, Domain domain, String mapping, int type) throws RecipientRewriteTableException; - protected abstract void removeMapping(String user, String domain, String mapping, int type) throws + protected abstract void removeMapping(String user, Domain domain, String mapping, int type) throws RecipientRewriteTableException; - private void removeMapping(String user, String domain, String rawMapping) throws RecipientRewriteTableException { + private void removeMapping(String user, Domain domain, String rawMapping) throws RecipientRewriteTableException { if (rawMapping.startsWith(RecipientRewriteTable.ERROR_PREFIX)) { removeMapping(user, domain, rawMapping.substring(RecipientRewriteTable.ERROR_PREFIX.length()), ERROR_TYPE); } else if (rawMapping.startsWith(RecipientRewriteTable.REGEX_PREFIX)) { http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java index cdb80ca..ad055d0 100644 --- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java +++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java @@ -23,6 +23,7 @@ package org.apache.james.rrt.lib; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import org.apache.james.core.Domain; import org.junit.Test; public class MappingImplTest { @@ -70,12 +71,12 @@ public class MappingImplTest { @Test public void appendDomainShouldWorkOnValidDomain() { - assertThat(MappingImpl.address("abc").appendDomain("domain")).isEqualTo(MappingImpl.address("abc@domain")); + assertThat(MappingImpl.address("abc").appendDomain(Domain.of("domain"))).isEqualTo(MappingImpl.address("abc@domain")); } @Test public void appendDomainShouldWorkWhenMappingAlreadyContainsDomains() { - assertThat(MappingImpl.address("abc@d").appendDomain("domain")).isEqualTo(MappingImpl.address("abc@d@domain")); + assertThat(MappingImpl.address("abc@d").appendDomain(Domain.of("domain"))).isEqualTo(MappingImpl.address("abc@d@domain")); } @Test(expected = NullPointerException.class) @@ -84,11 +85,6 @@ public class MappingImplTest { } @Test - public void appendDomainShouldWorkWhenEmptyDomain() { - assertThat(MappingImpl.address("abc").appendDomain("")).isEqualTo(MappingImpl.address("abc@")); - } - - @Test public void getTypeShouldReturnAddressWhenNoPrefix() { assertThat(MappingImpl.address("abc").getType()).isEqualTo(Mapping.Type.Address); } @@ -110,12 +106,12 @@ public class MappingImplTest { @Test public void getTypeShouldReturnDomainWhenDomainPrefix() { - assertThat(MappingImpl.domain("abc").getType()).isEqualTo(Mapping.Type.Domain); + assertThat(MappingImpl.domain(Domain.of("abc")).getType()).isEqualTo(Mapping.Type.Domain); } @Test(expected = IllegalStateException.class) public void getErrorMessageShouldThrowWhenMappingIsNotAnError() { - MappingImpl.domain("toto").getErrorMessage(); + MappingImpl.domain(Domain.of("toto")).getErrorMessage(); } @Test @@ -151,6 +147,6 @@ public class MappingImplTest { @Test public void getAddressShouldThrowForDomain() { - assertThatThrownBy(() -> MappingImpl.domain("value").getAddress()).isInstanceOf(IllegalStateException.class); + assertThatThrownBy(() -> MappingImpl.domain(Domain.of("value")).getAddress()).isInstanceOf(IllegalStateException.class); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java index 5ac3a9c..bb66d38 100644 --- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java +++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java @@ -24,6 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.Optional; +import org.apache.james.core.Domain; import org.junit.Test; @@ -111,7 +112,7 @@ public class MappingsImplTest { @Test public void fromRawStringShouldNotUseColonDelimiterWhenValueStartsWithDomain() { MappingsImpl actual = MappingsImpl.fromRawString("domain:test"); - assertThat(actual).containsExactly(MappingImpl.domain("test")); + assertThat(actual).containsExactly(MappingImpl.domain(Domain.of("test"))); } @@ -160,11 +161,11 @@ public class MappingsImplTest { @Test public void selectShouldReturnMatchingElementsInOrderWhenMatchingMapping() { MappingsImpl mappings = MappingsImpl.builder() - .add(MappingImpl.regex("toto")) - .add(MappingImpl.address("toto")) - .add(MappingImpl.domain("domain")) - .add(MappingImpl.regex("tata")) - .build(); + .add(MappingImpl.regex("toto")) + .add(MappingImpl.address("toto")) + .add(MappingImpl.domain(Domain.of("domain"))) + .add(MappingImpl.regex("tata")) + .build(); MappingsImpl expected = MappingsImpl.builder() .add(MappingImpl.regex("toto")) .add(MappingImpl.regex("tata")) @@ -192,15 +193,15 @@ public class MappingsImplTest { @Test public void excludeShouldReturnNonMatchingElementsInOrderWhenNonMatchingMapping() { MappingsImpl mappings = MappingsImpl.builder() - .add(MappingImpl.regex("toto")) - .add(MappingImpl.address("toto")) - .add(MappingImpl.domain("domain")) - .add(MappingImpl.regex("tata")) - .build(); + .add(MappingImpl.regex("toto")) + .add(MappingImpl.address("toto")) + .add(MappingImpl.domain(Domain.of("domain"))) + .add(MappingImpl.regex("tata")) + .build(); MappingsImpl expected = MappingsImpl.builder() - .add(MappingImpl.address("toto")) - .add(MappingImpl.domain("domain")) - .build(); + .add(MappingImpl.address("toto")) + .add(MappingImpl.domain(Domain.of("domain"))) + .build(); assertThat(mappings.exclude(Mapping.Type.Regex)).isEqualTo(expected); } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java index 5825492..14655fe 100644 --- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java +++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java @@ -23,6 +23,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.util.List; +import org.apache.james.core.Domain; import org.apache.james.rrt.api.RecipientRewriteTable; import org.apache.james.rrt.api.RecipientRewriteTable.ErrorMappingException; import org.apache.james.rrt.api.RecipientRewriteTableException; @@ -38,13 +39,13 @@ public class RewriteTablesStepdefs { @Given("store \"([^\"]*)\" regexp mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") public void storeRegexpMappingForUserAtDomain(String regexp, String user, String domain) throws Throwable { - rewriteTable.addRegexMapping(user, domain, regexp); + rewriteTable.addRegexMapping(user, Domain.of(domain), regexp); } @Given("store an invalid \"([^\"]*)\" regexp mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") public void storeInvalidRegexpMappingForUserAtDomain(String regexp, String user, String domain) { try { - rewriteTable.addRegexMapping(user, domain, regexp); + rewriteTable.addRegexMapping(user, Domain.of(domain), regexp); } catch (RecipientRewriteTableException e) { this.exception = e; } @@ -52,12 +53,12 @@ public class RewriteTablesStepdefs { @Given("store \"([^\"]*)\" address mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") public void storeAddressMappingForUserAtDomain(String address, String user, String domain) throws Throwable { - rewriteTable.addAddressMapping(user, domain, address); + rewriteTable.addAddressMapping(user, Domain.of(domain), address); } @Given("store \"([^\"]*)\" error mapping for user \"([^\"]*)\" at domain \"([^\"]*)\"") public void storeErrorMappingForUserAtDomain(String error, String user, String domain) throws Throwable { - rewriteTable.addErrorMapping(user, domain, error); + rewriteTable.addErrorMapping(user, Domain.of(domain), error); } @Given("store \"([^\"]*)\" address mapping as wildcard for domain \"([^\"]*)\"") @@ -67,7 +68,7 @@ public class RewriteTablesStepdefs { @Given("store \"([^\"]*)\" alias domain mapping for domain \"([^\"]*)\"") public void storeAliasDomainMappingForDomain(String aliasDomain, String domain) throws Throwable { - rewriteTable.addAliasDomainMapping(aliasDomain, domain); + rewriteTable.addAliasDomainMapping(Domain.of(aliasDomain), Domain.of(domain)); } @Given("recursive mapping is disable") @@ -82,17 +83,17 @@ public class RewriteTablesStepdefs { @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a regexp mapping \"([^\"]*)\"") public void userAtDomainRemovesRegexpMapping(String user, String domain, String regexp) throws Throwable { - rewriteTable.removeRegexMapping(user, domain, regexp); + rewriteTable.removeRegexMapping(user, Domain.of(domain), regexp); } @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a address mapping \"([^\"]*)\"") public void userAtDomainRemovesAddressMapping(String user, String domain, String address) throws Throwable { - rewriteTable.removeAddressMapping(user, domain, address); + rewriteTable.removeAddressMapping(user, Domain.of(domain), address); } @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a error mapping \"([^\"]*)\"") public void userAtDomainRemovesErrorMapping(String user, String domain, String error) throws Throwable { - rewriteTable.removeErrorMapping(user, domain, error); + rewriteTable.removeErrorMapping(user, Domain.of(domain), error); } @When("wildcard address mapping \"([^\"]*)\" at domain \"([^\"]*)\" is removed") @@ -102,7 +103,7 @@ public class RewriteTablesStepdefs { @When("alias domain mapping \"([^\"]*)\" for \"([^\"]*)\" domain is removed") public void removeAliasDomainMappingForDomain(String aliasdomain, String domain) throws Throwable { - rewriteTable.removeAliasDomainMapping(aliasdomain, domain); + rewriteTable.removeAliasDomainMapping(Domain.of(aliasdomain), Domain.of(domain)); } @Then("mappings should be empty") @@ -112,12 +113,12 @@ public class RewriteTablesStepdefs { @Then("mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should be empty") public void assertMappingsIsEmpty(String user, String domain) throws Throwable { - assertThat(rewriteTable.getMappings(user, domain)).isNullOrEmpty(); + assertThat(rewriteTable.getMappings(user, Domain.of(domain))).isNullOrEmpty(); } @Then("mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should contains only \"([^\"]*)\"") public void assertMappingsForUser(String user, String domain, List<String> mappings) throws Throwable { - assertThat(rewriteTable.getMappings(user, domain).asStrings()).containsOnlyElementsOf(mappings); + assertThat(rewriteTable.getMappings(user, Domain.of(domain)).asStrings()).containsOnlyElementsOf(mappings); } @Then("a \"([^\"]*)\" exception should have been thrown") @@ -127,7 +128,7 @@ public class RewriteTablesStepdefs { @Then("retrieving mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should raise an ErrorMappingException with message \"([^\"]*)\"") public void retrievingMappingsForUserAtDomainShouldRaiseAnException(String user, String domain, String message) throws Exception { - assertThatThrownBy(() -> rewriteTable.getMappings(user, domain)) + assertThatThrownBy(() -> rewriteTable.getMappings(user, Domain.of(domain))) .isInstanceOf(ErrorMappingException.class) .hasMessage(message); } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java index f64ccba..4f49809 100644 --- a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java +++ b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.Optional; +import org.apache.james.core.Domain; import org.apache.james.core.MailAddress; import org.apache.james.domainlist.api.mock.SimpleDomainList; import org.apache.james.lifecycle.api.LifecycleUtil; @@ -36,7 +37,7 @@ import org.junit.Test; public abstract class AbstractUsersRepositoryTest { - private static final String DOMAIN = "domain"; + private static final Domain DOMAIN = Domain.of("domain"); protected AbstractUsersRepository usersRepository; @@ -70,7 +71,7 @@ public abstract class AbstractUsersRepositoryTest { private String login(String login) throws UsersRepositoryException { if (usersRepository.supportVirtualHosting()) { - return login + '@' + DOMAIN; + return login + '@' + DOMAIN.name(); } else { return login; } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java index 1f387d2..e7faf84 100644 --- a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java +++ b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java @@ -21,10 +21,10 @@ package org.apache.james.domainlist.memory; import java.util.ArrayList; import java.util.List; -import java.util.Locale; import javax.inject.Inject; +import org.apache.james.core.Domain; import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.lib.AbstractDomainList; @@ -33,7 +33,7 @@ import com.google.common.collect.ImmutableList; public class MemoryDomainList extends AbstractDomainList { - private final List<String> domains; + private final List<Domain> domains; @Inject public MemoryDomainList(DNSService dns) { @@ -42,27 +42,27 @@ public class MemoryDomainList extends AbstractDomainList { } @Override - protected List<String> getDomainListInternal() throws DomainListException { + protected List<Domain> getDomainListInternal() throws DomainListException { return ImmutableList.copyOf(domains); } @Override - protected boolean containsDomainInternal(String domain) throws DomainListException { - return domains.contains(domain.toLowerCase(Locale.US)); + protected boolean containsDomainInternal(Domain domain) throws DomainListException { + return domains.contains(domain); } @Override - public void addDomain(String domain) throws DomainListException { + public void addDomain(Domain domain) throws DomainListException { if (containsDomain(domain)) { - throw new DomainListException(domain.toLowerCase(Locale.US) + " already exists."); + throw new DomainListException(domain + " already exists."); } - domains.add(domain.toLowerCase(Locale.US)); + domains.add(domain); } @Override - public void removeDomain(String domain) throws DomainListException { - if (!domains.remove(domain.toLowerCase(Locale.US))) { - throw new DomainListException(domain.toLowerCase(Locale.US) + " was not found"); + public void removeDomain(Domain domain) throws DomainListException { + if (!domains.remove(domain)) { + throw new DomainListException(domain + " was not found"); } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java ---------------------------------------------------------------------- diff --git a/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java b/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java index a95de2d..6b8e1c7 100644 --- a/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java +++ b/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Optional; import java.util.stream.Stream; +import org.apache.james.core.Domain; import org.apache.james.rrt.api.RecipientRewriteTableException; import org.apache.james.rrt.lib.AbstractRecipientRewriteTable; import org.apache.james.rrt.lib.Mapping; @@ -40,10 +41,10 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable { private static class InMemoryMappingEntry { private final String user; - private final String domain; + private final Domain domain; private final Mapping mapping; - public InMemoryMappingEntry(String user, String domain, Mapping mapping) { + public InMemoryMappingEntry(String user, Domain domain, Mapping mapping) { this.user = user; this.domain = domain; this.mapping = mapping; @@ -53,7 +54,7 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable { return user; } - public String getDomain() { + public Domain getDomain() { return domain; } @@ -62,7 +63,7 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable { } public String asKey() { - return getUser() + "@" + getDomain(); + return getUser() + "@" + getDomain().asString(); } @Override @@ -91,27 +92,26 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable { } @Override - protected void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException { + protected void addMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException { mappingEntries.add(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping)); } @Override - protected void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException { + protected void removeMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException { mappingEntries.remove(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping)); } @Override - protected Mappings getUserDomainMappingsInternal(String user, String domain) throws RecipientRewriteTableException { + protected Mappings getUserDomainMappingsInternal(String user, Domain domain) throws RecipientRewriteTableException { return retrieveMappings(user, domain) .orElse(null); } @Override - protected String mapAddressInternal(String user, String domain) throws RecipientRewriteTableException { + protected String mapAddressInternal(String user, Domain domain) throws RecipientRewriteTableException { Mappings mappings = retrieveMappings(user, domain) .orElse(retrieveMappings(WILDCARD, domain) - .orElse(retrieveMappings(user, WILDCARD) - .orElse(MappingsImpl.empty()))); + .orElse(MappingsImpl.empty())); return !mappings.isEmpty() ? mappings.serialize() : null; } @@ -136,7 +136,7 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable { }); } - private Optional<Mappings> retrieveMappings(final String user, final String domain) { + private Optional<Mappings> retrieveMappings(final String user, final Domain domain) { Stream<Mapping> userEntries = mappingEntries.stream() .filter(mappingEntry -> user.equals(mappingEntry.getUser()) && domain.equals(mappingEntry.getDomain())) .map(InMemoryMappingEntry::getMapping); http://git-wip-us.apache.org/repos/asf/james-project/blob/33cb12e5/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java index 509b76f..a06e2ee 100644 --- a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java +++ b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java @@ -20,6 +20,7 @@ package org.apache.james.rrt.memory; import org.apache.commons.configuration.DefaultConfigurationBuilder; +import org.apache.james.core.Domain; import org.apache.james.rrt.api.RecipientRewriteTableException; import org.apache.james.rrt.lib.AbstractRecipientRewriteTable; import org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest; @@ -48,7 +49,7 @@ public class MemoryRecipientRewriteTableTest extends AbstractRecipientRewriteTab } @Override - protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException { + protected void addMapping(String user, Domain domain, String mapping, int type) throws RecipientRewriteTableException { switch (type) { case ERROR_TYPE: virtualUserTable.addErrorMapping(user, domain, mapping); @@ -60,7 +61,7 @@ public class MemoryRecipientRewriteTableTest extends AbstractRecipientRewriteTab virtualUserTable.addAddressMapping(user, domain, mapping); break; case ALIASDOMAIN_TYPE: - virtualUserTable.addAliasDomainMapping(domain, mapping); + virtualUserTable.addAliasDomainMapping(domain, Domain.of(mapping)); break; default: throw new RuntimeException("Invalid mapping type: " + type); @@ -68,7 +69,7 @@ public class MemoryRecipientRewriteTableTest extends AbstractRecipientRewriteTab } @Override - protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException { + protected void removeMapping(String user, Domain domain, String mapping, int type) throws RecipientRewriteTableException { switch (type) { case ERROR_TYPE: virtualUserTable.removeErrorMapping(user, domain, mapping); @@ -80,7 +81,7 @@ public class MemoryRecipientRewriteTableTest extends AbstractRecipientRewriteTab virtualUserTable.removeAddressMapping(user, domain, mapping); break; case ALIASDOMAIN_TYPE: - virtualUserTable.removeAliasDomainMapping(domain, mapping); + virtualUserTable.removeAliasDomainMapping(domain, Domain.of(mapping)); break; default: throw new RuntimeException("Invalid mapping type: " + type); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org