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

Reply via email to