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:06 UTC
[1/5] james-project git commit: JAMES-2121 Disallown creation of
duplicate mappings
Repository: james-project
Updated Branches:
refs/heads/master 8d9287ff9 -> e9c1a72b7
JAMES-2121 Disallown creation of duplicate mappings
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d8995759
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d8995759
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d8995759
Branch: refs/heads/master
Commit: d89957592fb401f50adc7f67a0016a2cb7207173
Parents: 8d9287f
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Wed Aug 30 16:38:11 2017 +0200
Committer: benwa <bt...@linagora.com>
Committed: Fri Sep 1 17:26:17 2017 +0700
----------------------------------------------------------------------
.../java/org/apache/james/rrt/lib/Mappings.java | 2 +-
.../rrt/file/XMLRecipientRewriteTableTest.java | 8 ++++++++
.../rrt/lib/AbstractRecipientRewriteTable.java | 8 ++++----
.../org/apache/james/rrt/lib/MappingImpl.java | 3 +--
.../org/apache/james/rrt/lib/MappingsImpl.java | 3 +--
.../lib/AbstractRecipientRewriteTableTest.java | 19 +++++++++++++++++++
.../apache/james/rrt/lib/MappingImplTest.java | 5 +++++
7 files changed, 39 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/d8995759/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 21324aa..a4f27ff 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
@@ -26,7 +26,7 @@ import org.apache.james.rrt.lib.Mapping.Type;
public interface Mappings extends Iterable<Mapping> {
- boolean contains(String mapping);
+ boolean contains(Mapping mapping);
int size();
http://git-wip-us.apache.org/repos/asf/james-project/blob/d8995759/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 3d3d900..108c191 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
@@ -31,6 +31,8 @@ import org.apache.james.rrt.lib.MappingsImpl;
import org.apache.james.rrt.lib.MappingsImpl.Builder;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
/**
* Test the XML Virtual User Table implementation.
@@ -51,6 +53,12 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
return new XMLRecipientRewriteTable();
}
+ @Test
+ @Ignore("addMapping doesn't handle checking for duplicate in this test implementation")
+ @Override
+ public void addMappingShouldThrowWhenMappingAlreadyExists() {
+ }
+
@Override
protected boolean addMapping(String user, String domain, String mapping, int type) throws
RecipientRewriteTableException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/d8995759/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 0680e6a..6af844b 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,7 +193,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
throw new RecipientRewriteTableException("Invalid regex: " + regex, e);
}
- checkMapping(user, domain, regex);
+ checkMapping(user, domain, MappingImpl.regex(regex));
LOGGER.info("Add regex mapping => " + regex + " for user: " + user + " domain: " + domain);
addMappingInternal(user, domain, RecipientRewriteTable.REGEX_PREFIX + regex);
@@ -225,7 +225,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
} catch (ParseException e) {
throw new RecipientRewriteTableException("Invalid emailAddress: " + address, e);
}
- checkMapping(user, domain, address);
+ checkMapping(user, domain, MappingImpl.address(address));
LOGGER.info("Add address mapping => " + address + " for user: " + user + " domain: " + domain);
addMappingInternal(user, domain, address);
@@ -252,7 +252,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
* java.lang.String, java.lang.String)
*/
public void addErrorMapping(String user, String domain, String error) throws RecipientRewriteTableException {
- checkMapping(user, domain, error);
+ checkMapping(user, domain, MappingImpl.error(error));
LOGGER.info("Add error mapping => " + error + " for user: " + user + " domain: " + domain);
addMappingInternal(user, domain, RecipientRewriteTable.ERROR_PREFIX + error);
@@ -445,7 +445,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
}
}
- private void checkMapping(String user, String domain, String mapping) throws RecipientRewriteTableException {
+ private void checkMapping(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
Mappings mappings = getUserDomainMappings(user, domain);
if (mappings != null && mappings.contains(mapping)) {
throw new RecipientRewriteTableException("Mapping " + mapping + " for user " + user + " domain " + domain + " already exist!");
http://git-wip-us.apache.org/repos/asf/james-project/blob/d8995759/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 113b83b..ebf1fd5 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
@@ -24,7 +24,6 @@ import java.io.Serializable;
import org.apache.james.rrt.api.RecipientRewriteTable;
-import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
@@ -114,7 +113,7 @@ public class MappingImpl implements Mapping, Serializable {
@Override
public String toString() {
- return MoreObjects.toStringHelper(getClass()).add("mapping", mapping).toString();
+ return "MappingImpl{mapping=" + mapping + "}";
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/james-project/blob/d8995759/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 eacc55e..a9b61da 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
@@ -127,8 +127,7 @@ public class MappingsImpl implements Mappings, Serializable {
}
@Override
- @SuppressWarnings("unlikely-arg-type")
- public boolean contains(String mapping) {
+ public boolean contains(Mapping mapping) {
return mappings.contains(mapping);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/d8995759/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
index d2539dd..f481102 100644
--- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
@@ -328,6 +328,25 @@ public abstract class AbstractRecipientRewriteTableTest {
.build());
}
+ @Test
+ public void addMappingShouldThrowWhenMappingAlreadyExists() throws Exception {
+ String user = "test";
+ String domain = "localhost";
+ String address = "test@localhost2";
+
+ assertThat(addMapping(user, domain, address, ADDRESS_TYPE)).isTrue();
+ assertThat(addMapping(user, domain, address, ADDRESS_TYPE)).isFalse();
+ }
+
+ @Test
+ public void addMappingShouldNotThrowWhenMappingAlreadyExistsWithAnOtherType() throws Exception {
+ String user = "test";
+ String domain = "localhost";
+ String address = "test@localhost2";
+
+ assertThat(addMapping(user, domain, address, ADDRESS_TYPE)).isTrue();
+ assertThat(addMapping(user, domain, address, ERROR_TYPE)).isTrue();
+ }
protected abstract AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception;
http://git-wip-us.apache.org/repos/asf/james-project/blob/d8995759/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
index 88f4e3d..5844fdc 100644
--- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/MappingImplTest.java
@@ -127,4 +127,9 @@ public class MappingImplTest {
public void getErrorMessageShouldReturnWhenErrorWithoutMessage() {
assertThat(MappingImpl.error("").getErrorMessage()).isEqualTo("");
}
+
+ @Test
+ public void toStringShouldReturnValuePrefixedAsByMoreObject() {
+ assertThat(MappingImpl.of("value").toString()).isEqualTo("MappingImpl{mapping=value}");
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[2/5] james-project git commit: JAMES-2121 Also slightly improve
internal add method for mappings
Posted by bt...@apache.org.
JAMES-2121 Also slightly improve internal add method for mappings
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/589f347f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/589f347f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/589f347f
Branch: refs/heads/master
Commit: 589f347f4cb113418087dc496c41ae0112c30ada
Parents: abcaa55
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Wed Aug 30 17:21:34 2017 +0200
Committer: benwa <bt...@linagora.com>
Committed: Fri Sep 1 17:26:22 2017 +0700
----------------------------------------------------------------------
.../CassandraRecipientRewriteTable.java | 4 ++--
.../rrt/file/XMLRecipientRewriteTable.java | 2 +-
.../rrt/hbase/HBaseRecipientRewriteTable.java | 4 ++--
.../rrt/jdbc/JDBCRecipientRewriteTable.java | 12 ++++------
.../james/rrt/jpa/JPARecipientRewriteTable.java | 9 +++----
.../rrt/lib/AbstractRecipientRewriteTable.java | 10 ++++----
.../org/apache/james/rrt/lib/MappingsImpl.java | 2 +-
.../rrt/memory/MemoryRecipientRewriteTable.java | 25 +++++++++-----------
8 files changed, 29 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/589f347f/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 1c124b5..963060a 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
@@ -91,11 +91,11 @@ public class CassandraRecipientRewriteTable extends AbstractRecipientRewriteTabl
}
@Override
- protected void addMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+ protected void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
executor.executeVoid(insertStatement.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/589f347f/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 99dba38..bab777e 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
@@ -92,7 +92,7 @@ public class XMLRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void addMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+ protected void addMappingInternal(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/589f347f/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 0ab3eb3..93709ab 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
@@ -58,7 +58,7 @@ public class HBaseRecipientRewriteTable extends AbstractRecipientRewriteTable {
* @see org.apache.james.rrt.lib.AbstractRecipientRewriteTable#addMappingInternal(String, String, String)
*/
@Override
- protected void addMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+ protected void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
String fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
@@ -66,7 +66,7 @@ public class HBaseRecipientRewriteTable extends AbstractRecipientRewriteTable {
Mappings updatedMappings = MappingsImpl.from(map).add(mapping).build();
doUpdateMapping(fixedUser, fixedDomain, updatedMappings.serialize());
} else {
- doAddMapping(fixedUser, fixedDomain, mapping);
+ doAddMapping(fixedUser, fixedDomain, mapping.asString());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/589f347f/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 2f2f6b1..fccd1e7 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
@@ -194,20 +194,16 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
- /**
- * @throws RecipientRewriteTableException
- * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTable#addMappingInternal(String,
- * String, String)
- */
- protected void addMappingInternal(String user, String domain, String regex) throws RecipientRewriteTableException {
+ @Override
+ protected void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
String fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
if (map != null && map.size() != 0) {
- Mappings updatedMappings = MappingsImpl.from(map).add(regex).build();
+ Mappings updatedMappings = MappingsImpl.from(map).add(mapping).build();
doUpdateMapping(fixedUser, fixedDomain, updatedMappings.serialize());
}
- doAddMapping(fixedUser, fixedDomain, regex);
+ doAddMapping(fixedUser, fixedDomain, mapping.asString());
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/589f347f/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 aac5456..8e11b95 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
@@ -61,11 +61,8 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
this.entityManagerFactory = entityManagerFactory;
}
- /**
- * @throws RecipientRewriteTableException
- * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTable#addMappingInternal(String, String, String)
- */
- protected void addMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+ @Override
+ protected void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
String fixedUser = getFixedUser(user);
String fixedDomain = getFixedDomain(domain);
Mappings map = getUserDomainMappings(fixedUser, fixedDomain);
@@ -73,7 +70,7 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
Mappings updatedMappings = MappingsImpl.from(map).add(mapping).build();
doUpdateMapping(fixedUser, fixedDomain, updatedMappings.serialize());
} else {
- doAddMapping(fixedUser, fixedDomain, mapping);
+ doAddMapping(fixedUser, fixedDomain, mapping.asString());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/589f347f/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 5fae77e..ff40572 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
@@ -195,7 +195,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
checkMapping(user, domain, MappingImpl.regex(regex));
LOGGER.info("Add regex mapping => " + regex + " for user: " + user + " domain: " + domain);
- addMappingInternal(user, domain, RecipientRewriteTable.REGEX_PREFIX + regex);
+ addMappingInternal(user, domain, MappingImpl.regex(regex));
}
@@ -227,7 +227,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
}
checkMapping(user, domain, MappingImpl.address(address));
LOGGER.info("Add address mapping => " + address + " for user: " + user + " domain: " + domain);
- addMappingInternal(user, domain, address);
+ addMappingInternal(user, domain, MappingImpl.address(address));
}
@@ -254,7 +254,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
public void addErrorMapping(String user, String domain, String error) throws RecipientRewriteTableException {
checkMapping(user, domain, MappingImpl.error(error));
LOGGER.info("Add error mapping => " + error + " for user: " + user + " domain: " + domain);
- addMappingInternal(user, domain, RecipientRewriteTable.ERROR_PREFIX + error);
+ addMappingInternal(user, domain, MappingImpl.error(error));
}
@@ -339,7 +339,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
*/
public void addAliasDomainMapping(String aliasDomain, String realDomain) throws RecipientRewriteTableException {
LOGGER.info("Add domain mapping: " + aliasDomain + " => " + realDomain);
- addMappingInternal(null, aliasDomain, RecipientRewriteTable.ALIASDOMAIN_PREFIX + realDomain);
+ addMappingInternal(null, aliasDomain, MappingImpl.domain(realDomain));
}
/**
@@ -362,7 +362,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
* the mapping
* @throws RecipientRewriteTableException
*/
- protected abstract void addMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException;
+ protected abstract void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException;
/**
* Remove mapping
http://git-wip-us.apache.org/repos/asf/james-project/blob/589f347f/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 c8932de..2267829 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
@@ -68,7 +68,7 @@ public class MappingsImpl implements Mappings, Serializable {
.build();
}
- private static MappingsImpl fromMappings(Stream<Mapping> mappings) {
+ public static MappingsImpl fromMappings(Stream<Mapping> mappings) {
return mappings
.reduce(builder(), (builder, mapping) -> builder.add(mapping), (builder1, builder2) -> builder1.addAll(builder2.build()))
.build();
http://git-wip-us.apache.org/repos/asf/james-project/blob/589f347f/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 84525ab..a95de2d 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
@@ -24,6 +24,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.stream.Stream;
import org.apache.james.rrt.api.RecipientRewriteTableException;
import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
@@ -32,8 +33,6 @@ import org.apache.james.rrt.lib.Mappings;
import org.apache.james.rrt.lib.MappingsImpl;
import com.google.common.base.Objects;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimaps;
@@ -42,9 +41,9 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
private static class InMemoryMappingEntry {
private final String user;
private final String domain;
- private final String mapping;
+ private final Mapping mapping;
- public InMemoryMappingEntry(String user, String domain, String mapping) {
+ public InMemoryMappingEntry(String user, String domain, Mapping mapping) {
this.user = user;
this.domain = domain;
this.mapping = mapping;
@@ -58,7 +57,7 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
return domain;
}
- public String getMapping() {
+ public Mapping getMapping() {
return mapping;
}
@@ -92,13 +91,13 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- protected void addMappingInternal(String user, String domain, String mapping) throws RecipientRewriteTableException {
+ protected void addMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
mappingEntries.add(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping));
}
@Override
protected void removeMappingInternal(String user, String domain, Mapping mapping) throws RecipientRewriteTableException {
- mappingEntries.remove(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping.asString()));
+ mappingEntries.remove(new InMemoryMappingEntry(getFixedUser(user), getFixedDomain(domain), mapping));
}
@Override
@@ -125,7 +124,7 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
Map<String, Collection<Mappings>> userMappingsMap = Multimaps.transformEntries(
Multimaps.index(mappingEntries, InMemoryMappingEntry::asKey),
(Maps.EntryTransformer<String, InMemoryMappingEntry, Mappings>)
- (s, mappingEntry) -> MappingsImpl.fromRawString(mappingEntry.getMapping()))
+ (s, mappingEntry) -> MappingsImpl.fromMappings(Stream.of(mappingEntry.getMapping())))
.asMap();
return Maps.transformEntries(userMappingsMap,
(s, mappingsList) -> {
@@ -138,12 +137,10 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
private Optional<Mappings> retrieveMappings(final String user, final String domain) {
- List<String> userEntries = Lists.newArrayList(
- Iterables.transform(
- Iterables.filter(mappingEntries,
- mappingEntry -> user.equals(mappingEntry.getUser()) && domain.equals(mappingEntry.getDomain())),
- InMemoryMappingEntry::getMapping));
- return MappingsImpl.fromCollection(userEntries).toOptional();
+ Stream<Mapping> userEntries = mappingEntries.stream()
+ .filter(mappingEntry -> user.equals(mappingEntry.getUser()) && domain.equals(mappingEntry.getDomain()))
+ .map(InMemoryMappingEntry::getMapping);
+ return MappingsImpl.fromMappings(userEntries).toOptional();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[4/5] james-project git commit: JAMES-2121 Rename test to the same
name of the class it tests
Posted by bt...@apache.org.
JAMES-2121 Rename test to the same name of the class it tests
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e9c1a72b
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e9c1a72b
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e9c1a72b
Branch: refs/heads/master
Commit: e9c1a72b77b70ea094dd941604bf947dfa1509d0
Parents: e30e017
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Thu Aug 31 17:12:59 2017 +0200
Committer: benwa <bt...@linagora.com>
Committed: Fri Sep 1 17:26:22 2017 +0700
----------------------------------------------------------------------
.../InMemoryRecipientRewriteTableTest.java | 75 --------------------
.../memory/MemoryRecipientRewriteTableTest.java | 75 ++++++++++++++++++++
2 files changed, 75 insertions(+), 75 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/e9c1a72b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java
deleted file mode 100644
index de089c2..0000000
--- a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-
-package org.apache.james.rrt.memory;
-
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.james.rrt.api.RecipientRewriteTableException;
-import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
-import org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest;
-
-public class InMemoryRecipientRewriteTableTest extends AbstractRecipientRewriteTableTest {
-
- @Override
- protected AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
- AbstractRecipientRewriteTable rrt = new MemoryRecipientRewriteTable();
- rrt.configure(new DefaultConfigurationBuilder());
- return rrt;
- }
-
- @Override
- protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
- switch (type) {
- case ERROR_TYPE:
- virtualUserTable.addErrorMapping(user, domain, mapping);
- break;
- case REGEX_TYPE:
- virtualUserTable.addRegexMapping(user, domain, mapping);
- break;
- case ADDRESS_TYPE:
- virtualUserTable.addAddressMapping(user, domain, mapping);
- break;
- case ALIASDOMAIN_TYPE:
- virtualUserTable.addAliasDomainMapping(domain, mapping);
- break;
- default:
- throw new RuntimeException("Invalid mapping type: " + type);
- }
- }
-
- @Override
- protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
- switch (type) {
- case ERROR_TYPE:
- virtualUserTable.removeErrorMapping(user, domain, mapping);
- break;
- case REGEX_TYPE:
- virtualUserTable.removeRegexMapping(user, domain, mapping);
- break;
- case ADDRESS_TYPE:
- virtualUserTable.removeAddressMapping(user, domain, mapping);
- break;
- case ALIASDOMAIN_TYPE:
- virtualUserTable.removeAliasDomainMapping(domain, mapping);
- break;
- default:
- throw new RuntimeException("Invalid mapping type: " + type);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/e9c1a72b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java
new file mode 100644
index 0000000..b099737
--- /dev/null
+++ b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java
@@ -0,0 +1,75 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.rrt.memory;
+
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.james.rrt.api.RecipientRewriteTableException;
+import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
+import org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest;
+
+public class MemoryRecipientRewriteTableTest extends AbstractRecipientRewriteTableTest {
+
+ @Override
+ protected AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
+ AbstractRecipientRewriteTable rrt = new MemoryRecipientRewriteTable();
+ rrt.configure(new DefaultConfigurationBuilder());
+ return rrt;
+ }
+
+ @Override
+ protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.addErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.addRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.addAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.addAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
+ }
+ }
+
+ @Override
+ protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.removeErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.removeRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.removeAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.removeAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[5/5] james-project git commit: JAMES-2121 Also improve remove mapping
Posted by bt...@apache.org.
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
[3/5] james-project git commit: JAMES-2121 Rewrite RRT test to not
swallow exceptions in booleans
Posted by bt...@apache.org.
JAMES-2121 Rewrite RRT test to not swallow exceptions in booleans
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e30e0174
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e30e0174
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e30e0174
Branch: refs/heads/master
Commit: e30e0174d6743879711a8ee77021ec8c6e4e37d0
Parents: 589f347
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Thu Aug 31 15:13:56 2017 +0200
Committer: benwa <bt...@linagora.com>
Committed: Fri Sep 1 17:26:22 2017 +0700
----------------------------------------------------------------------
.../CassandraRecipientRewriteTableTest.java | 72 +++++++++----------
.../rrt/file/XMLRecipientRewriteTableTest.java | 17 ++---
.../hbase/HBaseRecipientRewriteTableTest.java | 71 +++++++++---------
.../rrt/jdbc/JDBCRecipientRewriteTableTest.java | 75 +++++++++-----------
.../rrt/jpa/JPARecipientRewriteTableTest.java | 66 +++++++++--------
.../lib/AbstractRecipientRewriteTableTest.java | 66 +++++++++--------
.../InMemoryRecipientRewriteTableTest.java | 73 +++++++++----------
7 files changed, 204 insertions(+), 236 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/e30e0174/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
index 122161c..171dd71 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
@@ -56,50 +56,42 @@ public class CassandraRecipientRewriteTableTest extends AbstractRecipientRewrite
}
@Override
- protected boolean addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
- try {
- switch (type) {
- case ERROR_TYPE:
- virtualUserTable.addErrorMapping(user, domain, mapping);
- return true;
- case REGEX_TYPE:
- virtualUserTable.addRegexMapping(user, domain, mapping);
- return true;
- case ADDRESS_TYPE:
- virtualUserTable.addAddressMapping(user, domain, mapping);
- return true;
- case ALIASDOMAIN_TYPE:
- virtualUserTable.addAliasDomainMapping(domain, mapping);
- return true;
- default:
- return false;
- }
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.addErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.addRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.addAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.addAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
@Override
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
- try {
- switch (type) {
- case ERROR_TYPE:
- virtualUserTable.removeErrorMapping(user, domain, mapping);
- return true;
- case REGEX_TYPE:
- virtualUserTable.removeRegexMapping(user, domain, mapping);
- return true;
- case ADDRESS_TYPE:
- virtualUserTable.removeAddressMapping(user, domain, mapping);
- return true;
- case ALIASDOMAIN_TYPE:
- virtualUserTable.removeAliasDomainMapping(domain, mapping);
- return true;
- default:
- return false;
- }
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.removeErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.removeRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.removeAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.removeAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/e30e0174/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 0a11783..b5a5771 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
@@ -61,7 +61,7 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
}
@Override
- protected boolean addMapping(String user, String domain, String mapping, int type) throws
+ protected void addMapping(String user, String domain, String mapping, int type) throws
RecipientRewriteTableException {
Mappings mappings = virtualUserTable.getUserDomainMappings(user, domain);
@@ -91,21 +91,21 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
try {
virtualUserTable.configure(defaultConfiguration);
} catch (Exception e) {
- return updatedMappings.size() <= 0;
+ if (updatedMappings.size() > 0) {
+ throw new RecipientRewriteTableException("Error update mapping", e);
+ }
}
- return true;
-
}
@Override
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws
+ protected void removeMapping(String user, String domain, String mapping, int type) throws
RecipientRewriteTableException {
Mappings mappings = virtualUserTable.getUserDomainMappings(user, domain);
if (mappings == null) {
- return false;
+ throw new RecipientRewriteTableException("Cannot remove from null mappings");
}
removeMappingsFromConfig(user, domain, mappings);
@@ -127,9 +127,10 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
try {
virtualUserTable.configure(defaultConfiguration);
} catch (Exception e) {
- return mappings.size() <= 0;
+ if (mappings.size() > 0) {
+ throw new RecipientRewriteTableException("Error update mapping", e);
+ }
}
- return true;
}
private void removeMappingsFromConfig(String user, String domain, Mappings mappings) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/e30e0174/server/data/data-hbase/src/test/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/test/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTableTest.java b/server/data/data-hbase/src/test/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTableTest.java
index 04dc114..e8769ca 100644
--- a/server/data/data-hbase/src/test/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTableTest.java
+++ b/server/data/data-hbase/src/test/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTableTest.java
@@ -53,50 +53,43 @@ public class HBaseRecipientRewriteTableTest extends AbstractRecipientRewriteTabl
return rrt;
}
- /**
- */
@Override
- protected boolean addMapping(String user, String domain, String mapping, int type) throws
- RecipientRewriteTableException {
- try {
- if (type == ERROR_TYPE) {
- virtualUserTable.addErrorMapping(user, domain, mapping);
- } else if (type == REGEX_TYPE) {
- virtualUserTable.addRegexMapping(user, domain, mapping);
- } else if (type == ADDRESS_TYPE) {
- virtualUserTable.addAddressMapping(user, domain, mapping);
- } else if (type == ALIASDOMAIN_TYPE) {
- virtualUserTable.addAliasDomainMapping(domain, mapping);
- } else {
- return false;
- }
- return true;
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.addErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.addRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.addAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.addAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
- /**
- * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest#removeMapping(String, String, String, int)
- */
@Override
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws
- RecipientRewriteTableException {
- try {
- if (type == ERROR_TYPE) {
- virtualUserTable.removeErrorMapping(user, domain, mapping);
- } else if (type == REGEX_TYPE) {
- virtualUserTable.removeRegexMapping(user, domain, mapping);
- } else if (type == ADDRESS_TYPE) {
- virtualUserTable.removeAddressMapping(user, domain, mapping);
- } else if (type == ALIASDOMAIN_TYPE) {
- virtualUserTable.removeAliasDomainMapping(domain, mapping);
- } else {
- return false;
- }
- return true;
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.removeErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.removeRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.removeAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.removeAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/e30e0174/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java b/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java
index a2caeed..bd5d614 100644
--- a/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java
+++ b/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java
@@ -57,54 +57,43 @@ public class JDBCRecipientRewriteTableTest extends AbstractRecipientRewriteTable
return ds;
}
- /**
- * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest#addMapping(java.lang.String,
- * java.lang.String, java.lang.String, int)
- */
@Override
- protected boolean addMapping(String user, String domain, String mapping, int type) throws
- RecipientRewriteTableException {
- try {
- if (type == ERROR_TYPE) {
- virtualUserTable.addErrorMapping(user, domain, mapping);
- } else if (type == REGEX_TYPE) {
- virtualUserTable.addRegexMapping(user, domain, mapping);
- } else if (type == ADDRESS_TYPE) {
- virtualUserTable.addAddressMapping(user, domain, mapping);
- } else if (type == ALIASDOMAIN_TYPE) {
- virtualUserTable.addAliasDomainMapping(domain, mapping);
- } else {
- return false;
- }
- } catch (RecipientRewriteTableException ex) {
- return false;
+ protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.addErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.addRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.addAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.addAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
- return true;
}
- /**
- * @see org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest#removeMapping(java.lang.String,
- * java.lang.String, java.lang.String, int)
- */
@Override
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws
- RecipientRewriteTableException {
- try {
-
- if (type == ERROR_TYPE) {
- virtualUserTable.removeErrorMapping(user, domain, mapping);
- } else if (type == REGEX_TYPE) {
- virtualUserTable.removeRegexMapping(user, domain, mapping);
- } else if (type == ADDRESS_TYPE) {
- virtualUserTable.removeAddressMapping(user, domain, mapping);
- } else if (type == ALIASDOMAIN_TYPE) {
- virtualUserTable.removeAliasDomainMapping(domain, mapping);
- } else {
- return false;
- }
- } catch (RecipientRewriteTableException ex) {
- return false;
+ protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.removeErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.removeRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.removeAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.removeAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
- return true;
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/e30e0174/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
index e82f506..5b49a8a 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
@@ -42,44 +42,42 @@ public class JPARecipientRewriteTableTest extends AbstractRecipientRewriteTableT
}
@Override
- protected boolean addMapping(String user, String domain, String mapping, int type) throws
- RecipientRewriteTableException {
- try {
- if (type == ERROR_TYPE) {
- virtualUserTable.addErrorMapping(user, domain, mapping);
- } else if (type == REGEX_TYPE) {
- virtualUserTable.addRegexMapping(user, domain, mapping);
- } else if (type == ADDRESS_TYPE) {
- virtualUserTable.addAddressMapping(user, domain, mapping);
- } else if (type == ALIASDOMAIN_TYPE) {
- virtualUserTable.addAliasDomainMapping(domain, mapping);
- } else {
- return false;
- }
- return true;
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.addErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.addRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.addAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.addAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
@Override
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws
- RecipientRewriteTableException {
- try {
- if (type == ERROR_TYPE) {
- virtualUserTable.removeErrorMapping(user, domain, mapping);
- } else if (type == REGEX_TYPE) {
- virtualUserTable.removeRegexMapping(user, domain, mapping);
- } else if (type == ADDRESS_TYPE) {
- virtualUserTable.removeAddressMapping(user, domain, mapping);
- } else if (type == ALIASDOMAIN_TYPE) {
- virtualUserTable.removeAliasDomainMapping(domain, mapping);
- } else {
- return false;
- }
- return true;
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.removeErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.removeRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.removeAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.removeAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/e30e0174/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
index f481102..67a414d 100644
--- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
@@ -29,7 +29,9 @@ import org.apache.james.rrt.api.RecipientRewriteTable.ErrorMappingException;
import org.apache.james.rrt.api.RecipientRewriteTableException;
import org.junit.After;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
/**
* The abstract test for the virtual user table. Contains tests related to
@@ -38,6 +40,8 @@ import org.junit.Test;
*/
public abstract class AbstractRecipientRewriteTableTest {
+ @Rule public ExpectedException expectedException = ExpectedException.none();
+
protected AbstractRecipientRewriteTable virtualUserTable;
protected final static int REGEX_TYPE = 0;
protected final static int ERROR_TYPE = 1;
@@ -92,11 +96,11 @@ public abstract class AbstractRecipientRewriteTableTest {
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
- assertThat(addMapping(user, domain, regex, REGEX_TYPE)).describedAs("Added virtual mapping").isTrue();
- assertThat(addMapping(user, domain, regex2, REGEX_TYPE)).describedAs("Added virtual mapping").isTrue();
+ addMapping(user, domain, regex, REGEX_TYPE);
+ addMapping(user, domain, regex2, REGEX_TYPE);
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("Two mappings").hasSize(2);
assertThat(virtualUserTable.getAllMappings()).describedAs("One mappingline").hasSize(1);
- assertThat(removeMapping(user, domain, regex, REGEX_TYPE)).describedAs("remove virtual mapping").isTrue();
+ removeMapping(user, domain, regex, REGEX_TYPE);
try {
virtualUserTable.addRegexMapping(user, domain, invalidRegex);
@@ -105,7 +109,7 @@ public abstract class AbstractRecipientRewriteTableTest {
}
assertThat(catched).describedAs("Invalid Mapping throw exception").isTrue();
- assertThat(removeMapping(user, domain, regex2, REGEX_TYPE)).describedAs("remove virtual mapping").isTrue();
+ removeMapping(user, domain, regex2, REGEX_TYPE);
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
@@ -130,13 +134,13 @@ public abstract class AbstractRecipientRewriteTableTest {
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
- assertThat(addMapping(user, domain, address, ADDRESS_TYPE)).describedAs("Added virtual mapping").isTrue();
- assertThat(addMapping(user, domain, address2, ADDRESS_TYPE)).describedAs("Added virtual mapping").isTrue();
+ addMapping(user, domain, address, ADDRESS_TYPE);
+ addMapping(user, domain, address2, ADDRESS_TYPE);
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("Two mappings").hasSize(2);
assertThat(virtualUserTable.getAllMappings()).describedAs("One mappingline").hasSize(1);
- assertThat(removeMapping(user, domain, address, ADDRESS_TYPE)).describedAs("remove virtual mapping").isTrue();
+ removeMapping(user, domain, address, ADDRESS_TYPE);
/*
* TEMPORARILY REMOVE JDBC specific test String invalidAddress=
@@ -149,7 +153,7 @@ public abstract class AbstractRecipientRewriteTableTest {
*/
- assertThat(removeMapping(user, domain, address2, ADDRESS_TYPE)).describedAs("remove virtual mapping").isTrue();
+ removeMapping(user, domain, address2, ADDRESS_TYPE);
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
assertThat(virtualUserTable.getAllMappings()).describedAs("No mapping").isNull();
@@ -171,7 +175,7 @@ public abstract class AbstractRecipientRewriteTableTest {
try {
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
- assertThat(addMapping(user, domain, error, ERROR_TYPE)).describedAs("Added virtual mapping").isTrue();
+ addMapping(user, domain, error, ERROR_TYPE);
assertThat(virtualUserTable.getAllMappings()).describedAs("One mappingline").hasSize(1);
try {
@@ -181,7 +185,7 @@ public abstract class AbstractRecipientRewriteTableTest {
}
assertThat(catched).describedAs("Error Mapping throw exception").isTrue();
- assertThat(removeMapping(user, domain, error, ERROR_TYPE)).describedAs("remove virtual mapping").isTrue();
+ removeMapping(user, domain, error, ERROR_TYPE);
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
assertThat(virtualUserTable.getAllMappings()).describedAs("No mapping").isNull();
@@ -205,14 +209,14 @@ public abstract class AbstractRecipientRewriteTableTest {
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
- assertThat(addMapping(RecipientRewriteTable.WILDCARD, domain, address, ADDRESS_TYPE)).describedAs("Added virtual mapping").isTrue();
- assertThat(addMapping(user, domain, address2, ADDRESS_TYPE)).describedAs("Added virtual mapping").isTrue();
+ addMapping(RecipientRewriteTable.WILDCARD, domain, address, ADDRESS_TYPE);
+ addMapping(user, domain, address2, ADDRESS_TYPE);
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("One mappings").hasSize(1);
assertThat(virtualUserTable.getMappings(user2, domain)).describedAs("One mappings").hasSize(1);
- assertThat(removeMapping(user, domain, address2, ADDRESS_TYPE)).describedAs("remove virtual mapping").isTrue();
- assertThat(removeMapping(RecipientRewriteTable.WILDCARD, domain, address, ADDRESS_TYPE)).describedAs("remove virtual mapping").isTrue();
+ removeMapping(user, domain, address2, ADDRESS_TYPE);
+ removeMapping(RecipientRewriteTable.WILDCARD, domain, address, ADDRESS_TYPE);
assertThat(virtualUserTable.getMappings(user, domain)).describedAs("No mapping").isNull();
assertThat(virtualUserTable.getMappings(user2, domain)).describedAs("No mapping").isNull();
@@ -239,10 +243,10 @@ public abstract class AbstractRecipientRewriteTableTest {
try {
assertThat(virtualUserTable.getAllMappings()).describedAs("No mapping").isNull();
- assertThat(addMapping(user1, domain1, user2 + "@" + domain2, ADDRESS_TYPE)).describedAs("Added mapping").isTrue();
- assertThat(addMapping(user2, domain2, user3 + "@" + domain3, ADDRESS_TYPE)).describedAs("Added mapping").isTrue();
+ addMapping(user1, domain1, user2 + "@" + domain2, ADDRESS_TYPE);
+ addMapping(user2, domain2, user3 + "@" + domain3, ADDRESS_TYPE);
assertThat(virtualUserTable.getMappings(user1, domain1)).containsOnly(MappingImpl.address(user3 + "@" + domain3));
- assertThat(addMapping(user3, domain3, user1 + "@" + domain1, ADDRESS_TYPE)).describedAs("Added mapping").isTrue();
+ addMapping(user3, domain3, user1 + "@" + domain1, ADDRESS_TYPE);
try {
virtualUserTable.getMappings(user1, domain1);
@@ -272,20 +276,16 @@ public abstract class AbstractRecipientRewriteTableTest {
try {
- assertThat(addMapping(RecipientRewriteTable.WILDCARD, aliasDomain, user2 + "@" + domain,
- ADDRESS_TYPE)).describedAs("Add mapping").isTrue();
- assertThat(addMapping(RecipientRewriteTable.WILDCARD, aliasDomain, domain,
- ALIASDOMAIN_TYPE)).describedAs("Add aliasDomain mapping").isTrue();
+ addMapping(RecipientRewriteTable.WILDCARD, aliasDomain, user2 + "@" + domain, ADDRESS_TYPE);
+ addMapping(RecipientRewriteTable.WILDCARD, aliasDomain, domain, ALIASDOMAIN_TYPE);
assertThat(virtualUserTable.getMappings(user, aliasDomain))
.describedAs("Domain mapped as first, Address mapped as second")
.containsExactly(MappingImpl.address(user + "@" + domain), MappingImpl.address(user2 + "@" + domain));
- assertThat(removeMapping(RecipientRewriteTable.WILDCARD, aliasDomain, user2 + "@" + domain,
- ADDRESS_TYPE)).describedAs("Remove mapping").isTrue();
+ removeMapping(RecipientRewriteTable.WILDCARD, aliasDomain, user2 + "@" + domain, ADDRESS_TYPE);
- assertThat(removeMapping(RecipientRewriteTable.WILDCARD, aliasDomain, domain,
- ALIASDOMAIN_TYPE)).describedAs("Remove aliasDomain mapping").isTrue();
+ removeMapping(RecipientRewriteTable.WILDCARD, aliasDomain, domain, ALIASDOMAIN_TYPE);
} catch (IllegalArgumentException e) {
fail("Storing failed");
@@ -334,8 +334,10 @@ public abstract class AbstractRecipientRewriteTableTest {
String domain = "localhost";
String address = "test@localhost2";
- assertThat(addMapping(user, domain, address, ADDRESS_TYPE)).isTrue();
- assertThat(addMapping(user, domain, address, ADDRESS_TYPE)).isFalse();
+ expectedException.expect(RecipientRewriteTableException.class);
+
+ addMapping(user, domain, address, ADDRESS_TYPE);
+ addMapping(user, domain, address, ADDRESS_TYPE);
}
@Test
@@ -344,16 +346,18 @@ public abstract class AbstractRecipientRewriteTableTest {
String domain = "localhost";
String address = "test@localhost2";
- assertThat(addMapping(user, domain, address, ADDRESS_TYPE)).isTrue();
- assertThat(addMapping(user, domain, address, ERROR_TYPE)).isTrue();
+ addMapping(user, domain, address, ADDRESS_TYPE);
+ addMapping(user, domain, address, REGEX_TYPE);
+
+ assertThat(virtualUserTable.getMappings(user, domain)).hasSize(2);
}
protected abstract AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception;
- protected abstract boolean addMapping(String user, String domain, String mapping, int type) throws
+ protected abstract void addMapping(String user, String domain, String mapping, int type) throws
RecipientRewriteTableException;
- protected abstract boolean removeMapping(String user, String domain, String mapping, int type) throws
+ protected abstract void removeMapping(String user, String domain, String mapping, int type) throws
RecipientRewriteTableException;
private void removeMapping(String user, String domain, String rawMapping) throws RecipientRewriteTableException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/e30e0174/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java
index 210e56f..de089c2 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryRecipientRewriteTableTest.java
@@ -34,51 +34,42 @@ public class InMemoryRecipientRewriteTableTest extends AbstractRecipientRewriteT
}
@Override
- protected boolean addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
- try {
- switch (type) {
- case ERROR_TYPE:
- virtualUserTable.addErrorMapping(user, domain, mapping);
- return true;
- case REGEX_TYPE:
- virtualUserTable.addRegexMapping(user, domain, mapping);
- return true;
- case ADDRESS_TYPE:
- virtualUserTable.addAddressMapping(user, domain, mapping);
- return true;
- case ALIASDOMAIN_TYPE:
- virtualUserTable.addAliasDomainMapping(domain, mapping);
- return true;
- default:
- return false;
- }
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void addMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.addErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.addRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.addAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.addAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
@Override
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
- try {
- switch (type) {
- case ERROR_TYPE:
- virtualUserTable.removeErrorMapping(user, domain, mapping);
- return true;
- case REGEX_TYPE:
- virtualUserTable.removeRegexMapping(user, domain, mapping);
- return true;
- case ADDRESS_TYPE:
- virtualUserTable.removeAddressMapping(user, domain, mapping);
- return true;
- case ALIASDOMAIN_TYPE:
- virtualUserTable.removeAliasDomainMapping(domain, mapping);
- return true;
- default:
- return false;
- }
- } catch (RecipientRewriteTableException e) {
- return false;
+ protected void removeMapping(String user, String domain, String mapping, int type) throws RecipientRewriteTableException {
+ switch (type) {
+ case ERROR_TYPE:
+ virtualUserTable.removeErrorMapping(user, domain, mapping);
+ break;
+ case REGEX_TYPE:
+ virtualUserTable.removeRegexMapping(user, domain, mapping);
+ break;
+ case ADDRESS_TYPE:
+ virtualUserTable.removeAddressMapping(user, domain, mapping);
+ break;
+ case ALIASDOMAIN_TYPE:
+ virtualUserTable.removeAliasDomainMapping(domain, mapping);
+ break;
+ default:
+ throw new RuntimeException("Invalid mapping type: " + type);
}
}
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org