Author: matthieu Date: Mon Nov 2 13:45:21 2015 New Revision: 1711980 URL: http://svn.apache.org/viewvc?rev=1711980&view=rev Log: JAMES-1595 Mappings.remove now return a copy
Modified: 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/MappingsImpl.java james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/mock/MockRecipientRewriteTableManagementImpl.java 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=1711980&r1=1711979&r2=1711980&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:45:21 2015 @@ -30,7 +30,7 @@ public interface Mappings extends Iterab int size(); - boolean remove(String mapping); + Mappings remove(String mapping); boolean isEmpty(); 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=1711980&r1=1711979&r2=1711980&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:45:21 2015 @@ -108,13 +108,13 @@ public class XMLRecipientRewriteTableTes removeMappingsFromConfig(user, domain, mappings); if (type == ERROR_TYPE) { - mappings.remove(RecipientRewriteTable.ERROR_PREFIX + mapping); + mappings = mappings.remove(RecipientRewriteTable.ERROR_PREFIX + mapping); } else if (type == REGEX_TYPE) { - mappings.remove(RecipientRewriteTable.REGEX_PREFIX + mapping); + mappings = mappings.remove(RecipientRewriteTable.REGEX_PREFIX + mapping); } else if (type == ADDRESS_TYPE) { - mappings.remove(mapping); + mappings = mappings.remove(mapping); } else if (type == ALIASDOMAIN_TYPE) { - mappings.remove(RecipientRewriteTable.ALIASDOMAIN_PREFIX + mapping); + mappings = mappings.remove(RecipientRewriteTable.ALIASDOMAIN_PREFIX + mapping); } if (mappings.size() > 0) { 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=1711980&r1=1711979&r2=1711980&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:45:21 2015 @@ -214,8 +214,8 @@ public class HBaseRecipientRewriteTable String fixedDomain = getFixedDomain(domain); Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() > 1) { - map.remove(mapping); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(map)); + Mappings updatedMappings = map.remove(mapping); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); } 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=1711980&r1=1711979&r2=1711980&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:45:21 2015 @@ -326,8 +326,8 @@ public class JDBCRecipientRewriteTable e String fixedDomain = getFixedDomain(domain); Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() > 1) { - map.remove(mapping); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(map)); + Mappings updatedMappings = map.remove(mapping); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); } 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=1711980&r1=1711979&r2=1711980&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:45:21 2015 @@ -165,8 +165,8 @@ public class JPARecipientRewriteTable ex String fixedDomain = getFixedDomain(domain); Mappings map = getUserDomainMappings(fixedUser, fixedDomain); if (map != null && map.size() > 1) { - map.remove(mapping); - doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(map)); + Mappings updatedMappings = map.remove(mapping); + doUpdateMapping(fixedUser, fixedDomain, RecipientRewriteTableUtil.CollectionToMapping(updatedMappings)); } else { doRemoveMapping(fixedUser, fixedDomain, mapping); } 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=1711980&r1=1711979&r2=1711980&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:45:21 2015 @@ -26,7 +26,6 @@ import java.util.Iterator; import java.util.StringTokenizer; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; public class MappingsImpl implements Mappings { @@ -115,8 +114,13 @@ public class MappingsImpl implements Map } @Override - public boolean remove(String mapping) { - return mappings.remove(mapping); + public Mappings remove(String mapping) { + if (mappings.contains(mapping)) { + ArrayList<String> updatedMappings = Lists.newArrayList(mappings); + updatedMappings.remove(mapping); + return MappingsImpl.fromCollection(updatedMappings); + } + return this; } @Override 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=1711980&r1=1711979&r2=1711980&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:45:21 2015 @@ -132,8 +132,8 @@ public class MockRecipientRewriteTableMa String mappings = (String) store.get(key); if (mappings != null) { map = MappingsImpl.fromRawString(mappings); - if (map.remove(mapping)) { - store.put(key, RecipientRewriteTableUtil.CollectionToMapping(map)); + if (map.contains(mapping)) { + store.put(key, RecipientRewriteTableUtil.CollectionToMapping(map.remove(mapping))); } } throw new RecipientRewriteTableException("Mapping does not exist"); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org