You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/08/03 08:52:29 UTC

[16/20] james-project git commit: JAMES-2513 Cassandra Domain List configuration should rely on POJO

JAMES-2513 Cassandra Domain List configuration should rely on POJO


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

Branch: refs/heads/master
Commit: 75097ea9ca35fdd71ced8184d2393f5e556a8317
Parents: 33c809a
Author: benwa <bt...@linagora.com>
Authored: Thu Aug 2 14:04:43 2018 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Fri Aug 3 15:51:29 2018 +0700

----------------------------------------------------------------------
 .../modules/data/CassandraDomainListModule.java | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/75097ea9/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
index 4d253af..482a65c 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
@@ -24,6 +24,7 @@ import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.cassandra.CassandraDomainList;
+import org.apache.james.domainlist.lib.DomainListConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
@@ -31,6 +32,7 @@ import org.apache.james.utils.ConfigurationPerformer;
 import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
+import com.google.inject.Provides;
 import com.google.inject.Scopes;
 import com.google.inject.Singleton;
 import com.google.inject.multibindings.Multibinder;
@@ -44,23 +46,33 @@ public class CassandraDomainListModule extends AbstractModule {
         Multibinder.newSetBinder(binder(), CassandraModule.class).addBinding().toInstance(org.apache.james.domainlist.cassandra.CassandraDomainListModule.MODULE);
         Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraDomainListConfigurationPerformer.class);
     }
+
+    @Provides
+    @Singleton
+    public DomainListConfiguration provideDomainListConfiguration(ConfigurationProvider configurationProvider) {
+        try {
+            return DomainListConfiguration.from(configurationProvider.getConfiguration("domainlist"));
+        } catch (ConfigurationException e) {
+            throw new RuntimeException(e);
+        }
+    }
     
     @Singleton
     public static class CassandraDomainListConfigurationPerformer implements ConfigurationPerformer {
 
-        private final ConfigurationProvider configurationProvider;
+        private final DomainListConfiguration configuration;
         private final CassandraDomainList cassandraDomainList;
 
         @Inject
-        public CassandraDomainListConfigurationPerformer(ConfigurationProvider configurationProvider, CassandraDomainList cassandraDomainList) {
-            this.configurationProvider = configurationProvider;
+        public CassandraDomainListConfigurationPerformer(DomainListConfiguration configuration, CassandraDomainList cassandraDomainList) {
+            this.configuration = configuration;
             this.cassandraDomainList = cassandraDomainList;
         }
 
         @Override
         public void initModule() {
             try {
-                cassandraDomainList.configure(configurationProvider.getConfiguration("domainlist"));
+                cassandraDomainList.configure(configuration);
             } catch (ConfigurationException e) {
                 throw new RuntimeException(e);
             }


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