You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ma...@apache.org on 2015/11/02 14:45:22 UTC
svn commit: r1711980 - in /james/project/trunk/server/data:
data-api/src/main/java/org/apache/james/rrt/lib/
data-file/src/test/java/org/apache/james/rrt/file/
data-hbase/src/main/java/org/apache/james/rrt/hbase/
data-jdbc/src/main/java/org/apache/jame...
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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org