JAMES-2050 Move all default configurations of processor to ImapConfiguration
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4adf702e Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4adf702e Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4adf702e Branch: refs/heads/master Commit: 4adf702e3933990644b4b523eee12ac9df50fedf Parents: 1bb8211 Author: quynhn <[email protected]> Authored: Mon Jun 12 16:51:27 2017 +0700 Committer: quynhn <[email protected]> Committed: Mon Jun 12 17:45:18 2017 +0700 ---------------------------------------------------------------------- .../org/apache/james/imap/api/ImapConfiguration.java | 10 ++++++---- .../apache/james/imap/processor/IdleProcessor.java | 14 -------------- .../apache/james/imap/api/ImapConfigurationTest.java | 6 ++---- .../org/apache/james/imapserver/netty/IMAPServer.java | 9 ++++----- .../apache/james/imapserver/netty/IMAPServerTest.java | 7 +++---- 5 files changed, 15 insertions(+), 31 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/4adf702e/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java index 1552189..e0b26ca 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java @@ -21,7 +21,6 @@ package org.apache.james.imap.api; import java.util.concurrent.TimeUnit; -import org.apache.james.imap.processor.IdleProcessor; import org.apache.commons.lang.StringUtils; import com.google.common.base.Function; @@ -34,6 +33,9 @@ import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; public class ImapConfiguration { + public final static boolean DEFAULT_ENABLE_IDLE = true; + public final static long DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS = 2 * 60; + public final static TimeUnit DEFAULT_HEARTBEAT_INTERVAL_UNIT = TimeUnit.SECONDS; public static Builder builder() { return new Builder(); @@ -105,9 +107,9 @@ public class ImapConfiguration { .transform(NORMALIZE_STRING) .toSet(); return new ImapConfiguration( - enableIdle.or(IdleProcessor.DEFAULT_ENABLE_IDLE), - idleTimeInterval.or(IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS), - idleTimeIntervalUnit.or(IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_UNIT), + enableIdle.or(DEFAULT_ENABLE_IDLE), + idleTimeInterval.or(DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS), + idleTimeIntervalUnit.or(DEFAULT_HEARTBEAT_INTERVAL_UNIT), normalizeDisableCaps); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/4adf702e/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 670ef91..46cf5e3 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 @@ -51,10 +51,6 @@ import org.apache.james.metrics.api.MetricFactory; public class IdleProcessor extends AbstractMailboxProcessor<IdleRequest> implements CapabilityImplementingProcessor { 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 boolean DEFAULT_ENABLE_IDLE = true; public final static int DEFAULT_SCHEDULED_POOL_CORE_SIZE = 5; private final static String DONE = "DONE"; private TimeUnit heartbeatIntervalUnit; @@ -64,17 +60,7 @@ public class IdleProcessor extends AbstractMailboxProcessor<IdleRequest> impleme public IdleProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, MetricFactory metricFactory) { - this(next, mailboxManager, factory, DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS, DEFAULT_HEARTBEAT_INTERVAL_UNIT, Executors.newScheduledThreadPool(DEFAULT_SCHEDULED_POOL_CORE_SIZE), metricFactory); - - } - - public IdleProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, long heartbeatInterval, TimeUnit heartbeatIntervalUnit, ScheduledExecutorService heartbeatExecutor, - MetricFactory metricFactory) { super(IdleRequest.class, next, mailboxManager, factory, metricFactory); - this.heartbeatInterval = heartbeatInterval; - this.heartbeatIntervalUnit = heartbeatIntervalUnit; - this.heartbeatExecutor = heartbeatExecutor; - } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/4adf702e/protocols/imap/src/test/java/org/apache/james/imap/api/ImapConfigurationTest.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/test/java/org/apache/james/imap/api/ImapConfigurationTest.java b/protocols/imap/src/test/java/org/apache/james/imap/api/ImapConfigurationTest.java index 1d5c5e8..3fa1cdc 100644 --- a/protocols/imap/src/test/java/org/apache/james/imap/api/ImapConfigurationTest.java +++ b/protocols/imap/src/test/java/org/apache/james/imap/api/ImapConfigurationTest.java @@ -22,8 +22,6 @@ package org.apache.james.imap.api; import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; -import org.apache.james.imap.processor.IdleProcessor; - import com.google.common.collect.ImmutableSet; import nl.jqno.equalsverifier.EqualsVerifier; @@ -44,7 +42,7 @@ public class ImapConfigurationTest { public void idleKeepAliveShouldBeDefaultValueWhenNoSetting() throws Exception { ImapConfiguration imapConfiguration = ImapConfiguration.builder().build(); - assertThat(imapConfiguration.getIdleTimeInterval()).isEqualTo(IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS); + assertThat(imapConfiguration.getIdleTimeInterval()).isEqualTo(ImapConfiguration.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS); } @Test @@ -79,7 +77,7 @@ public class ImapConfigurationTest { public void millisecondsShouldBeDefaultValueWhenNoSetting() throws Exception { ImapConfiguration imapConfiguration = ImapConfiguration.builder().build(); - assertThat(imapConfiguration.getIdleTimeIntervalUnit()).isEqualTo(IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_UNIT); + assertThat(imapConfiguration.getIdleTimeIntervalUnit()).isEqualTo(ImapConfiguration.DEFAULT_HEARTBEAT_INTERVAL_UNIT); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/4adf702e/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java ---------------------------------------------------------------------- diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java index d3f2aea..887cf3b 100644 --- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java +++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java @@ -27,7 +27,6 @@ import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.decode.ImapDecoder; import org.apache.james.imap.encode.ImapEncoder; -import org.apache.james.imap.processor.IdleProcessor; import org.apache.james.protocols.api.Encryption; import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer; import org.apache.james.protocols.netty.ChannelGroupHandler; @@ -117,8 +116,8 @@ public class IMAPServer extends AbstractConfigurableAsyncServer implements ImapC ImmutableSet<String> disabledCaps = ImmutableSet.copyOf(Splitter.on(CAPABILITY_SEPARATOR).split(configuration.getString("disabledCaps", ""))); return ImapConfiguration.builder() - .enableIdle(configuration.getBoolean("enableIdle", IdleProcessor.DEFAULT_ENABLE_IDLE)) - .idleTimeInterval(configuration.getLong("idleTimeInterval", IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS)) + .enableIdle(configuration.getBoolean("enableIdle", ImapConfiguration.DEFAULT_ENABLE_IDLE)) + .idleTimeInterval(configuration.getLong("idleTimeInterval", ImapConfiguration.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS)) .idleTimeIntervalUnit(getTimeIntervalUnit(configuration.getString("idleTimeIntervalUnit", DEFAULT_TIME_UNIT))) .disabledCaps(disabledCaps) .build(); @@ -128,8 +127,8 @@ public class IMAPServer extends AbstractConfigurableAsyncServer implements ImapC try { return TimeUnit.valueOf(timeIntervalUnit); } catch (IllegalArgumentException e) { - LOG.info("Time interval unit is not valid {}, the default {} value should be used", timeIntervalUnit, IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_UNIT); - return IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_UNIT; + LOG.info("Time interval unit is not valid {}, the default {} value should be used", timeIntervalUnit, ImapConfiguration.DEFAULT_HEARTBEAT_INTERVAL_UNIT); + return ImapConfiguration.DEFAULT_HEARTBEAT_INTERVAL_UNIT; } } http://git-wip-us.apache.org/repos/asf/james-project/blob/4adf702e/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java index cc14eb6..861a8ad 100644 --- a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java +++ b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java @@ -23,7 +23,6 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; import org.apache.james.imap.api.ImapConfiguration; -import org.apache.james.imap.processor.IdleProcessor; import org.apache.commons.configuration.DefaultConfigurationBuilder; import com.google.common.collect.ImmutableSet; @@ -41,9 +40,9 @@ public class IMAPServerTest { ImapConfiguration imapConfiguration = IMAPServer.getImapConfiguration(new DefaultConfigurationBuilder()); ImapConfiguration expectImapConfiguration = ImapConfiguration.builder() - .enableIdle(IdleProcessor.DEFAULT_ENABLE_IDLE) - .idleTimeInterval(IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS) - .idleTimeIntervalUnit(IdleProcessor.DEFAULT_HEARTBEAT_INTERVAL_UNIT) + .enableIdle(ImapConfiguration.DEFAULT_ENABLE_IDLE) + .idleTimeInterval(ImapConfiguration.DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS) + .idleTimeIntervalUnit(ImapConfiguration.DEFAULT_HEARTBEAT_INTERVAL_UNIT) .disabledCaps(ImmutableSet.<String>of()) .build(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
