JAMES-1688 CassandraRecipientRewriteTable should be initialized
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/69916b7a Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/69916b7a Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/69916b7a Branch: refs/heads/master Commit: 69916b7a5112e54a51004d5defb1a69e77d72475 Parents: 1578407 Author: Antoine Duprat <antdup...@gmail.com> Authored: Fri Feb 12 11:52:43 2016 +0100 Committer: Matthieu Baechler <matthieu.baech...@gmail.com> Committed: Fri Feb 19 11:55:19 2016 +0100 ---------------------------------------------------------------------- .../CassandraRecipientRewriteTableModule.java | 30 ++++++++++++++++++++ 1 file changed, 30 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/69916b7a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java ---------------------------------------------------------------------- diff --git a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java b/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java index c28ca20..d261a7d 100644 --- a/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java +++ b/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java @@ -22,17 +22,47 @@ import org.apache.james.backends.cassandra.components.CassandraModule; import org.apache.james.rrt.api.RecipientRewriteTable; import org.apache.james.rrt.cassandra.CassandraRRTModule; import org.apache.james.rrt.cassandra.CassandraRecipientRewriteTable; +import org.apache.james.utils.ConfigurationPerformer; +import org.apache.james.utils.ConfigurationProvider; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.google.inject.AbstractModule; +import com.google.inject.Inject; +import com.google.inject.Scopes; +import com.google.inject.Singleton; import com.google.inject.multibindings.Multibinder; public class CassandraRecipientRewriteTableModule extends AbstractModule { + private static final Logger LOGGER = LoggerFactory.getLogger(RecipientRewriteTable.class); + @Override public void configure() { + bind(CassandraRecipientRewriteTable.class).in(Scopes.SINGLETON); bind(RecipientRewriteTable.class).to(CassandraRecipientRewriteTable.class); Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class); cassandraDataDefinitions.addBinding().to(CassandraRRTModule.class); + Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraRecipientRewriteTablePerformer.class); + } + + @Singleton + public static class CassandraRecipientRewriteTablePerformer implements ConfigurationPerformer { + + private final ConfigurationProvider configurationProvider; + private final CassandraRecipientRewriteTable recipientRewriteTable; + + @Inject + public CassandraRecipientRewriteTablePerformer(ConfigurationProvider configurationProvider, CassandraRecipientRewriteTable recipientRewriteTable) { + this.configurationProvider = configurationProvider; + this.recipientRewriteTable = recipientRewriteTable; + } + + @Override + public void initModule() throws Exception { + recipientRewriteTable.setLog(LOGGER); + recipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable")); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org