Author: matthieu Date: Mon Nov 2 13:46:06 2015 New Revision: 1711982 URL: http://svn.apache.org/viewvc?rev=1711982&view=rev Log: JAMES-1595 Mappings is no longer Iterable<String> to identify consumers
Modified: james/project/trunk/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java james/project/trunk/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java james/project/trunk/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java james/project/trunk/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java james/project/trunk/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/mock/MockRecipientRewriteTableManagementImpl.java james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTableMailet.java Modified: james/project/trunk/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java (original) +++ james/project/trunk/server/container/cli/src/main/java/org/apache/james/cli/ServerCmd.java Mon Nov 2 13:46:06 2015 @@ -190,7 +190,7 @@ public class ServerCmd { break; case LISTUSERDOMAINMAPPINGS: Mappings userDomainMappings = probe.listUserDomainMappings(arguments[1], arguments[2]); - print(userDomainMappings, System.out); + print(userDomainMappings.asStrings(), System.out); break; case ADDADDRESSMAPPING: probe.addAddressMapping(arguments[1], arguments[2], arguments[3]); @@ -311,19 +311,15 @@ public class ServerCmd { return String.valueOf(value); } - private void print(Map<String, ? extends Iterable<String>> map, PrintStream out) { + private void print(Map<String, Mappings> map, PrintStream out) { if (map != null) { - for (Entry<String, ? extends Iterable<String>> entry : map.entrySet()) { - out.println(entry.getKey() + '=' + collectionToString(entry)); + for (Entry<String, Mappings> entry : map.entrySet()) { + out.println(entry.getKey() + '=' + entry.getValue().asStrings().toString()); } out.println(); } } - private String collectionToString(Entry<String, ? extends Iterable<String>> entry) { - return Joiner.on(',').join(entry.getValue()); - } - private static void printUsage() { StringBuilder footerBuilder = new StringBuilder(); for (CmdType cmdType : CmdType.values()) { Modified: james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java (original) +++ james/project/trunk/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java Mon Nov 2 13:46:06 2015 @@ -21,7 +21,7 @@ package org.apache.james.rrt.lib; -public interface Mappings extends Iterable<String> { +public interface Mappings { boolean contains(String mapping); @@ -31,4 +31,6 @@ public interface Mappings extends Iterab boolean isEmpty(); + Iterable<String> asStrings(); + } \ No newline at end of file Modified: james/project/trunk/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java (original) +++ james/project/trunk/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java Mon Nov 2 13:46:06 2015 @@ -82,7 +82,7 @@ public class XMLRecipientRewriteTableTes if (!updatedMappings.isEmpty()) { defaultConfiguration.addProperty("mapping", user + "@" + domain + "=" + RecipientRewriteTableUtil. - CollectionToMapping(updatedMappings)); + CollectionToMapping(updatedMappings.asStrings())); } try { @@ -119,7 +119,7 @@ public class XMLRecipientRewriteTableTes if (mappings.size() > 0) { defaultConfiguration.addProperty("mapping", user + "@" + domain + "=" + RecipientRewriteTableUtil. - CollectionToMapping(mappings)); + CollectionToMapping(mappings.asStrings())); } try { @@ -133,7 +133,7 @@ public class XMLRecipientRewriteTableTes private void removeMappingsFromConfig(String user, String domain, Mappings mappings) { List<String> stored = new ArrayList<String>(); for (String c : defaultConfiguration.getStringArray("mapping")) { - String mapping = user + "@" + domain + "=" + RecipientRewriteTableUtil.CollectionToMapping(mappings); + String mapping = user + "@" + domain + "=" + RecipientRewriteTableUtil.CollectionToMapping(mappings.asStrings()); if (!c.equalsIgnoreCase(mapping)) { stored.add(c); } Modified: james/project/trunk/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java (original) +++ james/project/trunk/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java Mon Nov 2 13:46:06 2015 @@ -65,7 +65,7 @@ public class HBaseRecipientRewriteTable Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() != 0) { Mappings updatedMappings = MappingsImpl.from(map).add(mapping).build(); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings.asStrings())); } else { doAddMapping(fixedUser, fixedDomain, mapping); } @@ -215,7 +215,7 @@ public class HBaseRecipientRewriteTable Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() > 1) { Mappings updatedMappings = map.remove(mapping); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings.asStrings())); } else { doRemoveMapping(fixedUser, fixedDomain, mapping); } Modified: james/project/trunk/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java (original) +++ james/project/trunk/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java Mon Nov 2 13:46:06 2015 @@ -210,7 +210,7 @@ public class JDBCRecipientRewriteTable e Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() != 0) { Mappings updatedMappings = MappingsImpl.from(map).add(regex).build(); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings.asStrings())); } doAddMapping(fixedUser, fixedDomain, regex); } @@ -327,7 +327,7 @@ public class JDBCRecipientRewriteTable e Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() > 1) { Mappings updatedMappings = map.remove(mapping); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings.asStrings())); } else { doRemoveMapping(fixedUser, fixedDomain, mapping); } Modified: james/project/trunk/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java (original) +++ james/project/trunk/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java Mon Nov 2 13:46:06 2015 @@ -66,7 +66,7 @@ public class JPARecipientRewriteTable ex Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() != 0) { Mappings updatedMappings = MappingsImpl.from(map).add(mapping).build(); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings.asStrings())); } else { doAddMapping(fixedUser, fixedDomain, mapping); } @@ -166,7 +166,7 @@ public class JPARecipientRewriteTable ex Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() > 1) { Mappings updatedMappings = map.remove(mapping); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings.asStrings())); } else { doRemoveMapping(fixedUser, fixedDomain, mapping); } Modified: james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java (original) +++ james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java Mon Nov 2 13:46:06 2015 @@ -132,7 +132,7 @@ public abstract class AbstractRecipientR } else { - for (String target : MappingsImpl.fromRawString(targetString)) { + for (String target : MappingsImpl.fromRawString(targetString).asStrings()) { if (target.startsWith(RecipientRewriteTable.REGEX_PREFIX)) { try { target = RecipientRewriteTableUtil.regexMap(new MailAddress(user, domain), target); @@ -452,7 +452,7 @@ public abstract class AbstractRecipientR // TODO: Maybe we should just return the aliasdomain mapping if (mappings != null && mappings.contains(RecipientRewriteTable.ALIASDOMAIN_PREFIX)) { Mappings mapCol = MappingsImpl.fromRawString(mappings); - Iterator<String> mapIt = mapCol.iterator(); + Iterator<String> mapIt = mapCol.asStrings().iterator(); List<String> col = new ArrayList<String>(mapCol.size()); Modified: james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java (original) +++ james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java Mon Nov 2 13:46:06 2015 @@ -76,7 +76,7 @@ public class MappingsImpl implements Map } public Builder addAll(Mappings mappings) { - this.mappings.addAll(mappings); + this.mappings.addAll(mappings.asStrings()); return this; } @@ -93,8 +93,8 @@ public class MappingsImpl implements Map } @Override - public Iterator<String> iterator() { - return mappings.iterator(); + public Iterable<String> asStrings() { + return mappings; } @Override Modified: james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java (original) +++ james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java Mon Nov 2 13:46:06 2015 @@ -65,7 +65,7 @@ public abstract class AbstractRecipientR Mappings map = mappings.get(key); - for (String aMap : map) { + for (String aMap : map.asStrings()) { try { removeMapping(args[0], args[1], aMap); } catch (IllegalArgumentException e) { @@ -247,7 +247,7 @@ public abstract class AbstractRecipientR assertTrue("Add mapping", addMapping(user1, domain1, user2 + "@" + domain2, ADDRESS_TYPE)); assertTrue("Add mapping", addMapping(user2, domain2, user3 + "@" + domain3, ADDRESS_TYPE)); - assertEquals("Recursive mapped", virtualUserTable.getMappings(user1, domain1).iterator().next(), + assertEquals("Recursive mapped", virtualUserTable.getMappings(user1, domain1).asStrings().iterator().next(), user3 + "@" + domain3); assertTrue("Add mapping", addMapping(user3, domain3, user1 + "@" + domain1, ADDRESS_TYPE)); @@ -260,7 +260,7 @@ public abstract class AbstractRecipientR // disable recursive mapping virtualUserTable.setRecursiveMapping(false); - assertEquals("Not recursive mapped", virtualUserTable.getMappings(user1, domain1).iterator().next(), + assertEquals("Not recursive mapped", virtualUserTable.getMappings(user1, domain1).asStrings().iterator().next(), user2 + "@" + domain2); } catch (IllegalArgumentException e) { @@ -285,7 +285,7 @@ public abstract class AbstractRecipientR assertTrue("Add aliasDomain mapping", addMapping(RecipientRewriteTable.WILDCARD, aliasDomain, domain, ALIASDOMAIN_TYPE)); - Iterator<String> mappings = virtualUserTable.getMappings(user, aliasDomain).iterator(); + Iterator<String> mappings = virtualUserTable.getMappings(user, aliasDomain).asStrings().iterator(); assertEquals("Domain mapped as first ", mappings.next(), user + "@" + domain); assertEquals("Address mapped as second ", mappings.next(), user2 + "@" + domain); Modified: james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java (original) +++ james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingsImplTest.java Mon Nov 2 13:46:06 2015 @@ -35,88 +35,88 @@ public class MappingsImplTest { @Test public void fromRawStringShouldReturnEmptyCollectionWhenEmptyString() { MappingsImpl actual = MappingsImpl.fromRawString(""); - assertThat(actual).isEmpty(); + assertThat(actual.asStrings()).isEmpty(); } @Test public void fromRawStringShouldReturnSingletonCollectionWhenSingleElementString() { MappingsImpl actual = MappingsImpl.fromRawString("value"); - assertThat(actual).containsExactly("value"); + assertThat(actual.asStrings()).containsExactly("value"); } @Test public void fromRawStringShouldReturnCollectionWhenSeveralElementsString() { MappingsImpl actual = MappingsImpl.fromRawString("value1;value2"); - assertThat(actual).containsExactly("value1", "value2"); + assertThat(actual.asStrings()).containsExactly("value1", "value2"); } @Test public void fromRawStringShouldReturnSingleElementCollectionWhenTrailingDelimiterString() { MappingsImpl actual = MappingsImpl.fromRawString("value1;"); - assertThat(actual).containsExactly("value1"); + assertThat(actual.asStrings()).containsExactly("value1"); } @Test public void fromRawStringShouldReturnSingleElementCollectionWhenHeadingDelimiterString() { MappingsImpl actual = MappingsImpl.fromRawString(";value1"); - assertThat(actual).containsExactly("value1"); + assertThat(actual.asStrings()).containsExactly("value1"); } @Test public void fromRawStringShouldTrimValues() { MappingsImpl actual = MappingsImpl.fromRawString("value1 ; value2 "); - assertThat(actual).containsExactly("value1", "value2"); + assertThat(actual.asStrings()).containsExactly("value1", "value2"); } @Test public void fromRawStringShouldNotSkipEmptyValue() { MappingsImpl actual = MappingsImpl.fromRawString("value1; ;value2"); - assertThat(actual).containsExactly("value1", "", "value2"); + assertThat(actual.asStrings()).containsExactly("value1", "", "value2"); } @Test public void fromRawStringShouldReturnCollectionWhenValueContainsCommaSeperatedValues() { MappingsImpl actual = MappingsImpl.fromRawString("value1,value2"); - assertThat(actual).containsExactly("value1","value2"); + assertThat(actual.asStrings()).containsExactly("value1","value2"); } @Test public void fromRawStringShouldReturnCollectionWhenValueContainsColonSeperatedValues() { MappingsImpl actual = MappingsImpl.fromRawString("value1:value2"); - assertThat(actual).containsExactly("value1","value2"); + assertThat(actual.asStrings()).containsExactly("value1","value2"); } @Test public void fromRawStringShouldUseCommaDelimiterBeforeSemicolonWhenValueContainsBoth() { MappingsImpl actual = MappingsImpl.fromRawString("value1;value1,value2"); - assertThat(actual).containsExactly("value1;value1","value2"); + assertThat(actual.asStrings()).containsExactly("value1;value1","value2"); } @Test public void fromRawStringShouldUseSemicolonDelimiterBeforeColonWhenValueContainsBoth() { MappingsImpl actual = MappingsImpl.fromRawString("value1:value1;value2"); - assertThat(actual).containsExactly("value1:value1","value2"); + assertThat(actual.asStrings()).containsExactly("value1:value1","value2"); } @Test public void fromRawStringShouldNotUseColonDelimiterWhenValueStartsWithError() { MappingsImpl actual = MappingsImpl.fromRawString("error:test"); - assertThat(actual).containsExactly("error:test"); + assertThat(actual.asStrings()).containsExactly("error:test"); } @Test public void fromRawStringShouldNotUseColonDelimiterWhenValueStartsWithDomain() { MappingsImpl actual = MappingsImpl.fromRawString("domain:test"); - assertThat(actual).containsExactly("domain:test"); + assertThat(actual.asStrings()).containsExactly("domain:test"); } @Test public void fromRawStringShouldNotUseColonDelimiterWhenValueStartsWithRegex() { MappingsImpl actual = MappingsImpl.fromRawString("regex:test"); - assertThat(actual).containsExactly("regex:test"); + assertThat(actual.asStrings()).containsExactly("regex:test"); } Modified: james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java (original) +++ james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java Mon Nov 2 13:46:06 2015 @@ -112,12 +112,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).asStrings()).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)).containsOnlyElementsOf(mappings); + assertThat(rewriteTable.getMappings(user, domain).asStrings()).containsOnlyElementsOf(mappings); } @Then("a \"([^\"]*)\" exception should have been thrown") Modified: james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/mock/MockRecipientRewriteTableManagementImpl.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/mock/MockRecipientRewriteTableManagementImpl.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/mock/MockRecipientRewriteTableManagementImpl.java (original) +++ james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/mock/MockRecipientRewriteTableManagementImpl.java Mon Nov 2 13:46:06 2015 @@ -119,7 +119,7 @@ public class MockRecipientRewriteTableMa throw new RecipientRewriteTableException("Mapping " + mapping + " already exist!"); } else { Mappings updateMappings = MappingsImpl.from(map).add(mapping).build(); - store.put(key, RecipientRewriteTableUtil.CollectionToMapping(updateMappings)); + store.put(key, RecipientRewriteTableUtil.CollectionToMapping(updateMappings.asStrings())); } } else { store.put(key, mapping); @@ -133,7 +133,7 @@ public class MockRecipientRewriteTableMa if (mappings != null) { map = MappingsImpl.fromRawString(mappings); if (map.contains(mapping)) { - store.put(key, RecipientRewriteTableUtil.CollectionToMapping(map.remove(mapping))); + store.put(key, RecipientRewriteTableUtil.CollectionToMapping(map.remove(mapping).asStrings())); } } throw new RecipientRewriteTableException("Mapping does not exist"); Modified: james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTableMailet.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTableMailet.java?rev=1711982&r1=1711981&r2=1711982&view=diff ============================================================================== --- james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTableMailet.java (original) +++ james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTableMailet.java Mon Nov 2 13:46:06 2015 @@ -125,7 +125,7 @@ public abstract class AbstractRecipientR * @throws MessagingException */ protected Collection<MailAddress> handleMappings(Mappings mappings, MailAddress sender, MailAddress recipient, MimeMessage message) throws MessagingException { - Iterator<String> i = mappings.iterator(); + Iterator<String> i = mappings.asStrings().iterator(); Collection<MailAddress> remoteRecipients = new ArrayList<MailAddress>(); Collection<MailAddress> localRecipients = new ArrayList<MailAddress>(); while (i.hasNext()) { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org