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 2018/04/20 02:12:57 UTC
[12/24] james-project git commit: JAMES-2366 get ride of
[add|remove]MappingInternal
JAMES-2366 get ride of [add|remove]MappingInternal
It is done by strong typing RRT::[add|remove]Mapping
This also avoids a useless mapping -> string conversion
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/860f7b81
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/860f7b81
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/860f7b81
Branch: refs/heads/master
Commit: 860f7b8192dde758fcbcd9ab1b466542a6dc9063
Parents: 8237163
Author: benwa <bt...@linagora.com>
Authored: Fri Apr 6 10:04:55 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Apr 19 11:12:07 2018 +0700
----------------------------------------------------------------------
.../james/rrt/api/RecipientRewriteTable.java | 5 +-
.../CassandraRecipientRewriteTable.java | 4 +-
.../rrt/file/XMLRecipientRewriteTable.java | 4 +-
.../rrt/hbase/HBaseRecipientRewriteTable.java | 4 +-
.../rrt/jdbc/JDBCRecipientRewriteTable.java | 4 +-
.../james/rrt/jpa/JPARecipientRewriteTable.java | 4 +-
.../rrt/lib/AbstractRecipientRewriteTable.java | 88 +++-----------------
.../lib/RecipientRewriteTableManagement.java | 4 +-
.../user/lib/AbstractJamesUsersRepository.java | 5 +-
.../rrt/memory/MemoryRecipientRewriteTable.java | 4 +-
10 files changed, 30 insertions(+), 96 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java b/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java
index f1f11bd..92c803d 100644
--- a/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java
+++ b/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java
@@ -21,6 +21,7 @@ package org.apache.james.rrt.api;
import java.util.Map;
import org.apache.james.core.Domain;
+import org.apache.james.rrt.lib.Mapping;
import org.apache.james.rrt.lib.Mappings;
/**
@@ -161,7 +162,7 @@ public interface RecipientRewriteTable {
* the mapping
* @throws RecipientRewriteTableException
*/
- void addMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException;
+ void addMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException;
/**
* Remove mapping
@@ -174,7 +175,7 @@ public interface RecipientRewriteTable {
* the mapping
* @throws RecipientRewriteTableException
*/
- void removeMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException;
+ void removeMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException;
/**
* Return a Map which holds all mappings. The key is the user@domain and the
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 ef8a649..b4239d8 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
@@ -94,7 +94,7 @@ public class CassandraRecipientRewriteTable extends AbstractRecipientRewriteTabl
}
@Override
- protected void addMappingInternal(String user, Domain domain, Mapping mapping) {
+ public void addMapping(String user, Domain domain, Mapping mapping) {
executor.executeVoid(insertStatement.bind()
.setString(USER, getFixedUser(user))
.setString(DOMAIN, getFixedDomain(domain).asString())
@@ -103,7 +103,7 @@ public class CassandraRecipientRewriteTable extends AbstractRecipientRewriteTabl
}
@Override
- protected void removeMappingInternal(String user, Domain domain, Mapping mapping) {
+ public void removeMapping(String user, Domain domain, Mapping mapping) {
executor.executeVoid(deleteStatement.bind()
.setString(USER, getFixedUser(user))
.setString(DOMAIN, getFixedDomain(domain).asString())
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 9df10a6..08063cc 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
@@ -94,12 +94,12 @@ public class XMLRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void addMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
+ public void addMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
throw new RecipientRewriteTableException("Read-Only implementation");
}
@Override
- protected void removeMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
+ public void removeMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
throw new RecipientRewriteTableException("Read-Only implementation");
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 ff37108..cd5ca2a 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
@@ -59,7 +59,7 @@ public class HBaseRecipientRewriteTable extends AbstractRecipientRewriteTable {
private static final String COLUMN_SEPARATOR = ";";
@Override
- protected void addMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
+ public void addMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
Domain fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
@@ -196,7 +196,7 @@ public class HBaseRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void removeMappingInternal(String user, Domain domain, Mapping mapping) throws
+ public void removeMapping(String user, Domain domain, Mapping mapping) throws
RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
Domain fixedDomain = getFixedDomain(domain);
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 8a2e235..eee32b6 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
@@ -187,7 +187,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void addMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
+ public void addMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
Domain fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
@@ -291,7 +291,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void removeMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
+ public void removeMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
Domain fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 566b3d7..8f1faa1 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
@@ -65,7 +65,7 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void addMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
+ public void addMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
Domain fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
@@ -171,7 +171,7 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void removeMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
+ public void removeMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
Domain fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 e624766..8913aae 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
@@ -193,14 +193,14 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
checkMapping(user, domain, MappingImpl.regex(regex));
LOGGER.info("Add regex mapping => {} for user: {} domain: {}", regex, user, domain.name());
- addMappingInternal(user, domain, MappingImpl.regex(regex));
+ addMapping(user, domain, MappingImpl.regex(regex));
}
@Override
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));
+ removeMapping(user, domain, MappingImpl.regex(regex));
}
@Override
@@ -209,7 +209,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
checkAddressIsValid(addressWithDomain);
checkMapping(user, domain, MappingImpl.address(addressWithDomain));
LOGGER.info("Add address mapping => {} for user: {} domain: {}", addressWithDomain, user, domain.name());
- addMappingInternal(user, domain, MappingImpl.address(addressWithDomain));
+ addMapping(user, domain, MappingImpl.address(addressWithDomain));
}
private String addDefaultDomainIfNone(String address) throws RecipientRewriteTableException {
@@ -235,63 +235,21 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
public void removeAddressMapping(String user, Domain domain, String address) throws RecipientRewriteTableException {
String addressWithDomain = addDefaultDomainIfNone(address);
LOGGER.info("Remove address mapping => {} for user: {} domain: {}", addressWithDomain, user, domain.name());
- removeMappingInternal(user, domain, MappingImpl.address(addressWithDomain));
+ removeMapping(user, domain, MappingImpl.address(addressWithDomain));
}
@Override
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.name());
- addMappingInternal(user, domain, MappingImpl.error(error));
+ addMapping(user, domain, MappingImpl.error(error));
}
@Override
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, Domain domain, String mapping) throws RecipientRewriteTableException {
- String map = mapping.toLowerCase(Locale.US);
- Type mappingType = Mapping.detectType(map);
- String mappingSuffix = mappingType.withoutPrefix(map);
-
- if (mappingType.equals(Type.Error)) {
- addErrorMapping(user, domain, mappingSuffix);
- } else if (mappingType.equals(Type.Regex)) {
- addRegexMapping(user, domain, mappingSuffix);
- } else if (mappingType.equals(Type.Domain)) {
- addAliasDomainMapping(domain, Domain.of(mappingSuffix));
- } else {
- addAddressMapping(user, domain, mappingSuffix);
- }
- }
-
- @Override
- public void removeMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException {
- String map = mapping.toLowerCase(Locale.US);
- Type mappingType = Mapping.detectType(map);
- String mappingSuffix = mappingType.withoutPrefix(map);
-
- switch (mappingType) {
- case Error:
- removeErrorMapping(user, domain, mappingSuffix);
- break;
- case Regex:
- removeRegexMapping(user, domain, mappingSuffix);
- break;
- case Domain:
- removeAliasDomainMapping(domain, Domain.of(mappingSuffix));
- break;
- case Address:
- removeAddressMapping(user, domain, map);
- break;
- case Forward:
- removeForwardMapping(user, domain, map);
- break;
- }
+ removeMapping(user, domain, MappingImpl.error(error));
}
@Override
@@ -305,13 +263,13 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
@Override
public void addAliasDomainMapping(Domain aliasDomain, Domain realDomain) throws RecipientRewriteTableException {
LOGGER.info("Add domain mapping: {} => {}", aliasDomain, realDomain);
- addMappingInternal(null, aliasDomain, MappingImpl.domain(realDomain));
+ addMapping(null, aliasDomain, MappingImpl.domain(realDomain));
}
@Override
public void removeAliasDomainMapping(Domain aliasDomain, Domain realDomain) throws RecipientRewriteTableException {
LOGGER.info("Remove domain mapping: {} => {}", aliasDomain, realDomain);
- removeMappingInternal(null, aliasDomain, MappingImpl.domain(realDomain));
+ removeMapping(null, aliasDomain, MappingImpl.domain(realDomain));
}
@Override
@@ -320,43 +278,17 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
checkAddressIsValid(addressWithDomain);
checkMapping(user, domain, MappingImpl.forward(addressWithDomain));
LOGGER.info("Add forward mapping => {} for user: {} domain: {}", addressWithDomain, user, domain.name());
- addMappingInternal(user, domain, MappingImpl.forward(addressWithDomain));
+ addMapping(user, domain, MappingImpl.forward(addressWithDomain));
}
@Override
public void removeForwardMapping(String user, Domain domain, String address) throws RecipientRewriteTableException {
String addressWithDomain = addDefaultDomainIfNone(address);
LOGGER.info("Remove forward mapping => {} for user: {} domain: {}", addressWithDomain, user, domain.name());
- removeMappingInternal(user, domain, MappingImpl.forward(addressWithDomain));
+ removeMapping(user, domain, MappingImpl.forward(addressWithDomain));
}
/**
- * Add new mapping
- *
- * @param user
- * the user
- * @param domain
- * the domain
- * @param mapping
- * the mapping
- * @throws RecipientRewriteTableException
- */
- protected abstract void addMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException;
-
- /**
- * Remove mapping
- *
- * @param user
- * the user
- * @param domain
- * the domain
- * @param mapping
- * the mapping
- * @throws RecipientRewriteTableException
- */
- protected abstract void removeMappingInternal(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException;
-
- /**
* Return a Map which holds all Mappings
*
* @return Map
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 57c7346..d58c7b8 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
@@ -131,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.of(domain), mapping);
+ rrt.addMapping(user, Domain.of(domain), MappingImpl.of(mapping));
} catch (RecipientRewriteTableException e) {
throw new Exception(e.getMessage());
}
@@ -140,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.of(domain), mapping);
+ rrt.removeMapping(user, Domain.of(domain), MappingImpl.of(mapping));
} catch (RecipientRewriteTableException e) {
throw new Exception(e.getMessage());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 8d3ce08..6328ed3 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
@@ -28,6 +28,7 @@ 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.Mapping;
import org.apache.james.rrt.lib.Mappings;
import org.apache.james.rrt.lib.MappingsImpl;
import org.apache.james.rrt.lib.MappingsImpl.Builder;
@@ -243,13 +244,13 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito
}
@Override
- public void addMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException {
+ public void addMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable");
}
@Override
- public void removeMapping(String user, Domain domain, String mapping) throws RecipientRewriteTableException {
+ public void removeMapping(String user, Domain domain, Mapping mapping) throws RecipientRewriteTableException {
throw new RecipientRewriteTableException("Read-Only RecipientRewriteTable");
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/860f7b81/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 89dd813..b871370 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
@@ -93,12 +93,12 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void addMappingInternal(String user, Domain domain, Mapping mapping) {
+ public void addMapping(String user, Domain domain, Mapping mapping) {
mappingEntries.add(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping));
}
@Override
- protected void removeMappingInternal(String user, Domain domain, Mapping mapping) {
+ public void removeMapping(String user, Domain domain, Mapping mapping) {
mappingEntries.remove(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org