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 bt...@apache.org on 2017/06/13 02:28:19 UTC

[4/5] james-project git commit: JAMES-2050 Move all default configurations of processor to ImapConfiguration

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 <qn...@linagora.com>
Authored: Mon Jun 12 16:51:27 2017 +0700
Committer: quynhn <qn...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org