This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit bbdb304b2e42fe4a2c8fce9445af659dd7b892b3 Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Mon Mar 4 09:31:29 2019 +0700 JAMES-2664 Inject POJO for mailbox listeners --- .../james/modules/mailbox/DefaultEventModule.java | 18 ++++++++++-------- .../modules/mailbox/MailboxListenersLoaderImpl.java | 6 ++++-- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java index f153063..0f76b9b 100644 --- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java +++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java @@ -38,6 +38,7 @@ import org.apache.james.utils.ConfigurationPerformer; import com.google.common.collect.ImmutableList; import com.google.inject.AbstractModule; +import com.google.inject.Provides; import com.google.inject.Scopes; import com.google.inject.Singleton; import com.google.inject.multibindings.Multibinder; @@ -63,24 +64,25 @@ public class DefaultEventModule extends AbstractModule { Multibinder.newSetBinder(binder(), MailboxListener.GroupMailboxListener.class); } + @Provides + ListenersConfiguration providesConfiguration(ConfigurationProvider configurationProvider) throws ConfigurationException { + return ListenersConfiguration.from(configurationProvider.getConfiguration("listeners")); + } + @Singleton public static class ListenerRegistrationPerformer implements ConfigurationPerformer { - private final ConfigurationProvider configurationProvider; private final MailboxListenersLoaderImpl listeners; + private final ListenersConfiguration configuration; @Inject - public ListenerRegistrationPerformer(ConfigurationProvider configurationProvider, MailboxListenersLoaderImpl listeners) { - this.configurationProvider = configurationProvider; + public ListenerRegistrationPerformer(MailboxListenersLoaderImpl listeners, ListenersConfiguration configuration) { this.listeners = listeners; + this.configuration = configuration; } @Override public void initModule() { - try { - listeners.configure(configurationProvider.getConfiguration("listeners")); - } catch (ConfigurationException e) { - throw new RuntimeException(e); - } + listeners.configure(configuration); } @Override diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java index 17206d3..11f6bd1 100644 --- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java +++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java @@ -53,9 +53,11 @@ public class MailboxListenersLoaderImpl implements Configurable, MailboxListener @Override public void configure(HierarchicalConfiguration configuration) { - LOGGER.info("Loading user registered mailbox listeners"); + configure(ListenersConfiguration.from(configuration)); + } - ListenersConfiguration listenersConfiguration = ListenersConfiguration.from(configuration); + public void configure(ListenersConfiguration listenersConfiguration) { + LOGGER.info("Loading user registered mailbox listeners"); guiceDefinedListeners.forEach(eventBus::register); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org