JAMES-2513 Memory 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/f101b0da Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f101b0da Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f101b0da Branch: refs/heads/master Commit: f101b0dae18bd911ca513b327a97fdfb522b7a9e Parents: 8d33e65 Author: benwa <btell...@linagora.com> Authored: Thu Aug 2 14:07:21 2018 +0700 Committer: Benoit Tellier <btell...@linagora.com> Committed: Fri Aug 3 15:51:30 2018 +0700 ---------------------------------------------------------------------- .../james/modules/data/MemoryDataModule.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/f101b0da/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java index 44e7496..573c504 100644 --- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java +++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java @@ -25,6 +25,7 @@ import org.apache.commons.configuration.ConfigurationException; import org.apache.james.dlp.api.DLPConfigurationStore; import org.apache.james.dlp.eventsourcing.EventSourcingDLPConfigurationStore; import org.apache.james.domainlist.api.DomainList; +import org.apache.james.domainlist.lib.DomainListConfiguration; import org.apache.james.domainlist.memory.MemoryDomainList; import org.apache.james.lifecycle.api.Configurable; import org.apache.james.mailrepository.api.MailRepositoryUrlStore; @@ -39,6 +40,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; @@ -70,16 +72,28 @@ public class MemoryDataModule extends AbstractModule { Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(MemoryDataConfigurationPerformer.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 MemoryDataConfigurationPerformer implements ConfigurationPerformer { private final ConfigurationProvider configurationProvider; + private final DomainListConfiguration domainListConfiguration; private final MemoryDomainList memoryDomainList; private final MemoryRecipientRewriteTable memoryRecipientRewriteTable; @Inject - public MemoryDataConfigurationPerformer(ConfigurationProvider configurationProvider, MemoryDomainList memoryDomainList, MemoryRecipientRewriteTable memoryRecipientRewriteTable) { + public MemoryDataConfigurationPerformer(ConfigurationProvider configurationProvider, DomainListConfiguration domainListConfiguration, MemoryDomainList memoryDomainList, MemoryRecipientRewriteTable memoryRecipientRewriteTable) { this.configurationProvider = configurationProvider; + this.domainListConfiguration = domainListConfiguration; this.memoryDomainList = memoryDomainList; this.memoryRecipientRewriteTable = memoryRecipientRewriteTable; } @@ -87,7 +101,7 @@ public class MemoryDataModule extends AbstractModule { @Override public void initModule() { try { - memoryDomainList.configure(configurationProvider.getConfiguration("domainlist")); + memoryDomainList.configure(domainListConfiguration); memoryRecipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable")); } 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