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 2019/01/08 08:00:53 UTC
[34/47] james-project git commit: JAMES-2636 Enhence RRT API
getMapping methods
JAMES-2636 Enhence RRT API getMapping methods
The difference between them was subtil (resolved/unresolved) and prooved
to be confusing. Hence I propose a better method naming for solving this
issue.
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4e2bd7fd
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4e2bd7fd
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4e2bd7fd
Branch: refs/heads/master
Commit: 4e2bd7fdaa77e405e55b929b658f8cff139b4098
Parents: 887f3c5
Author: Benoit Tellier <bt...@linagora.com>
Authored: Fri Jan 4 09:51:01 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 8 14:45:33 2019 +0700
----------------------------------------------------------------------
.../james/rrt/api/RecipientRewriteTable.java | 4 +-
.../CassandraRecipientRewriteTable.java | 2 +-
.../rrt/file/XMLRecipientRewriteTable.java | 2 +-
.../rrt/file/XMLRecipientRewriteTableTest.java | 4 +-
.../rrt/jdbc/JDBCRecipientRewriteTable.java | 6 +--
.../james/rrt/jpa/JPARecipientRewriteTable.java | 6 +--
.../rrt/lib/AbstractRecipientRewriteTable.java | 4 +-
.../lib/RecipientRewriteTableManagement.java | 2 +-
.../user/lib/AbstractJamesUsersRepository.java | 6 +--
.../lib/AbstractRecipientRewriteTableTest.java | 48 ++++++++++----------
.../james/rrt/lib/RewriteTablesStepdefs.java | 6 +--
.../rrt/memory/MemoryRecipientRewriteTable.java | 2 +-
.../mailets/RecipientRewriteTableProcessor.java | 2 +-
.../transport/matchers/IsSenderInRRTLoop.java | 2 +-
.../RecipientRewriteTableProcessorTest.java | 10 ++--
.../smtpserver/fastfail/ValidRcptHandler.java | 2 +-
.../webadmin/routes/DomainMappingsRoutes.java | 2 +-
.../james/webadmin/routes/ForwardRoutes.java | 2 +-
.../james/webadmin/routes/GroupsRoutes.java | 2 +-
.../routes/DomainMappingsRoutesTest.java | 8 ++--
.../webadmin/routes/ForwardRoutesTest.java | 4 +-
.../james/webadmin/routes/GroupsRoutesTest.java | 4 +-
22 files changed, 65 insertions(+), 65 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 5c85ed7..bbcece6 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
@@ -88,7 +88,7 @@ public interface RecipientRewriteTable {
* @throws ErrorMappingException
* get thrown if an error mapping was found
*/
- Mappings getMappings(String user, Domain domain) throws ErrorMappingException, RecipientRewriteTableException;
+ Mappings getResolvedMappings(String user, Domain domain) throws ErrorMappingException, RecipientRewriteTableException;
/**
* Return the explicit mapping stored for the given user and domain. Return
@@ -97,7 +97,7 @@ public interface RecipientRewriteTable {
* @return the collection which holds the mappings.
* @throws RecipientRewriteTableException
*/
- Mappings getUserDomainMappings(MappingSource source) throws RecipientRewriteTableException;
+ Mappings getStoredMappings(MappingSource source) 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/4e2bd7fd/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 9df03c8..ffefd98 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
@@ -113,7 +113,7 @@ public class CassandraRecipientRewriteTable extends AbstractRecipientRewriteTabl
}
@Override
- public Mappings getUserDomainMappings(MappingSource source) {
+ public Mappings getStoredMappings(MappingSource source) {
return retrieveMappings(source)
.orElse(null);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 0f754a2..c192dbe 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
@@ -68,7 +68,7 @@ public class XMLRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- public Mappings getUserDomainMappings(MappingSource source) {
+ public Mappings getStoredMappings(MappingSource source) {
if (mappings == null) {
return null;
} else {
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 3528b49..aaa0820 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
@@ -80,7 +80,7 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
}
protected void addMappingToConfiguration(MappingSource source, String mapping, Type type) throws RecipientRewriteTableException {
- Mappings mappings = Optional.ofNullable(virtualUserTable.getUserDomainMappings(source))
+ Mappings mappings = Optional.ofNullable(virtualUserTable.getStoredMappings(source))
.orElse(MappingsImpl.empty());
Mappings updatedMappings = MappingsImpl.from(mappings)
@@ -91,7 +91,7 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
}
protected void removeMappingFromConfiguration(MappingSource source, String mapping, Type type) throws RecipientRewriteTableException {
- Mappings oldMappings = Optional.ofNullable(virtualUserTable.getUserDomainMappings(source))
+ Mappings oldMappings = Optional.ofNullable(virtualUserTable.getStoredMappings(source))
.orElseThrow(() -> new RecipientRewriteTableException("Cannot remove from null mappings"));
Mappings updatedMappings = oldMappings.remove(Mapping.of(type, mapping));
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 defea48..d6d5920 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
@@ -189,7 +189,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
@Override
public void addMapping(MappingSource source, Mapping mapping) throws RecipientRewriteTableException {
- Mappings map = getUserDomainMappings(source);
+ Mappings map = getStoredMappings(source);
if (map != null && map.size() != 0) {
Mappings updatedMappings = MappingsImpl.from(map).add(mapping).build();
doUpdateMapping(source, updatedMappings.serialize());
@@ -228,7 +228,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- public Mappings getUserDomainMappings(MappingSource source) throws RecipientRewriteTableException {
+ public Mappings getStoredMappings(MappingSource source) throws RecipientRewriteTableException {
Connection conn = null;
PreparedStatement mappingStmt = null;
try {
@@ -291,7 +291,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
@Override
public void removeMapping(MappingSource source, Mapping mapping) throws RecipientRewriteTableException {
- Mappings map = getUserDomainMappings(source);
+ Mappings map = getStoredMappings(source);
if (map != null && map.size() > 1) {
Mappings updatedMappings = map.remove(mapping);
doUpdateMapping(source, updatedMappings.serialize());
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 cf09987..d653d3d 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
public void addMapping(MappingSource source, Mapping mapping) throws RecipientRewriteTableException {
- Mappings map = getUserDomainMappings(source);
+ Mappings map = getStoredMappings(source);
if (!map.isEmpty()) {
Mappings updatedMappings = MappingsImpl.from(map).add(mapping).build();
doUpdateMapping(source, updatedMappings.serialize());
@@ -111,7 +111,7 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- public Mappings getUserDomainMappings(MappingSource source) throws RecipientRewriteTableException {
+ public Mappings getStoredMappings(MappingSource source) throws RecipientRewriteTableException {
EntityManager entityManager = entityManagerFactory.createEntityManager();
final EntityTransaction transaction = entityManager.getTransaction();
try {
@@ -164,7 +164,7 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
@Override
public void removeMapping(MappingSource source, Mapping mapping) throws RecipientRewriteTableException {
- Mappings map = getUserDomainMappings(source);
+ Mappings map = getStoredMappings(source);
if (map.size() > 1) {
Mappings updatedMappings = map.remove(mapping);
doUpdateMapping(source, updatedMappings.serialize());
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 7eefdcc..69e24f5 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
@@ -95,7 +95,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
}
@Override
- public Mappings getMappings(String user, Domain domain) throws ErrorMappingException, RecipientRewriteTableException {
+ public Mappings getResolvedMappings(String user, Domain domain) throws ErrorMappingException, RecipientRewriteTableException {
return getMappings(User.fromLocalPartWithDomain(user, domain), mappingLimit);
}
@@ -312,7 +312,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
protected abstract Mappings mapAddress(String user, Domain domain) throws RecipientRewriteTableException;
private void checkDuplicateMapping(MappingSource source, Mapping mapping) throws RecipientRewriteTableException {
- Mappings mappings = getUserDomainMappings(source);
+ Mappings mappings = getStoredMappings(source);
if (mappings != null && mappings.contains(mapping)) {
throw new MappingAlreadyExistsException("Mapping " + mapping + " for " + source.asString() + " already exist!");
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 ecc7b17..92cf309 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
@@ -95,7 +95,7 @@ public class RecipientRewriteTableManagement extends StandardMBean implements Re
@Override
public Mappings getUserDomainMappings(String user, String domain) throws RecipientRewriteTableException {
MappingSource source = MappingSource.fromUser(user, domain);
- return rrt.getUserDomainMappings(source);
+ return rrt.getStoredMappings(source);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 491accb..3913533 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
@@ -121,7 +121,7 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito
}
@Override
- public Mappings getMappings(String username, Domain domain) throws ErrorMappingException, RecipientRewriteTableException {
+ public Mappings getResolvedMappings(String username, Domain domain) throws ErrorMappingException, RecipientRewriteTableException {
Builder mappingsBuilder = MappingsImpl.builder();
try {
User user = getUserByName(username);
@@ -192,7 +192,7 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito
}
try {
MappingSource source = MappingSource.fromUser(org.apache.james.core.User.fromUsername(user));
- mappings.put(source, getMappings(username, domain));
+ mappings.put(source, getResolvedMappings(username, domain));
} catch (ErrorMappingException e) {
// shold never happen here
}
@@ -206,7 +206,7 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito
}
@Override
- public Mappings getUserDomainMappings(MappingSource source) throws RecipientRewriteTableException {
+ public Mappings getStoredMappings(MappingSource source) throws RecipientRewriteTableException {
return MappingsImpl.empty();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 671b1c8..9958804 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
@@ -74,7 +74,7 @@ public abstract class AbstractRecipientRewriteTableTest {
public void testStoreAndGetMappings() throws Exception {
Domain domain = Domain.of("test");
virtualUserTable.addMapping(MappingSource.fromDomain(domain), Mapping.regex("prefix_.*:admin@test"));
- assertThat(virtualUserTable.getMappings("prefix_abc", domain)).isNotEmpty();
+ assertThat(virtualUserTable.getResolvedMappings("prefix_abc", domain)).isNotEmpty();
}
@Test
@@ -87,12 +87,12 @@ public abstract class AbstractRecipientRewriteTableTest {
String regex2 = "(.+)@test";
String invalidRegex = ".*):";
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
virtualUserTable.addMapping(source, Mapping.regex(regex));
virtualUserTable.addMapping(source, Mapping.regex(regex2));
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("Two mappings").hasSize(2);
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("Two mappings").hasSize(2);
assertThat(virtualUserTable.getAllMappings()).describedAs("One mappingline").hasSize(1);
virtualUserTable.removeMapping(source, Mapping.regex(regex));
@@ -104,7 +104,7 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.removeMapping(source, Mapping.regex(regex2));
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
assertThat(virtualUserTable.getAllMappings()).describedAs("No mapping").isEmpty();
}
@@ -140,19 +140,19 @@ public abstract class AbstractRecipientRewriteTableTest {
MappingSource source = MappingSource.fromUser(USER, domain);
String address2 = "test@james";
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
virtualUserTable.addMapping(source, Mapping.address(ADDRESS));
virtualUserTable.addMapping(source, Mapping.address(address2));
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("Two mappings").hasSize(2);
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("Two mappings").hasSize(2);
assertThat(virtualUserTable.getAllMappings()).describedAs("One mappingline").hasSize(1);
virtualUserTable.removeMapping(source, Mapping.address(ADDRESS));
virtualUserTable.removeMapping(source, Mapping.address(address2));
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
assertThat(virtualUserTable.getAllMappings()).describedAs("No mapping").isEmpty();
}
@@ -163,20 +163,20 @@ public abstract class AbstractRecipientRewriteTableTest {
MappingSource source = MappingSource.fromUser(USER, domain);
String error = "bounce!";
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
virtualUserTable.addMapping(source, Mapping.error(error));
assertThat(virtualUserTable.getAllMappings()).describedAs("One mappingline").hasSize(1);
assertThatThrownBy(() ->
- virtualUserTable.getMappings(USER, domain))
+ virtualUserTable.getResolvedMappings(USER, domain))
.describedAs("Exception thrown on to many mappings")
.isInstanceOf(ErrorMappingException.class);
virtualUserTable.removeMapping(source, Mapping.error(error));
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
assertThat(virtualUserTable.getAllMappings()).describedAs("No mapping").isEmpty();
}
@@ -188,21 +188,21 @@ public abstract class AbstractRecipientRewriteTableTest {
String address2 = "test@james";
MappingSource source = MappingSource.fromUser(USER, domain);
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
virtualUserTable.addMapping(MappingSource.fromDomain(domain), Mapping.address(ADDRESS));
virtualUserTable.addMapping(source, Mapping.address(address2));
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("One mappings").hasSize(1);
- assertThat(virtualUserTable.getMappings(user2, domain)).describedAs("One mappings").hasSize(1);
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("One mappings").hasSize(1);
+ assertThat(virtualUserTable.getResolvedMappings(user2, domain)).describedAs("One mappings").hasSize(1);
virtualUserTable.removeMapping(source, Mapping.address(address2));
virtualUserTable.removeMapping(MappingSource.fromDomain(domain), Mapping.address(ADDRESS));
- assertThat(virtualUserTable.getMappings(USER, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
- assertThat(virtualUserTable.getMappings(user2, domain)).describedAs("No mapping")
+ assertThat(virtualUserTable.getResolvedMappings(user2, domain)).describedAs("No mapping")
.isEqualTo(MappingsImpl.empty());
}
@@ -224,17 +224,17 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.addMapping(source1, Mapping.address(user2 + "@" + domain2.asString()));
virtualUserTable.addMapping(source2, Mapping.address(user3 + "@" + domain3.asString()));
- assertThat(virtualUserTable.getMappings(user1, domain1)).containsOnly(Mapping.address(user3 + "@" + domain3.asString()));
+ assertThat(virtualUserTable.getResolvedMappings(user1, domain1)).containsOnly(Mapping.address(user3 + "@" + domain3.asString()));
virtualUserTable.addMapping(source3, Mapping.address(user1 + "@" + domain1.asString()));
assertThatThrownBy(() ->
- virtualUserTable.getMappings(user1, domain1))
+ virtualUserTable.getResolvedMappings(user1, domain1))
.describedAs("Exception thrown on to many mappings")
.isInstanceOf(ErrorMappingException.class);
// disable recursive mapping
virtualUserTable.setRecursiveMapping(false);
- assertThat(virtualUserTable.getMappings(user1, domain1)).describedAs("Not recursive mapped").containsExactly(Mapping.address(user2 + "@" + domain2.asString()));
+ assertThat(virtualUserTable.getResolvedMappings(user1, domain1)).describedAs("Not recursive mapped").containsExactly(Mapping.address(user2 + "@" + domain2.asString()));
}
@Test
@@ -249,7 +249,7 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.addMapping(MappingSource.fromDomain(aliasDomain), Mapping.address(user2 + "@" + domain));
virtualUserTable.addMapping(MappingSource.fromDomain(aliasDomain), Mapping.domain(Domain.of(domain)));
- assertThat(virtualUserTable.getMappings(user, aliasDomain))
+ assertThat(virtualUserTable.getResolvedMappings(user, aliasDomain))
.describedAs("Domain mapped as first, Address mapped as second")
.isEqualTo(MappingsImpl.builder()
.add(Mapping.address(user + "@" + domain))
@@ -279,7 +279,7 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.addMapping(source, Mapping.address(ADDRESS));
virtualUserTable.addMapping(source, Mapping.regex(ADDRESS));
- assertThat(virtualUserTable.getMappings(USER, domain)).hasSize(2);
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).hasSize(2);
}
@Test
@@ -291,7 +291,7 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.addMapping(source, Mapping.forward(ADDRESS));
virtualUserTable.addMapping(source, Mapping.forward(address2));
- assertThat(virtualUserTable.getMappings(USER, domain)).hasSize(2);
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).hasSize(2);
}
@Test
@@ -306,7 +306,7 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.removeMapping(source, Mapping.forward(ADDRESS));
virtualUserTable.removeMapping(source, Mapping.forward(address2));
- assertThat(virtualUserTable.getMappings(USER, domain))
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain))
.isEqualTo(MappingsImpl.empty());
}
@@ -319,7 +319,7 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.addMapping(source, Mapping.group(ADDRESS));
virtualUserTable.addMapping(source, Mapping.group(address2));
- assertThat(virtualUserTable.getMappings(USER, domain)).hasSize(2);
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain)).hasSize(2);
}
@Test
@@ -334,7 +334,7 @@ public abstract class AbstractRecipientRewriteTableTest {
virtualUserTable.removeMapping(source, Mapping.group(ADDRESS));
virtualUserTable.removeMapping(source, Mapping.group(address2));
- assertThat(virtualUserTable.getMappings(USER, domain))
+ assertThat(virtualUserTable.getResolvedMappings(USER, domain))
.isEqualTo(MappingsImpl.empty());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java
index 6c59812..17320a3 100644
--- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java
+++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java
@@ -151,12 +151,12 @@ public class RewriteTablesStepdefs {
@Then("mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should be empty")
public void assertMappingsIsEmpty(String user, String domain) throws Throwable {
- assertThat(rewriteTable.getMappings(user, Domain.of(domain))).isNullOrEmpty();
+ assertThat(rewriteTable.getResolvedMappings(user, Domain.of(domain))).isNullOrEmpty();
}
@Then("mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should contain only \"([^\"]*)\"")
public void assertMappingsForUser(String user, String domain, List<String> mappings) throws Throwable {
- assertThat(rewriteTable.getMappings(user, Domain.of(domain)).asStrings()).containsOnlyElementsOf(mappings);
+ assertThat(rewriteTable.getResolvedMappings(user, Domain.of(domain)).asStrings()).containsOnlyElementsOf(mappings);
}
@Then("a \"([^\"]*)\" exception should have been thrown")
@@ -166,7 +166,7 @@ public class RewriteTablesStepdefs {
@Then("retrieving mappings for user \"([^\"]*)\" at domain \"([^\"]*)\" should raise an ErrorMappingException with message \"([^\"]*)\"")
public void retrievingMappingsForUserAtDomainShouldRaiseAnException(String user, String domain, String message) throws Exception {
- assertThatThrownBy(() -> rewriteTable.getMappings(user, Domain.of(domain)))
+ assertThatThrownBy(() -> rewriteTable.getResolvedMappings(user, Domain.of(domain)))
.isInstanceOf(ErrorMappingException.class)
.hasMessage(message);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/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 fca798c..8fc2e11 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
@@ -94,7 +94,7 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
}
@Override
- public Mappings getUserDomainMappings(MappingSource mappingSource) {
+ public Mappings getStoredMappings(MappingSource mappingSource) {
return retrieveMappings(mappingSource)
.orElse(null);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
index 0cb116d..6b31d7a 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
@@ -161,7 +161,7 @@ public class RecipientRewriteTableProcessor {
private RrtExecutionResult executeRrtForRecipient(Mail mail, MailAddress recipient) {
try {
- Mappings mappings = virtualTableStore.getMappings(recipient.getLocalPart(), recipient.getDomain());
+ Mappings mappings = virtualTableStore.getResolvedMappings(recipient.getLocalPart(), recipient.getDomain());
if (mappings != null && !mappings.isEmpty()) {
List<MailAddress> newMailAddresses = handleMappings(mappings, mail, recipient);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsSenderInRRTLoop.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsSenderInRRTLoop.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsSenderInRRTLoop.java
index e368104..31cb937 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsSenderInRRTLoop.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsSenderInRRTLoop.java
@@ -57,7 +57,7 @@ public class IsSenderInRRTLoop extends GenericMatcher {
public Collection<MailAddress> match(Mail mail) {
try {
if (mail.hasSender()) {
- recipientRewriteTable.getMappings(mail.getMaybeSender().get().getLocalPart(), mail.getMaybeSender().get().getDomain());
+ recipientRewriteTable.getResolvedMappings(mail.getMaybeSender().get().getLocalPart(), mail.getMaybeSender().get().getDomain());
}
} catch (RecipientRewriteTable.TooManyMappingException e) {
return mail.getRecipients();
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java
index 789cee9..93ab2bc 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessorTest.java
@@ -221,7 +221,7 @@ public class RecipientRewriteTableProcessorTest {
@Test
public void processShouldNotRewriteRecipientWhenVirtualTableStoreReturnNullMappings() throws Exception {
- when(virtualTableStore.getMappings(any(String.class), any(Domain.class))).thenReturn(null);
+ when(virtualTableStore.getResolvedMappings(any(String.class), any(Domain.class))).thenReturn(null);
mail = FakeMail.builder()
.mimeMessage(message)
@@ -235,7 +235,7 @@ public class RecipientRewriteTableProcessorTest {
@Test
public void processShouldSendMailToAllErrorRecipientsWhenErrorMappingException() throws Exception {
- when(virtualTableStore.getMappings(eq("other"), eq(Domain.of(MailAddressFixture.JAMES_LOCAL)))).thenThrow(ErrorMappingException.class);
+ when(virtualTableStore.getResolvedMappings(eq("other"), eq(Domain.of(MailAddressFixture.JAMES_LOCAL)))).thenThrow(ErrorMappingException.class);
mail = FakeMail.builder()
.sender(MailAddressFixture.ANY_AT_JAMES)
@@ -259,7 +259,7 @@ public class RecipientRewriteTableProcessorTest {
@Test
public void processShouldSendMailToAllErrorRecipientsWhenRecipientRewriteTableException() throws Exception {
- when(virtualTableStore.getMappings(eq("other"), eq(Domain.of(MailAddressFixture.JAMES_LOCAL)))).thenThrow(RecipientRewriteTableException.class);
+ when(virtualTableStore.getResolvedMappings(eq("other"), eq(Domain.of(MailAddressFixture.JAMES_LOCAL)))).thenThrow(RecipientRewriteTableException.class);
mail = FakeMail.builder()
.sender(MailAddressFixture.ANY_AT_JAMES)
@@ -283,7 +283,7 @@ public class RecipientRewriteTableProcessorTest {
@Test
public void processShouldNotSendMailWhenNoErrorRecipients() throws Exception {
- when(virtualTableStore.getMappings(any(String.class), any(Domain.class))).thenReturn(null);
+ when(virtualTableStore.getResolvedMappings(any(String.class), any(Domain.class))).thenReturn(null);
mail = FakeMail.builder()
.mimeMessage(message)
@@ -297,7 +297,7 @@ public class RecipientRewriteTableProcessorTest {
@Test
public void processShouldResetMailStateToGhostWhenCanNotBuildNewRecipient() throws Exception {
- when(virtualTableStore.getMappings(any(String.class), any(Domain.class))).thenReturn(mappings);
+ when(virtualTableStore.getResolvedMappings(any(String.class), any(Domain.class))).thenReturn(mappings);
when(domainList.getDefaultDomain()).thenReturn(Domain.of(MailAddressFixture.JAMES_LOCAL));
mail = FakeMail.builder()
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
index 8478118..0a5bdfc 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
@@ -81,7 +81,7 @@ public class ValidRcptHandler extends AbstractValidRcptHandler implements Protoc
LOGGER.debug("Unknown user {} check if it's an alias", username);
try {
- Mappings targetString = recipientRewriteTable.getMappings(recipient.getLocalPart(), recipient.getDomain());
+ Mappings targetString = recipientRewriteTable.getResolvedMappings(recipient.getLocalPart(), recipient.getDomain());
if (!targetString.isEmpty()) {
return true;
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DomainMappingsRoutes.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DomainMappingsRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DomainMappingsRoutes.java
index e74484c..cfd3ac8 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DomainMappingsRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DomainMappingsRoutes.java
@@ -160,7 +160,7 @@ public class DomainMappingsRoutes implements Routes {
public List<String> getMapping(Request request, Response response) throws RecipientRewriteTableException {
MappingSource mappingSource = mappingSourceFrom(request);
- return Optional.ofNullable(recipientRewriteTable.getUserDomainMappings(mappingSource).select(Mapping.Type.Domain))
+ return Optional.ofNullable(recipientRewriteTable.getStoredMappings(mappingSource).select(Mapping.Type.Domain))
.filter(mappings -> !mappings.isEmpty())
.filter(mappings -> mappings.contains(Mapping.Type.Domain))
.map(this::toDomainList)
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/ForwardRoutes.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/ForwardRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/ForwardRoutes.java
index cbc0749..3be3c42 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/ForwardRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/ForwardRoutes.java
@@ -234,7 +234,7 @@ public class ForwardRoutes implements Routes {
})
public ImmutableSet<ForwardDestinationResponse> listForwardDestinations(Request request, Response response) throws RecipientRewriteTableException {
MailAddress baseAddress = parseMailAddress(request.params(FORWARD_BASE_ADDRESS));
- Mappings mappings = Optional.ofNullable(recipientRewriteTable.getUserDomainMappings(MappingSource.fromMailAddress(baseAddress)))
+ Mappings mappings = Optional.ofNullable(recipientRewriteTable.getStoredMappings(MappingSource.fromMailAddress(baseAddress)))
.orElse(MappingsImpl.empty())
.select(Mapping.Type.Forward);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
index 06723eb..110256b 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/GroupsRoutes.java
@@ -242,7 +242,7 @@ public class GroupsRoutes implements Routes {
})
public ImmutableSortedSet<String> listGroupMembers(Request request, Response response) throws RecipientRewriteTableException {
MailAddress groupAddress = parseMailAddress(request.params(GROUP_ADDRESS));
- Mappings mappings = Optional.ofNullable(recipientRewriteTable.getUserDomainMappings(MappingSource.fromMailAddress(groupAddress)))
+ Mappings mappings = Optional.ofNullable(recipientRewriteTable.getStoredMappings(MappingSource.fromMailAddress(groupAddress)))
.orElse(MappingsImpl.empty())
.select(Mapping.Type.Group);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java
index 300d884..833efa8 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java
@@ -231,7 +231,7 @@ class DomainMappingsRoutesTest {
recipientRewriteTable.addAliasDomainMapping(mappingSource, Domain.of(alias));
- Assumptions.assumeTrue(recipientRewriteTable.getUserDomainMappings(mappingSource) != null);
+ Assumptions.assumeTrue(recipientRewriteTable.getStoredMappings(mappingSource) != null);
given()
.body("to.com")
@@ -247,7 +247,7 @@ class DomainMappingsRoutesTest {
void getSpecificDomainMappingShouldRespondWithNotFoundWhenHasNoAliases() throws RecipientRewriteTableException {
String domain = "from.com";
- when(recipientRewriteTable.getUserDomainMappings(any())).thenReturn(MappingsImpl.empty());
+ when(recipientRewriteTable.getStoredMappings(any())).thenReturn(MappingsImpl.empty());
when()
.get(domain)
@@ -263,7 +263,7 @@ class DomainMappingsRoutesTest {
void getSpecificDomainMappingShouldRespondWithNotFoundWhenHasEmptyAliases() throws RecipientRewriteTableException {
String domain = "from.com";
- when(recipientRewriteTable.getUserDomainMappings(any())).thenReturn(MappingsImpl.empty());
+ when(recipientRewriteTable.getStoredMappings(any())).thenReturn(MappingsImpl.empty());
when()
.get(domain)
@@ -306,7 +306,7 @@ class DomainMappingsRoutesTest {
String aliasDomain = "a.com";
Mappings mappings = MappingsImpl.fromMappings(Mapping.domain(Domain.of(aliasDomain)));
- when(recipientRewriteTable.getUserDomainMappings(any())).thenReturn(mappings);
+ when(recipientRewriteTable.getStoredMappings(any())).thenReturn(mappings);
List<String> body =
when()
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
index 80e4e45..288b050 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
@@ -665,7 +665,7 @@ class ForwardRoutesTest {
void getShouldReturnErrorWhenRecipientRewriteTableExceptionIsThrown() throws Exception {
doThrow(RecipientRewriteTableException.class)
.when(memoryRecipientRewriteTable)
- .getUserDomainMappings(any());
+ .getStoredMappings(any());
when()
.get(ALICE)
@@ -677,7 +677,7 @@ class ForwardRoutesTest {
void getShouldReturnErrorWhenRuntimeExceptionIsThrown() throws Exception {
doThrow(RuntimeException.class)
.when(memoryRecipientRewriteTable)
- .getUserDomainMappings(any());
+ .getStoredMappings(any());
when()
.get(ALICE)
http://git-wip-us.apache.org/repos/asf/james-project/blob/4e2bd7fd/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
index 991b678..1edf80d 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
@@ -670,7 +670,7 @@ class GroupsRoutesTest {
void getShouldReturnErrorWhenRecipientRewriteTableExceptionIsThrown() throws Exception {
doThrow(RecipientRewriteTableException.class)
.when(memoryRecipientRewriteTable)
- .getUserDomainMappings(any());
+ .getStoredMappings(any());
when()
.get(GROUP1)
@@ -682,7 +682,7 @@ class GroupsRoutesTest {
void getShouldReturnErrorWhenRuntimeExceptionIsThrown() throws Exception {
doThrow(RuntimeException.class)
.when(memoryRecipientRewriteTable)
- .getUserDomainMappings(any());
+ .getStoredMappings(any());
when()
.get(GROUP1)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org