Repository: james-project Updated Branches: refs/heads/master 794173534 -> 4adf702e3
JAMES-2050 Remove hardcoded configuration values Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1e6ef60a Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1e6ef60a Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1e6ef60a Branch: refs/heads/master Commit: 1e6ef60aab18d1ffb1d3cf4430e9076141324abc Parents: 7941735 Author: quynhn <[email protected]> Authored: Fri Jun 9 15:37:04 2017 +0700 Committer: quynhn <[email protected]> Committed: Mon Jun 12 17:45:17 2017 +0700 ---------------------------------------------------------------------- .../imap/processor/CapabilityProcessor.java | 10 ++++----- .../imap/processor/DefaultProcessorChain.java | 16 +++----------- .../james/imap/processor/IdleProcessor.java | 7 +++--- .../main/DefaultImapProcessorFactory.java | 23 ++++---------------- .../modules/protocols/IMAPServerModule.java | 4 ---- .../META-INF/spring/imapserver-context.xml | 11 +--------- 6 files changed, 15 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/1e6ef60a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java index 94fb28f..35f5bd2 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java @@ -25,7 +25,6 @@ import static org.apache.james.imap.api.ImapConstants.SUPPORTS_LITERAL_PLUS; import static org.apache.james.imap.api.ImapConstants.SUPPORTS_RFC3348; import static org.apache.james.imap.api.ImapConstants.UTF8; import static org.apache.james.imap.api.ImapConstants.VERSION; - import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -63,18 +62,17 @@ public class CapabilityProcessor extends AbstractMailboxProcessor<CapabilityRequ private static final List<CapabilityImplementingProcessor> capabilities = new ArrayList<CapabilityImplementingProcessor>(); private static final Set<String> disabledCaps = new HashSet<String>(); - public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List<CapabilityImplementingProcessor> capabilities, Set<String> disabledCaps, + public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List<CapabilityImplementingProcessor> capabilities, MetricFactory metricFactory) { - this(next, mailboxManager, factory, disabledCaps, metricFactory); + this(next, mailboxManager, factory, metricFactory); CapabilityProcessor.capabilities.addAll(capabilities); } - public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, Set<String> disabledCaps, + public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, MetricFactory metricFactory) { super(CapabilityRequest.class, next, mailboxManager, factory, metricFactory); - CapabilityProcessor.disabledCaps.addAll(disabledCaps); - capabilities.add(this); + capabilities.add(this); } http://git-wip-us.apache.org/repos/asf/james-project/blob/1e6ef60a/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java index 9a99ae0..322de09 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java @@ -19,10 +19,6 @@ package org.apache.james.imap.processor; -import java.util.Set; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; - import org.apache.james.imap.api.message.response.StatusResponseFactory; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.api.process.MailboxTyper; @@ -41,12 +37,12 @@ public class DefaultProcessorChain { public static ImapProcessor createDefaultChain(ImapProcessor chainEndProcessor, final MailboxManager mailboxManager, SubscriptionManager subscriptionManager, final StatusResponseFactory statusResponseFactory, MailboxTyper mailboxTyper, QuotaManager quotaManager, - final QuotaRootResolver quotaRootResolver, long idleKeepAlive, TimeUnit milliseconds, Set<String> disabledCaps, + final QuotaRootResolver quotaRootResolver, MetricFactory metricFactory) { final SystemMessageProcessor systemProcessor = new SystemMessageProcessor(chainEndProcessor, mailboxManager); final LogoutProcessor logoutProcessor = new LogoutProcessor(systemProcessor, mailboxManager, statusResponseFactory, metricFactory); - final CapabilityProcessor capabilityProcessor = new CapabilityProcessor(logoutProcessor, mailboxManager, statusResponseFactory, disabledCaps, metricFactory); + final CapabilityProcessor capabilityProcessor = new CapabilityProcessor(logoutProcessor, mailboxManager, statusResponseFactory, metricFactory); final CheckProcessor checkProcessor = new CheckProcessor(capabilityProcessor, mailboxManager, statusResponseFactory, metricFactory); final LoginProcessor loginProcessor = new LoginProcessor(checkProcessor, mailboxManager, statusResponseFactory, metricFactory); // so it can announce the LOGINDISABLED if needed @@ -81,13 +77,7 @@ public class DefaultProcessorChain { final AppendProcessor appendProcessor = new AppendProcessor(examineProcessor, mailboxManager, statusResponseFactory, metricFactory); final StoreProcessor storeProcessor = new StoreProcessor(appendProcessor, mailboxManager, statusResponseFactory, metricFactory); final NoopProcessor noopProcessor = new NoopProcessor(storeProcessor, mailboxManager, statusResponseFactory, metricFactory); - final IdleProcessor idleProcessor; - if (idleKeepAlive > 0) { - idleProcessor = new IdleProcessor(noopProcessor, mailboxManager, statusResponseFactory, idleKeepAlive, milliseconds, Executors.newScheduledThreadPool(IdleProcessor.DEFAULT_SCHEDULED_POOL_CORE_SIZE), metricFactory); - } else { - // We don't want to send keep alives so now scheduled executur needed - idleProcessor = new IdleProcessor(noopProcessor, mailboxManager, statusResponseFactory, idleKeepAlive, milliseconds, null, metricFactory); - } + final IdleProcessor idleProcessor = new IdleProcessor(noopProcessor, mailboxManager, statusResponseFactory, metricFactory); final StatusProcessor statusProcessor = new StatusProcessor(idleProcessor, mailboxManager, statusResponseFactory, metricFactory); final LSubProcessor lsubProcessor = new LSubProcessor(statusProcessor, mailboxManager, subscriptionManager, statusResponseFactory, metricFactory); final XListProcessor xlistProcessor = new XListProcessor(lsubProcessor, mailboxManager, statusResponseFactory, mailboxTyper, metricFactory); http://git-wip-us.apache.org/repos/asf/james-project/blob/1e6ef60a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java index ea2c497..d2770df 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java @@ -20,7 +20,6 @@ package org.apache.james.imap.processor; import static org.apache.james.imap.api.ImapConstants.SUPPORTS_IDLE; - import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -50,15 +49,15 @@ import org.apache.james.metrics.api.MetricFactory; public class IdleProcessor extends AbstractMailboxProcessor<IdleRequest> implements CapabilityImplementingProcessor { - private final ScheduledExecutorService heartbeatExecutor; private final static List<String> CAPS = Collections.unmodifiableList(Arrays.asList(SUPPORTS_IDLE)); // 2 minutes public final static long DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS = 2 * 60; public final static TimeUnit DEFAULT_HEARTBEAT_INTERVAL_UNIT = TimeUnit.SECONDS; public final static int DEFAULT_SCHEDULED_POOL_CORE_SIZE = 5; private final static String DONE = "DONE"; - private final TimeUnit heartbeatIntervalUnit; - private final long heartbeatInterval; + private TimeUnit heartbeatIntervalUnit; + private long heartbeatInterval; + private ScheduledExecutorService heartbeatExecutor; public IdleProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, MetricFactory metricFactory) { http://git-wip-us.apache.org/repos/asf/james-project/blob/1e6ef60a/protocols/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java index 5b9c1d2..3af2b8e 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java @@ -19,16 +19,11 @@ package org.apache.james.imap.processor.main; -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.TimeUnit; - import org.apache.james.imap.api.message.response.StatusResponseFactory; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.api.process.MailboxTyper; import org.apache.james.imap.message.response.UnpooledStatusResponseFactory; import org.apache.james.imap.processor.DefaultProcessorChain; -import org.apache.james.imap.processor.IdleProcessor; import org.apache.james.imap.processor.base.ImapResponseMessageProcessor; import org.apache.james.imap.processor.base.UnknownRequestProcessor; import org.apache.james.mailbox.MailboxManager; @@ -44,24 +39,14 @@ public class DefaultImapProcessorFactory { public static ImapProcessor createDefaultProcessor(MailboxManager mailboxManager, SubscriptionManager subscriptionManager, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, MetricFactory metricFactory) { - return createXListSupportingProcessor(mailboxManager, subscriptionManager, null, quotaManager, quotaRootResolver, IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, new HashSet<String>(), metricFactory); - } - - public static ImapProcessor createDefaultProcessor(MailboxManager mailboxManager, SubscriptionManager subscriptionManager, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, long idleKeepAlive, - MetricFactory metricFactory) { - return createXListSupportingProcessor(mailboxManager, subscriptionManager, null, quotaManager, quotaRootResolver, idleKeepAlive, new HashSet<String>(), metricFactory); + return createXListSupportingProcessor(mailboxManager, subscriptionManager, null, quotaManager, quotaRootResolver, metricFactory); } - public static ImapProcessor createXListSupportingProcessor(MailboxManager mailboxManager, SubscriptionManager subscriptionManager, MailboxTyper mailboxTyper, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, - MetricFactory metricFactory) { - return createXListSupportingProcessor(mailboxManager, subscriptionManager, mailboxTyper, quotaManager, quotaRootResolver, IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, new HashSet<String>(), metricFactory); - } - - public static ImapProcessor createXListSupportingProcessor(MailboxManager mailboxManager, SubscriptionManager subscriptionManager, MailboxTyper mailboxTyper, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, long idleKeepAlive, Set<String> disabledCaps, - MetricFactory metricFactory) { + public static ImapProcessor createXListSupportingProcessor(MailboxManager mailboxManager, SubscriptionManager subscriptionManager, + MailboxTyper mailboxTyper, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, MetricFactory metricFactory) { final StatusResponseFactory statusResponseFactory = new UnpooledStatusResponseFactory(); final UnknownRequestProcessor unknownRequestImapProcessor = new UnknownRequestProcessor(statusResponseFactory); - final ImapProcessor imap4rev1Chain = DefaultProcessorChain.createDefaultChain(unknownRequestImapProcessor, mailboxManager, subscriptionManager, statusResponseFactory, mailboxTyper, quotaManager, quotaRootResolver, idleKeepAlive, TimeUnit.SECONDS, disabledCaps, metricFactory); + final ImapProcessor imap4rev1Chain = DefaultProcessorChain.createDefaultChain(unknownRequestImapProcessor, mailboxManager, subscriptionManager, statusResponseFactory, mailboxTyper, quotaManager, quotaRootResolver, metricFactory); return new ImapResponseMessageProcessor(imap4rev1Chain); } http://git-wip-us.apache.org/repos/asf/james-project/blob/1e6ef60a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java index 936bcfa..f2c4d8a 100644 --- a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java +++ b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java @@ -41,7 +41,6 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; import com.google.inject.AbstractModule; import com.google.inject.Inject; import com.google.inject.Provides; @@ -59,7 +58,6 @@ public class IMAPServerModule extends AbstractModule { } @Provides - @Singleton ImapProcessor provideImapProcessor( @Named(Names.MAILBOXMANAGER_NAME)MailboxManager mailboxManager, SubscriptionManager subscriptionManager, @@ -72,8 +70,6 @@ public class IMAPServerModule extends AbstractModule { null, quotaManager, quotaRootResolver, - 120, - ImmutableSet.of("ACL", "MOVE"), metricFactory); } http://git-wip-us.apache.org/repos/asf/james-project/blob/1e6ef60a/server/protocols/protocols-imap4/src/main/resources/META-INF/spring/imapserver-context.xml ---------------------------------------------------------------------- diff --git a/server/protocols/protocols-imap4/src/main/resources/META-INF/spring/imapserver-context.xml b/server/protocols/protocols-imap4/src/main/resources/META-INF/spring/imapserver-context.xml index 85be37f..49a52a6 100644 --- a/server/protocols/protocols-imap4/src/main/resources/META-INF/spring/imapserver-context.xml +++ b/server/protocols/protocols-imap4/src/main/resources/META-INF/spring/imapserver-context.xml @@ -37,16 +37,7 @@ <constructor-arg index="2" value="#{null}"/> <constructor-arg index="3" ref="quotaManager"/> <constructor-arg index="4" ref="quotaRootResolver"/> - <!-- The idleKeepAlive --> - <constructor-arg index="5" value="120"/> - <!-- The list of disabled capabilities --> - <constructor-arg index="6"> - <set> - <value>ACL</value> - <value>MOVE</value> - </set> - </constructor-arg> - <constructor-arg index="7" ref="timeMetricFactory"/> + <constructor-arg index="5" ref="timeMetricFactory"/> </bean> <bean id="imapDecoderFactory" class="org.apache.james.imap.main.DefaultImapDecoderFactory"/> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
