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 <btell...@linagora.com> Authored: Thu Aug 2 14:04:43 2018 +0700 Committer: Benoit Tellier <btell...@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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org