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 bt...@apache.org on 2017/09/01 10:40:10 UTC

[5/5] james-project git commit: JAMES-2121 Also improve remove mapping

JAMES-2121 Also improve remove mapping


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/abcaa558
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/abcaa558
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/abcaa558

Branch: refs/heads/master
Commit: abcaa55878342e8c4b3cd2d171a6e9ecf827db71
Parents: d899575
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Wed Aug 30 16:57:38 2017 +0200
Committer: benwa <bt...@linagora.com>
Committed: Fri Sep 1 17:26:22 2017 +0700

----------------------------------------------------------------------
 .../java/org/apache/james/rrt/lib/Mappings.java    |  2 +-
 .../cassandra/CassandraRecipientRewriteTable.java  |  5 +++--
 .../james/rrt/file/XMLRecipientRewriteTable.java   |  3 ++-
 .../rrt/file/XMLRecipientRewriteTableTest.java     |  9 +++++----
 .../rrt/hbase/HBaseRecipientRewriteTable.java      | 17 +++++++++--------
 .../james/rrt/jdbc/JDBCRecipientRewriteTable.java  | 11 ++++-------
 .../james/rrt/jpa/JPARecipientRewriteTable.java    | 10 ++++------
 .../rrt/lib/AbstractRecipientRewriteTable.java     | 10 +++++-----
 .../java/org/apache/james/rrt/lib/MappingImpl.java |  1 -
 .../org/apache/james/rrt/lib/MappingsImpl.java     |  3 +--
 .../rrt/memory/MemoryRecipientRewriteTable.java    |  5 +++--
 11 files changed, 37 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java b/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java
index a4f27ff..4fdd8f1 100644
--- a/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java
+++ b/server/data/data-api/src/main/java/org/apache/james/rrt/lib/Mappings.java
@@ -30,7 +30,7 @@ public interface Mappings extends Iterable<Mapping> {
 
     int size();
 
-    Mappings remove(String mapping);
+    Mappings remove(Mapping mapping);
 
     boolean isEmpty();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java
index 60642e2..1c124b5 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java
@@ -36,6 +36,7 @@ import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
 import org.apache.james.backends.cassandra.utils.CassandraUtils;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
+import org.apache.james.rrt.lib.Mapping;
 import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 
@@ -99,11 +100,11 @@ public class CassandraRecipientRewriteTable extends AbstractRecipientRewriteTabl
     }
 
     @Override
-    protected void removeMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+    protected void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
         executor.executeVoid(deleteStatement.bind()
                 .setString(USER, getFixedUser(user))
                 .setString(DOMAIN, getFixedDomain(domain))
-                .setString(MAPPING, mapping))
+                .setString(MAPPING, mapping.asString()))
             .join();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java b/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
index 6132f3f..99dba38 100644
--- a/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
+++ b/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
@@ -25,6 +25,7 @@ import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
+import org.apache.james.rrt.lib.Mapping;
 import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 import org.apache.james.rrt.lib.RecipientRewriteTableUtil;
@@ -96,7 +97,7 @@ public class XMLRecipientRewriteTable extends AbstractRecipientRewriteTable {
     }
 
     @Override
-    protected void removeMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+    protected void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
         throw new RecipientRewriteTableException("Read-Only implementation");
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
index 108c191..0a11783 100644
--- a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
@@ -26,6 +26,7 @@ import org.apache.james.rrt.api.RecipientRewriteTable;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest;
+import org.apache.james.rrt.lib.MappingImpl;
 import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 import org.apache.james.rrt.lib.MappingsImpl.Builder;
@@ -110,13 +111,13 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
         removeMappingsFromConfig(user, domain, mappings);
 
         if (type == ERROR_TYPE) {
-            mappings = mappings.remove(RecipientRewriteTable.ERROR_PREFIX + mapping);
+            mappings = mappings.remove(MappingImpl.error(mapping));
         } else if (type == REGEX_TYPE) {
-            mappings = mappings.remove(RecipientRewriteTable.REGEX_PREFIX + mapping);
+            mappings = mappings.remove(MappingImpl.regex(mapping));
         } else if (type == ADDRESS_TYPE) {
-            mappings = mappings.remove(mapping);
+            mappings = mappings.remove(MappingImpl.address(mapping));
         } else if (type == ALIASDOMAIN_TYPE) {
-            mappings = mappings.remove(RecipientRewriteTable.ALIASDOMAIN_PREFIX + mapping);
+            mappings = mappings.remove(MappingImpl.domain(mapping));
         }
 
         if (mappings.size() > 0) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java b/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
index 42731c2..0ab3eb3 100644
--- a/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
+++ b/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
@@ -24,12 +24,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-import org.apache.james.rrt.api.RecipientRewriteTableException;
-import org.apache.james.rrt.hbase.def.HRecipientRewriteTable;
-import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
-import org.apache.james.rrt.lib.Mappings;
-import org.apache.james.rrt.lib.MappingsImpl;
-import org.apache.james.system.hbase.TablePool;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Get;
@@ -39,6 +33,13 @@ import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.james.rrt.api.RecipientRewriteTableException;
+import org.apache.james.rrt.hbase.def.HRecipientRewriteTable;
+import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
+import org.apache.james.rrt.lib.Mapping;
+import org.apache.james.rrt.lib.Mappings;
+import org.apache.james.rrt.lib.MappingsImpl;
+import org.apache.james.system.hbase.TablePool;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -206,7 +207,7 @@ public class HBaseRecipientRewriteTable extends AbstractRecipientRewriteTable {
      * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTable#removeMappingInternal(String, String, String)
      */
     @Override
-    protected void removeMappingInternal(String user, String domain, String mapping) throws
+    protected void removeMappingInternal(String user, String domain, Mapping mapping) throws
             RecipientRewriteTableException {
         String fixedUser = getFixedUser(user);
         String fixedDomain = getFixedDomain(domain);
@@ -215,7 +216,7 @@ public class HBaseRecipientRewriteTable extends AbstractRecipientRewriteTable {
             Mappings updatedMappings = map.remove(mapping);
             doUpdateMapping(fixedUser, fixedDomain, updatedMappings.serialize());
         } else {
-            doRemoveMapping(fixedUser, fixedDomain, mapping);
+            doRemoveMapping(fixedUser, fixedDomain, mapping.asString());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java b/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
index 3c27de2..2f2f6b1 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
@@ -38,6 +38,7 @@ import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
+import org.apache.james.rrt.lib.Mapping;
 import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 import org.apache.james.util.sql.JDBCUtil;
@@ -310,12 +311,8 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
         return null;
     }
 
-    /**
-     * @throws RecipientRewriteTableException
-     * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTable#removeMappingInternal(String,
-     *      String, String)
-     */
-    protected void removeMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+    @Override
+    protected void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
         String fixedUser = getFixedUser(user);
         String fixedDomain = getFixedDomain(domain);
         Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
@@ -323,7 +320,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
             Mappings updatedMappings = map.remove(mapping);
             doUpdateMapping(fixedUser, fixedDomain, updatedMappings.serialize());
         } else {
-            doRemoveMapping(fixedUser, fixedDomain, mapping);
+            doRemoveMapping(fixedUser, fixedDomain, mapping.asString());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
index b19760e..aac5456 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
@@ -32,6 +32,7 @@ import javax.persistence.PersistenceUnit;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.jpa.model.JPARecipientRewrite;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
+import org.apache.james.rrt.lib.Mapping;
 import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 import org.slf4j.Logger;
@@ -171,11 +172,8 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
         return null;
     }
 
-    /**
-     * @throws RecipientRewriteTableException
-     * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTable#removeMappingInternal(String, String, String)
-     */
-    protected void removeMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+    @Override
+    protected void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
         String fixedUser = getFixedUser(user);
         String fixedDomain = getFixedDomain(domain);
         Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
@@ -183,7 +181,7 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
             Mappings updatedMappings = map.remove(mapping);
             doUpdateMapping(fixedUser, fixedDomain, updatedMappings.serialize());
         } else {
-            doRemoveMapping(fixedUser, fixedDomain, mapping);
+            doRemoveMapping(fixedUser, fixedDomain, mapping.asString());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/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 6af844b..5fae77e 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
@@ -205,7 +205,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
      */
     public void removeRegexMapping(String user, String domain, String regex) throws RecipientRewriteTableException {
         LOGGER.info("Remove regex mapping => " + regex + " for user: " + user + " domain: " + domain);
-        removeMappingInternal(user, domain, RecipientRewriteTable.REGEX_PREFIX + regex);
+        removeMappingInternal(user, domain, MappingImpl.regex(regex));
     }
 
     /**
@@ -244,7 +244,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
             }
         }
         LOGGER.info("Remove address mapping => " + address + " for user: " + user + " domain: " + domain);
-        removeMappingInternal(user, domain, address);
+        removeMappingInternal(user, domain, MappingImpl.address(address));
     }
 
     /**
@@ -264,7 +264,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
      */
     public void removeErrorMapping(String user, String domain, String error) throws RecipientRewriteTableException {
         LOGGER.info("Remove error mapping => " + error + " for user: " + user + " domain: " + domain);
-        removeMappingInternal(user, domain, RecipientRewriteTable.ERROR_PREFIX + error);
+        removeMappingInternal(user, domain, MappingImpl.error(error));
     }
 
     /**
@@ -348,7 +348,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
      */
     public void removeAliasDomainMapping(String aliasDomain, String realDomain) throws RecipientRewriteTableException {
         LOGGER.info("Remove domain mapping: " + aliasDomain + " => " + realDomain);
-        removeMappingInternal(null, aliasDomain, RecipientRewriteTable.ALIASDOMAIN_PREFIX + realDomain);
+        removeMappingInternal(null, aliasDomain, MappingImpl.domain(realDomain));
     }
 
     /**
@@ -375,7 +375,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
      *            the mapping
      * @throws RecipientRewriteTableException
      */
-    protected abstract void removeMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException;
+    protected abstract void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException;
 
     /**
      * Return Collection of all mappings for the given username and domain

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/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 ebf1fd5..4f0c97a 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
@@ -34,7 +34,6 @@ public class MappingImpl implements Mapping, Serializable {
 
     private static final String ADDRESS_PREFIX = "";
 
-
     public static MappingImpl of(String mapping) {
         return new MappingImpl("", mapping);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
index a9b61da..c8932de 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
@@ -137,8 +137,7 @@ public class MappingsImpl implements Mappings, Serializable {
     }
 
     @Override
-    public Mappings remove(String mappingAsString) {
-        MappingImpl mapping = MappingImpl.of(mappingAsString);
+    public Mappings remove(Mapping mapping) {
         if (mappings.contains(mapping)) {
             ArrayList<Mapping> updatedMappings = Lists.newArrayList(mappings);
             updatedMappings.remove(mapping);

http://git-wip-us.apache.org/repos/asf/james-project/blob/abcaa558/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 86b07ab..84525ab 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
@@ -27,6 +27,7 @@ import java.util.Optional;
 
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
+import org.apache.james.rrt.lib.Mapping;
 import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 
@@ -96,8 +97,8 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
     }
 
     @Override
-    protected void removeMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
-        mappingEntries.remove(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping));
+    protected void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
+        mappingEntries.remove(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping.asString()));
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org