You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ad...@apache.org on 2017/11/15 08:02:05 UTC
[07/11] james-project git commit: MAILBOX-316 JmapModule will bind
PropagateLookupRightListener then the event should only listen on JMAP
protocol
MAILBOX-316 JmapModule will bind PropagateLookupRightListener then the
event should only listen on JMAP protocol
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2462904d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2462904d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2462904d
Branch: refs/heads/master
Commit: 2462904dbed12339ad0a8521cba2dcb5dfcf4746
Parents: 2aa77b5
Author: quynhn <qn...@linagora.com>
Authored: Mon Nov 6 17:25:10 2017 +0700
Committer: quynhn <qn...@linagora.com>
Committed: Wed Nov 15 09:33:58 2017 +0700
----------------------------------------------------------------------
.../java/org/apache/james/jmap/JMAPModule.java | 30 ++++++++++++++++++++
1 file changed, 30 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2462904d/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java
index f5f6a29..42a3d07 100644
--- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java
+++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java
@@ -28,6 +28,7 @@ import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.io.FileUtils;
import org.apache.james.filesystem.api.FileSystem;
+import org.apache.james.jmap.event.PropagateLookupRightListener;
import org.apache.james.jmap.mailet.VacationMailet;
import org.apache.james.jmap.methods.RequestHandler;
import org.apache.james.jmap.send.PostDequeueDecoratorFactory;
@@ -39,6 +40,7 @@ import org.apache.james.jwt.JwtConfiguration;
import org.apache.james.lifecycle.api.Configurable;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManager.SearchCapabilities;
+import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailetcontainer.impl.MatcherMailetPair;
import org.apache.james.modules.server.CamelMailetContainerModule;
import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
@@ -89,6 +91,7 @@ public class JMAPModule extends AbstractModule {
bind(HtmlTextExtractor.class).to(JsoupHtmlTextExtractor.class);
Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(RequiredCapabilitiesPrecondition.class);
+ Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(JmapListenerRegistrationPerformer.class);
Multibinder<CamelMailetContainerModule.TransportProcessorCheck> transportProcessorChecks = Multibinder.newSetBinder(binder(), CamelMailetContainerModule.TransportProcessorCheck.class);
transportProcessorChecks.addBinding().to(VacationMailetCheck.class);
@@ -128,6 +131,33 @@ public class JMAPModule extends AbstractModule {
}
@Singleton
+ public static class JmapListenerRegistrationPerformer implements ConfigurationPerformer {
+ private final MailboxManager mailboxManager;
+ private final PropagateLookupRightListener propagateLookupRightListener;
+
+ @Inject
+ public JmapListenerRegistrationPerformer(MailboxManager mailboxManager, PropagateLookupRightListener propagateLookupRightListener) {
+ this.mailboxManager = mailboxManager;
+ this.propagateLookupRightListener = propagateLookupRightListener;
+ }
+
+ @Override
+ public void initModule() {
+ try {
+ mailboxManager.addGlobalListener(propagateLookupRightListener,
+ mailboxManager.createSystemSession("storeMailboxManager"));
+ } catch (MailboxException e) {
+ Throwables.propagate(e);
+ }
+ }
+
+ @Override
+ public List<Class<? extends Configurable>> forClasses() {
+ return ImmutableList.of();
+ }
+ }
+
+ @Singleton
public static class RequiredCapabilitiesPrecondition implements ConfigurationPerformer {
private final MailboxManager mailboxManager;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org