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/08/08 10:46:38 UTC
[03/10] james-project git commit: JAMES-1709 Allow to add domain from
an ENV variable
JAMES-1709 Allow to add domain from an ENV variable
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/6e36b22f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/6e36b22f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/6e36b22f
Branch: refs/heads/master
Commit: 6e36b22fa812c3af7ac01c3ecd8b73a337a9941e
Parents: ff51cee
Author: benwa <bt...@linagora.com>
Authored: Fri Jul 28 17:36:57 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Aug 8 17:08:50 2017 +0700
----------------------------------------------------------------------
.../META-INF/org/apache/james/spring-server.xml | 2 ++
.../cassandra/CassandraDomainList.java | 9 ++++---
.../cassandra/CassandraDomainListTest.java | 3 +--
.../james/domainlist/xml/XMLDomainList.java | 8 ++++++
.../james/domainlist/hbase/HBaseDomainList.java | 9 +++++++
.../domainlist/hbase/HBaseDomainListTest.java | 4 +--
.../james/domainlist/jpa/JPADomainList.java | 8 ++++++
.../james/domainlist/jpa/JPADomainListTest.java | 7 +++---
.../domainlist/lib/AbstractDomainList.java | 26 +++++++++++++++++---
.../james/domainlist/lib/EnvDetector.java | 26 ++++++++++++++++++++
.../AbstractDomainListPrivateMethodsTest.java | 24 ++++++++++++++----
.../domainlist/memory/MemoryDomainList.java | 8 +++++-
.../domainlist/memory/MemoryDomainListTest.java | 4 +--
.../impl/JamesMailetContextTest.java | 5 +++-
.../james/webadmin/routes/DomainRoutesTest.java | 4 +--
15 files changed, 122 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
index 322c4c6..cf5b986 100644
--- a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
+++ b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
@@ -316,4 +316,6 @@
<bean id="jspfLogger" class="org.apache.james.smtpserver.fastfail.SPFHandler.SPFLogger"/>
+ <bean id="envDetector" class="org.apache.james.domainlist.lib.EnvDetector"/>
+
</beans>
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java
index ae889aa..1619f9e 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java
@@ -35,8 +35,10 @@ import javax.inject.Inject;
import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
import org.apache.james.backends.cassandra.utils.CassandraUtils;
+import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.domainlist.lib.AbstractDomainList;
+import org.apache.james.domainlist.lib.EnvDetector;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.Session;
@@ -52,7 +54,8 @@ public class CassandraDomainList extends AbstractDomainList {
private final PreparedStatement removeStatement;
@Inject
- public CassandraDomainList(Session session, CassandraUtils cassandraUtils) {
+ public CassandraDomainList(DNSService dnsService, EnvDetector envDetector, Session session, CassandraUtils cassandraUtils) {
+ super(dnsService, envDetector);
this.executor = new CassandraAsyncExecutor(session);
this.cassandraUtils = cassandraUtils;
this.readAllStatement = prepareReadAllStatement(session);
@@ -86,8 +89,8 @@ public class CassandraDomainList extends AbstractDomainList {
}
@VisibleForTesting
- CassandraDomainList(Session session) {
- this(session, CassandraUtils.WITH_DEFAULT_CONFIGURATION);
+ CassandraDomainList(DNSService dnsService, Session session) {
+ this(dnsService, new EnvDetector(), session, CassandraUtils.WITH_DEFAULT_CONFIGURATION);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
index 411aa1b..89c0438 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java
@@ -31,9 +31,8 @@ public class CassandraDomainListTest extends AbstractDomainListTest {
@Override
protected DomainList createDomainList() {
cassandra = CassandraCluster.create(new CassandraDomainListModule());
- CassandraDomainList testee = new CassandraDomainList(cassandra.getConf());
+ CassandraDomainList testee = new CassandraDomainList(getDNSServer("localhost"), cassandra.getConf());
testee.setLog(LoggerFactory.getLogger(getClass()));
- testee.setDNSService(getDNSServer("localhost"));
testee.setAutoDetect(false);
testee.setAutoDetectIP(false);
return testee;
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
index 6848ab5..813f521 100644
--- a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
+++ b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
@@ -23,12 +23,15 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
+import javax.inject.Inject;
import javax.inject.Singleton;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.domainlist.lib.AbstractDomainList;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.apache.james.lifecycle.api.Configurable;
/**
@@ -40,6 +43,11 @@ public class XMLDomainList extends AbstractDomainList implements Configurable {
private final List<String> domainNames = new ArrayList<String>();
private boolean isConfigured = false;
+ @Inject
+ public XMLDomainList(DNSService dns, EnvDetector envDetector) {
+ super(dns, envDetector);
+ }
+
@Override
public void configure(HierarchicalConfiguration config) throws ConfigurationException {
super.configure(config);
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
index dbeb21b..6e24ced 100644
--- a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
+++ b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
@@ -23,6 +23,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
+import javax.inject.Inject;
+
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTableInterface;
@@ -31,9 +33,11 @@ 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.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.domainlist.hbase.def.HDomainList;
import org.apache.james.domainlist.lib.AbstractDomainList;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.apache.james.system.hbase.TablePool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,6 +52,11 @@ public class HBaseDomainList extends AbstractDomainList {
*/
private static final Logger log = LoggerFactory.getLogger(HBaseDomainList.class.getName());
+ @Inject
+ public HBaseDomainList(DNSService dns, EnvDetector envDetector) {
+ super(dns, envDetector);
+ }
+
/**
* @see org.apache.james.domainlist.api.DomainList#containsDomain(String)
*/
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java b/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java
index 97e71d6..bcb38c5 100644
--- a/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java
+++ b/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.domainlist.lib.AbstractDomainListTest;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.apache.james.mailbox.hbase.HBaseClusterSingleton;
import org.apache.james.system.hbase.TablePool;
import org.junit.BeforeClass;
@@ -49,9 +50,8 @@ public class HBaseDomainListTest extends AbstractDomainListTest {
*/
@Override
protected DomainList createDomainList() {
- HBaseDomainList domainList = new HBaseDomainList();
+ HBaseDomainList domainList = new HBaseDomainList(getDNSServer("localhost"), new EnvDetector());
domainList.setLog(LoggerFactory.getLogger("MockLog"));
- domainList.setDNSService(getDNSServer("localhost"));
domainList.setAutoDetect(false);
domainList.setAutoDetectIP(false);
return domainList;
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
index af9ea44..03fdfdd 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
@@ -31,9 +31,11 @@ import javax.persistence.NoResultException;
import javax.persistence.PersistenceException;
import javax.persistence.PersistenceUnit;
+import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.domainlist.jpa.model.JPADomain;
import org.apache.james.domainlist.lib.AbstractDomainList;
+import org.apache.james.domainlist.lib.EnvDetector;
import com.google.common.collect.ImmutableList;
@@ -49,6 +51,12 @@ public class JPADomainList extends AbstractDomainList {
*/
private EntityManagerFactory entityManagerFactory;
+ @Inject
+ public JPADomainList(DNSService dns, EnvDetector envDetector, EntityManagerFactory entityManagerFactory) {
+ super(dns, envDetector);
+ this.entityManagerFactory = entityManagerFactory;
+ }
+
/**
* Set the entity manager to use.
*
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java b/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
index 6e5d9a0..8c225f5 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
@@ -22,6 +22,7 @@ import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.domainlist.jpa.model.JPADomain;
import org.apache.james.domainlist.lib.AbstractDomainListTest;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.slf4j.LoggerFactory;
/**
@@ -33,12 +34,12 @@ public class JPADomainListTest extends AbstractDomainListTest {
@Override
protected DomainList createDomainList() {
- JPADomainList jpaDomainList = new JPADomainList();
+ JPADomainList jpaDomainList = new JPADomainList(getDNSServer("localhost"),
+ new EnvDetector(),
+ JPA_TEST_CLUSTER.getEntityManagerFactory());
jpaDomainList.setLog(LoggerFactory.getLogger("JPADomainListMockLog"));
- jpaDomainList.setDNSService(getDNSServer("localhost"));
jpaDomainList.setAutoDetect(false);
jpaDomainList.setAutoDetectIP(false);
- jpaDomainList.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
return jpaDomainList;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
index d2b564c..c08abbe 100644
--- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
+++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
@@ -39,6 +39,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Strings;
+import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableList;
/**
@@ -53,16 +55,19 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf
public static final String CONFIGURE_AUTODETECT = "autodetect";
public static final String CONFIGURE_AUTODETECT_IP = "autodetectIP";
public static final String CONFIGURE_DEFAULT_DOMAIN = "defaultDomain";
+ public static final String ENV_DOMAIN = "DOMAIN";
- private DNSService dns;
+ private final DNSService dns;
+ private final EnvDetector envDetector;
private boolean autoDetect = true;
private boolean autoDetectIP = true;
private Logger logger;
private String defaultDomain;
@Inject
- public void setDNSService(DNSService dns) {
+ public AbstractDomainList(DNSService dns, EnvDetector envDetector) {
this.dns = dns;
+ this.envDetector = envDetector;
}
public void setLog(Logger logger) {
@@ -77,12 +82,25 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf
public void configure(HierarchicalConfiguration config) throws ConfigurationException {
configureDefaultDomain(config);
+ addEnvDomain();
+
setAutoDetect(config.getBoolean(CONFIGURE_AUTODETECT, true));
setAutoDetectIP(config.getBoolean(CONFIGURE_AUTODETECT_IP, true));
}
+ private void addEnvDomain() {
+ String envDomain = envDetector.getEnv(ENV_DOMAIN);
+ if (!Strings.isNullOrEmpty(envDomain)) {
+ try {
+ LOGGER.info("Adding environment defined domain {}", envDomain);
+ addDomain(envDomain);
+ } catch (DomainListException e) {
+ throw Throwables.propagate(e);
+ }
+ }
+ }
+
@VisibleForTesting void configureDefaultDomain(HierarchicalConfiguration config) throws ConfigurationException {
-
try {
setDefaultDomain(config.getString(CONFIGURE_DEFAULT_DOMAIN, LOCALHOST));
@@ -133,7 +151,7 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf
mutableDomains.addAll(detectedDomains);
mutableDomains.addAll(detectIps(mutableDomains));
- if (getLogger().isInfoEnabled()) {
+ if (getLogger().isDebugEnabled()) {
for (String domain : mutableDomains) {
getLogger().debug("Handling mail for: " + domain);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java
new file mode 100644
index 0000000..9410295
--- /dev/null
+++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java
@@ -0,0 +1,26 @@
+/****************************************************************
+ * 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.domainlist.lib;
+
+public class EnvDetector {
+ public String getEnv(String variableName) {
+ return System.getenv(variableName);
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java
index 5098c08..9f6de93 100644
--- a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java
@@ -45,12 +45,13 @@ public class AbstractDomainListPrivateMethodsTest {
public static final Logger LOGGER = LoggerFactory.getLogger(AbstractDomainListPrivateMethodsTest.class);
private MyDomainList domainList;
private DNSService dnsService;
+ private EnvDetector envDetector;
@Before
public void setup() {
- domainList = new MyDomainList();
dnsService = mock(DNSService.class);
- domainList.setDNSService(dnsService);
+ envDetector = mock(EnvDetector.class);
+ domainList = new MyDomainList(dnsService, envDetector);
domainList.setLog(LOGGER);
}
@@ -58,8 +59,9 @@ public class AbstractDomainListPrivateMethodsTest {
private List<String> domains;
- public MyDomainList() {
- domains = Lists.newArrayList();
+ public MyDomainList(DNSService dns, EnvDetector envDetector) {
+ super(dns, envDetector);
+ this.domains = Lists.newArrayList();
}
@Override
@@ -307,7 +309,6 @@ public class AbstractDomainListPrivateMethodsTest {
when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(true);
when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false);
- domainList.setLog(LOGGER);
domainList.configure(configuration);
String detected = "detected.tld";
@@ -316,4 +317,17 @@ public class AbstractDomainListPrivateMethodsTest {
assertThat(domainList.containsDomain(detected)).isTrue();
}
+ @Test
+ public void envDomainShouldBeAddedUponConfiguration() throws Exception {
+ String envDomain = "env.tld";
+ when(envDetector.getEnv(AbstractDomainList.ENV_DOMAIN)).thenReturn(envDomain);
+
+ HierarchicalConfiguration configuration = mock(HierarchicalConfiguration.class);
+ when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(true);
+ when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false);
+ domainList.configure(configuration);
+
+ assertThat(domainList.containsDomain(envDomain)).isTrue();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
index 5e135f7..d6c9033 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
@@ -23,8 +23,12 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
+import javax.inject.Inject;
+
+import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.domainlist.lib.AbstractDomainList;
+import org.apache.james.domainlist.lib.EnvDetector;
import com.google.common.collect.ImmutableList;
@@ -32,7 +36,9 @@ public class MemoryDomainList extends AbstractDomainList {
private final List<String> domains;
- public MemoryDomainList() {
+ @Inject
+ public MemoryDomainList(DNSService dns, EnvDetector envDetector) {
+ super(dns, envDetector);
this.domains = new ArrayList<String>();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java b/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java
index d23f6ef..0766c94 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java
@@ -21,15 +21,15 @@ package org.apache.james.domainlist.memory;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.domainlist.lib.AbstractDomainListTest;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.slf4j.LoggerFactory;
public class MemoryDomainListTest extends AbstractDomainListTest {
@Override
protected DomainList createDomainList() {
- MemoryDomainList testee = new MemoryDomainList();
+ MemoryDomainList testee = new MemoryDomainList(getDNSServer("localhost"), new EnvDetector());
testee.setLog(LoggerFactory.getLogger(getClass()));
- testee.setDNSService(getDNSServer("localhost"));
testee.setAutoDetect(false);
testee.setAutoDetectIP(false);
return testee;
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
index a70d8a9..ab0dc93 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
@@ -26,6 +26,8 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.james.dnsservice.api.DNSService;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.apache.james.domainlist.memory.MemoryDomainList;
import org.apache.james.user.memory.MemoryUsersRepository;
import org.apache.mailet.MailAddress;
@@ -41,6 +43,7 @@ public class JamesMailetContextTest {
public static final String USERNAME = "user";
public static final String USERMAIL = USERNAME + "@" + DOMAIN_COM;
public static final String PASSWORD = "password";
+ public static final DNSService DNS_SERVICE = null;
private MemoryDomainList domainList;
private MemoryUsersRepository usersRepository;
@@ -49,7 +52,7 @@ public class JamesMailetContextTest {
@Before
public void setUp() throws Exception {
- domainList = new MemoryDomainList();
+ domainList = new MemoryDomainList(DNS_SERVICE, new EnvDetector());
domainList.setLog(LOGGER);
usersRepository = MemoryUsersRepository.withVirtualHosting();
usersRepository.setDomainList(domainList);
http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java
index 1df89d2..c30b106 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java
@@ -38,6 +38,7 @@ import java.net.InetAddress;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.domainlist.api.DomainListException;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.apache.james.domainlist.memory.MemoryDomainList;
import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.webadmin.WebAdminServer;
@@ -94,8 +95,7 @@ public class DomainRoutesTest {
when(dnsService.getHostName(any())).thenReturn("localhost");
when(dnsService.getLocalHost()).thenReturn(InetAddress.getByName("localhost"));
- MemoryDomainList domainList = new MemoryDomainList();
- domainList.setDNSService(dnsService);
+ MemoryDomainList domainList = new MemoryDomainList(dnsService, new EnvDetector());
domainList.setLog(LOGGER);
domainList.setAutoDetectIP(false);
createServer(domainList);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org