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 2018/02/01 10:44:34 UTC

[01/20] james-project git commit: JAMES-2315 Reference James download page from main page

Repository: james-project
Updated Branches:
  refs/heads/master 4ecc84d89 -> 21a633311


JAMES-2315 Reference James download page from main page


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/563244a3
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/563244a3
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/563244a3

Branch: refs/heads/master
Commit: 563244a39a3e59f9ec69f840aea74f13de6841cb
Parents: 2936b59
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 11:06:31 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/563244a3/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index 644fa41..786a1a5 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -207,6 +207,13 @@ WHAT WILL YOU TRY:</b><br>
                 </span>
               </li>
               <li class="post-template center-icon">
+                <a href="http://james.apache.org/download.cgi" alt="Downloads"><span class="icon fa-cloud-download "></span></a>
+                <span class="details">
+                  <b>Download Apache James releases:</b>
+                  <br/>Our <a href="http://james.apache.org/download.cgi">download page</a> allows you to download artifacts and sources for the James Server and James libraries.
+                </span>
+              </li>
+              <li class="post-template center-icon">
                 <a href="http://james.apache.org/support.html" alt="Professional support"><span class="icon fa-briefcase"></span></a>
                 <span class="details">
                   <b>Professional support:</b>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[06/20] james-project git commit: JAMES-2315 Match the copyright regex

Posted by bt...@apache.org.
JAMES-2315 Match the copyright regex


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/64cdb0b5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/64cdb0b5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/64cdb0b5

Branch: refs/heads/master
Commit: 64cdb0b585e068e395697e5e1f7363238d48c068
Parents: 4ecc84d
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 10:38:12 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/64cdb0b5/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index d6b454e..85ad09e 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -296,7 +296,7 @@ WHAT WILL YOU TRY:</b><br>
       </section>
       <section class="legal-section">
         <h2>Copyright</h2>
-        Copyright <a href="http://www.apache.org/"> 2006-2018 The Apache Software Foundation. All Rights Reserved.</a><br/>
+        <a href="http://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation.. All Rights Reserved.</a><br/>
         Design: <a href="https://html5up.net">HTML5 UP</a><br/>
         Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
       </section>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[17/20] james-project git commit: JAMES-2327 Use a single HashedWheelTimer in the whole application as recommended by its documentation

Posted by bt...@apache.org.
JAMES-2327 Use a single HashedWheelTimer in the whole application as recommended by its documentation


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/73a320b0
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/73a320b0
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/73a320b0

Branch: refs/heads/master
Commit: 73a320b04f43c04e911a79d4b6f1e603eb4230e8
Parents: 379d1eb
Author: Matthieu Baechler <ma...@apache.org>
Authored: Tue Jan 30 10:24:51 2018 +0100
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:29 2018 +0700

----------------------------------------------------------------------
 pom.xml                                         |  5 ++
 .../lmtp/netty/NettyLMTPSServerTest.java        | 17 +++++-
 .../lmtp/netty/NettyLMTPServerTest.java         | 17 +++++-
 .../netty/AbstractChannelPipelineFactory.java   | 27 ++++-----
 .../AbstractSSLAwareChannelPipelineFactory.java | 11 ++--
 .../james/protocols/netty/NettyServer.java      | 39 ++++++++----
 .../james/protocols/netty/NettyServerTest.java  | 24 ++++++--
 .../pop3/netty/NettyPOP3SServerTest.java        | 17 +++++-
 .../pop3/netty/NettyPOP3ServerTest.java         | 18 +++++-
 .../pop3/netty/NettyStartTlsPOP3ServerTest.java | 18 +++++-
 .../smtp/netty/NettySMTPSServerTest.java        | 17 +++++-
 .../smtp/netty/NettySMTPServerTest.java         | 18 +++++-
 .../smtp/netty/NettyStartTlsSMTPServerTest.java | 12 +++-
 server/container/guice/guice-common/pom.xml     |  4 ++
 .../protocols/ProtocolHandlerModule.java        |  1 +
 server/container/guice/pom.xml                  |  1 +
 server/container/guice/protocols/netty/pom.xml  | 63 ++++++++++++++++++++
 .../modules/protocols/NettyServerModule.java    | 45 ++++++++++++++
 .../META-INF/org/apache/james/spring-server.xml |  2 +
 .../imapserver/netty/IMAPServerFactory.java     |  7 ++-
 .../imapserver/netty/OioIMAPServerFactory.java  |  6 +-
 .../netty/AbstractConfigurableAsyncServer.java  | 10 +++-
 ...ractExecutorAwareChannelPipelineFactory.java | 15 +++--
 .../lmtpserver/netty/LMTPServerFactory.java     |  7 ++-
 .../lmtpserver/netty/OioLMTPServerFactory.java  |  6 +-
 .../netty/ManageSieveServerFactory.java         |  9 +++
 .../pop3server/netty/POP3ServerFactory.java     | 10 +++-
 .../apache/james/pop3server/POP3ServerTest.java |  5 ++
 .../smtpserver/netty/OioSMTPServerFactory.java  |  6 +-
 .../smtpserver/netty/SMTPServerFactory.java     |  7 ++-
 .../apache/james/smtpserver/SMTPServerTest.java |  7 ++-
 .../james/smtpserver/ValidRcptMXTest.java       |  2 +-
 32 files changed, 388 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 797c3e1..b3ec971 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1171,6 +1171,11 @@
             </dependency>
             <dependency>
                 <groupId>${project.groupId}</groupId>
+                <artifactId>james-server-guice-netty</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
                 <artifactId>james-server-jetty</artifactId>
                 <version>${project.version}</version>
             </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
index 529bf08..5fbf322 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPSServerTest.java
@@ -8,15 +8,30 @@ import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.api.utils.BogusSslContextFactory;
 import org.apache.james.protocols.lmtp.AbstractLMTPSServerTest;
 import org.apache.james.protocols.netty.NettyServer;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 
 public class NettyLMTPSServerTest extends AbstractLMTPSServerTest {
 
     private static final String LOCALHOST_IP = "127.0.0.1";
     private static final int RANDOM_PORT = 0;
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
     @Override
     protected ProtocolServer createServer(Protocol protocol) {
-        NettyServer server =  NettyServer.builder()
+        NettyServer server = new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .secure(Encryption.createTls(BogusSslContextFactory.getServerContext()))
                 .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
index b45c19e..30e7716 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/netty/NettyLMTPServerTest.java
@@ -24,15 +24,30 @@ import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.lmtp.AbstractLMTPServerTest;
 import org.apache.james.protocols.netty.NettyServer;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 
 public class NettyLMTPServerTest extends AbstractLMTPServerTest {
 
     private static final String LOCALHOST_IP = "127.0.0.1";
     private static final int RANDOM_PORT = 0;
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
     @Override
     protected ProtocolServer createServer(Protocol protocol) {
-        NettyServer server = NettyServer.builder()
+        NettyServer server = new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .build();
         server.setListenAddresses(new InetSocketAddress(LOCALHOST_IP, RANDOM_PORT));

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
----------------------------------------------------------------------
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
index f4452c3..4de5f3e 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractChannelPipelineFactory.java
@@ -26,7 +26,6 @@ import org.jboss.netty.channel.ChannelUpstreamHandler;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
 import org.jboss.netty.handler.stream.ChunkedWriteHandler;
-import org.jboss.netty.util.ExternalResourceReleasable;
 import org.jboss.netty.util.HashedWheelTimer;
 
 /**
@@ -34,29 +33,33 @@ import org.jboss.netty.util.HashedWheelTimer;
  * 
  *
  */
-public abstract class AbstractChannelPipelineFactory implements ChannelPipelineFactory, ExternalResourceReleasable {
+public abstract class AbstractChannelPipelineFactory implements ChannelPipelineFactory {
     public static final int MAX_LINE_LENGTH = 8192;
 
     protected final ConnectionLimitUpstreamHandler connectionLimitHandler;
     protected final ConnectionPerIpLimitUpstreamHandler connectionPerIpLimitHandler;
-    private final HashedWheelTimer timer = new HashedWheelTimer();
+    private final HashedWheelTimer timer;
     private final ChannelGroupHandler groupHandler;
     private final int timeout;
     private final ExecutionHandler eHandler;
     private final ChannelHandlerFactory frameHandlerFactory;
-    
-    public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup channels) {
-        this(timeout, maxConnections, maxConnectsPerIp, channels, null, new LineDelimiterBasedChannelHandlerFactory(MAX_LINE_LENGTH));
+
+    public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup channels,
+                                          HashedWheelTimer hashedWheelTimer) {
+        this(timeout, maxConnections, maxConnectsPerIp, channels, null,
+            new LineDelimiterBasedChannelHandlerFactory(MAX_LINE_LENGTH), hashedWheelTimer);
     }
     
-    public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup channels, ExecutionHandler eHandler,
-            ChannelHandlerFactory frameHandlerFactory) {
+    public AbstractChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup channels,
+                                          ExecutionHandler eHandler, ChannelHandlerFactory frameHandlerFactory,
+                                          HashedWheelTimer hashedWheelTimer) {
         this.connectionLimitHandler = new ConnectionLimitUpstreamHandler(maxConnections);
         this.connectionPerIpLimitHandler = new ConnectionPerIpLimitUpstreamHandler(maxConnectsPerIp);
         this.groupHandler = new ChannelGroupHandler(channels);
         this.timeout = timeout;
         this.eHandler = eHandler;
         this.frameHandlerFactory = frameHandlerFactory;
+        this.timer = hashedWheelTimer;
     }
     
     
@@ -98,12 +101,4 @@ public abstract class AbstractChannelPipelineFactory implements ChannelPipelineF
      */
     protected abstract ChannelUpstreamHandler createHandler();
 
-    
-    /*
-     * (non-Javadoc)
-     * @see org.jboss.netty.util.ExternalResourceReleasable#releaseExternalResources()
-     */
-    public void releaseExternalResources() {
-        timer.stop();
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
----------------------------------------------------------------------
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
index bc8269a..8039dc7 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractSSLAwareChannelPipelineFactory.java
@@ -25,6 +25,7 @@ import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
 import org.jboss.netty.handler.ssl.SslHandler;
+import org.jboss.netty.util.HashedWheelTimer;
 
 /**
  * Abstract base class for {@link ChannelPipeline} implementations which use TLS 
@@ -37,15 +38,15 @@ public abstract class AbstractSSLAwareChannelPipelineFactory extends AbstractCha
     private String[] enabledCipherSuites = null;
 
     public AbstractSSLAwareChannelPipelineFactory(int timeout,
-            int maxConnections, int maxConnectsPerIp, ChannelGroup group, ExecutionHandler eHandler,
-            ChannelHandlerFactory frameHandlerFactory) {
-        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler, frameHandlerFactory);
+                                                  int maxConnections, int maxConnectsPerIp, ChannelGroup group, ExecutionHandler eHandler,
+                                                  ChannelHandlerFactory frameHandlerFactory, HashedWheelTimer hashedWheelTimer) {
+        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler, frameHandlerFactory, hashedWheelTimer);
     }
 
     public AbstractSSLAwareChannelPipelineFactory(int timeout,
             int maxConnections, int maxConnectsPerIp, ChannelGroup group, String[] enabledCipherSuites, ExecutionHandler eHandler,
-            ChannelHandlerFactory frameHandlerFactory) {
-        this(timeout, maxConnections, maxConnectsPerIp, group, eHandler, frameHandlerFactory);
+            ChannelHandlerFactory frameHandlerFactory, HashedWheelTimer hashedWheelTimer) {
+        this(timeout, maxConnections, maxConnectsPerIp, group, eHandler, frameHandlerFactory, hashedWheelTimer);
         
         // We need to copy the String array becuase of possible security issues.
         // See https://issues.apache.org/jira/browse/PROTOCOLS-18

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
----------------------------------------------------------------------
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
index faa4624..ed8dea6 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
@@ -20,6 +20,7 @@ package org.apache.james.protocols.netty;
 
 import java.util.Optional;
 
+import javax.inject.Inject;
 import javax.net.ssl.SSLContext;
 
 import org.apache.james.protocols.api.Encryption;
@@ -30,6 +31,7 @@ import org.jboss.netty.channel.ChannelUpstreamHandler;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
 import org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor;
+import org.jboss.netty.util.HashedWheelTimer;
 
 import com.google.common.base.Preconditions;
 
@@ -39,32 +41,33 @@ import com.google.common.base.Preconditions;
  */
 public class NettyServer extends AbstractAsyncServer {
 
-    public static Builder builder() {
-        return new Builder();
-    }
+    public static class Factory {
+
+        private final HashedWheelTimer hashedWheelTimer;
 
-    public static class Builder {
         private Protocol protocol;
         private Optional<Encryption> secure;
         private Optional<ChannelHandlerFactory> frameHandlerFactory;
 
-        private Builder() {
+        @Inject
+        public Factory(HashedWheelTimer hashedWheelTimer) {
+            this.hashedWheelTimer = hashedWheelTimer;
             secure = Optional.empty();
             frameHandlerFactory = Optional.empty();
         }
 
-        public Builder protocol(Protocol protocol) {
+        public Factory protocol(Protocol protocol) {
             Preconditions.checkNotNull(protocol, "'protocol' is mandatory");
             this.protocol = protocol;
             return this;
         }
 
-        public Builder secure(Encryption secure) {
+        public Factory secure(Encryption secure) {
             this.secure = Optional.ofNullable(secure);
             return this;
         }
 
-        public Builder frameHandlerFactory(ChannelHandlerFactory frameHandlerFactory) {
+        public Factory frameHandlerFactory(ChannelHandlerFactory frameHandlerFactory) {
             this.frameHandlerFactory = Optional.ofNullable(frameHandlerFactory);
             return this;
         }
@@ -73,14 +76,16 @@ public class NettyServer extends AbstractAsyncServer {
             Preconditions.checkState(protocol != null, "'protocol' is mandatory");
             return new NettyServer(protocol, 
                     secure.orElse(null),
-                    frameHandlerFactory.orElse(new LineDelimiterBasedChannelHandlerFactory(AbstractChannelPipelineFactory.MAX_LINE_LENGTH)));
+                    frameHandlerFactory.orElse(new LineDelimiterBasedChannelHandlerFactory(AbstractChannelPipelineFactory.MAX_LINE_LENGTH)),
+                    hashedWheelTimer);
         }
     }
 
-    protected final Protocol protocol;
     protected final Encryption secure;
+    protected final Protocol protocol;
     private final ChannelHandlerFactory frameHandlerFactory;
-    
+    private final HashedWheelTimer hashedWheelTimer;
+
     private ExecutionHandler eHandler;
     
     private ChannelUpstreamHandler coreHandler;
@@ -89,10 +94,11 @@ public class NettyServer extends AbstractAsyncServer {
 
     private int maxCurConnectionsPerIP;
    
-    private NettyServer(Protocol protocol, Encryption secure, ChannelHandlerFactory frameHandlerFactory) {
+    private NettyServer(Protocol protocol, Encryption secure, ChannelHandlerFactory frameHandlerFactory, HashedWheelTimer hashedWheelTimer) {
         this.protocol = protocol;
         this.secure = secure;
         this.frameHandlerFactory = frameHandlerFactory;
+        this.hashedWheelTimer = hashedWheelTimer;
     }
     
     protected ExecutionHandler createExecutionHandler(int size) {
@@ -151,7 +157,14 @@ public class NettyServer extends AbstractAsyncServer {
     @Override
     protected ChannelPipelineFactory createPipelineFactory(ChannelGroup group) {
 
-        return new AbstractSSLAwareChannelPipelineFactory(getTimeout(), maxCurConnections, maxCurConnectionsPerIP, group, eHandler, getFrameHandlerFactory()) {
+        return new AbstractSSLAwareChannelPipelineFactory(
+            getTimeout(),
+            maxCurConnections,
+            maxCurConnectionsPerIP,
+            group,
+            eHandler,
+            getFrameHandlerFactory(),
+            hashedWheelTimer) {
 
             @Override
             protected ChannelUpstreamHandler createHandler() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/netty/src/test/java/org/apache/james/protocols/netty/NettyServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/netty/src/test/java/org/apache/james/protocols/netty/NettyServerTest.java b/protocols/netty/src/test/java/org/apache/james/protocols/netty/NettyServerTest.java
index facb52f..2b1d9cd 100644
--- a/protocols/netty/src/test/java/org/apache/james/protocols/netty/NettyServerTest.java
+++ b/protocols/netty/src/test/java/org/apache/james/protocols/netty/NettyServerTest.java
@@ -25,6 +25,9 @@ import javax.net.ssl.SSLContext;
 
 import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -34,24 +37,35 @@ public class NettyServerTest {
     @Rule
     public ExpectedException expectedException = ExpectedException.none();
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
     @Test
     public void protocolShouldThrowWhenProtocolIsNull() {
         expectedException.expect(NullPointerException.class);
-        NettyServer.builder()
-            .protocol(null);
+        new NettyServer.Factory(hashedWheelTimer).protocol(null);
     }
 
     @Test
     public void buildShouldThrowWhenProtocolIsNotGiven() {
         expectedException.expect(IllegalStateException.class);
-        NettyServer.builder()
+        new NettyServer.Factory(hashedWheelTimer)
             .build();
     }
 
     @Test
     public void buildShouldWorkWhenProtocolIsGiven() {
         Protocol protocol = mock(Protocol.class);
-        NettyServer.builder()
+        new NettyServer.Factory(hashedWheelTimer)
             .protocol(protocol)
             .build();
     }
@@ -61,7 +75,7 @@ public class NettyServerTest {
         Protocol protocol = mock(Protocol.class);
         Encryption encryption = Encryption.createStartTls(SSLContext.getDefault());
         ChannelHandlerFactory channelHandlerFactory = mock(ChannelHandlerFactory.class);
-        NettyServer.builder()
+        new NettyServer.Factory(hashedWheelTimer)
             .protocol(protocol)
             .secure(encryption)
             .frameHandlerFactory(channelHandlerFactory)

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
index b3bf155..3d85f27 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3SServerTest.java
@@ -25,15 +25,30 @@ import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.pop3.AbstractPOP3SServerTest;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 
 public class NettyPOP3SServerTest extends AbstractPOP3SServerTest {
 
     private static final String LOCALHOST_IP = "127.0.0.1";
     private static final int RANDOM_PORT = 0;
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
     @Override
     protected ProtocolServer createEncryptedServer(Protocol protocol, Encryption enc) {
-        NettyServer server = NettyServer.builder()
+        NettyServer server = new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .secure(enc)
                 .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3ServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3ServerTest.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3ServerTest.java
index 9a49dd0..052214a 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3ServerTest.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyPOP3ServerTest.java
@@ -24,15 +24,31 @@ import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.pop3.AbstractPOP3ServerTest;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 
 public class NettyPOP3ServerTest extends AbstractPOP3ServerTest {
 
     private static final String LOCALHOST_IP = "127.0.0.1";
     private static final int RANDOM_PORT = 0;
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
+
     @Override
     protected ProtocolServer createServer(Protocol protocol) {
-        NettyServer server =  NettyServer.builder()
+        NettyServer server =  new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .build();
         server.setListenAddresses(new InetSocketAddress(LOCALHOST_IP, RANDOM_PORT));

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
index b6ec5ca..934952d 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/netty/NettyStartTlsPOP3ServerTest.java
@@ -25,12 +25,28 @@ import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.pop3.AbstractStartTlsPOP3ServerTest;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 
 public class NettyStartTlsPOP3ServerTest extends AbstractStartTlsPOP3ServerTest {
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
+
     @Override
     protected ProtocolServer createServer(Protocol protocol, InetSocketAddress address, Encryption enc) {
-        NettyServer server = NettyServer.builder()
+        NettyServer server = new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .secure(enc)
                 .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
index 2b90ec2..b14b568 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPSServerTest.java
@@ -25,6 +25,9 @@ import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.smtp.AbstractSMTPSServerTest;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 
 /**
  * Integration tests which use netty implementation
@@ -36,9 +39,21 @@ public class NettySMTPSServerTest extends AbstractSMTPSServerTest {
     private static final String LOCALHOST_IP = "127.0.0.1";
     private static final int RANDOM_PORT = 0;
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
     @Override
     protected ProtocolServer createEncryptedServer(Protocol protocol, Encryption enc) {
-        NettyServer server = NettyServer.builder()
+        NettyServer server = new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .secure(enc)
                 .build();

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
index 8ae4b0a..3adeb44 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettySMTPServerTest.java
@@ -24,6 +24,9 @@ import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.ProtocolServer;
 import org.apache.james.protocols.netty.NettyServer;
 import org.apache.james.protocols.smtp.AbstractSMTPServerTest;
+import org.jboss.netty.util.HashedWheelTimer;
+import org.junit.After;
+import org.junit.Before;
 
 /**
  * Integration tests which use netty implementation
@@ -35,9 +38,22 @@ public class NettySMTPServerTest extends AbstractSMTPServerTest {
     private static final String LOCALHOST_IP = "127.0.0.1";
     private static final int RANDOM_PORT = 0;
 
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
+
+    @After
+    public void teardown() {
+        hashedWheelTimer.stop();
+    }
+
+
     @Override
     protected ProtocolServer createServer(Protocol protocol) {
-        NettyServer server = NettyServer.builder()
+        NettyServer server = new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .build();
         server.setListenAddresses(new InetSocketAddress(LOCALHOST_IP, RANDOM_PORT));

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
index 996f69b..8ef21c1 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
@@ -52,7 +52,9 @@ import org.apache.james.protocols.smtp.SMTPProtocol;
 import org.apache.james.protocols.smtp.SMTPProtocolHandlerChain;
 import org.apache.james.protocols.smtp.utils.TestMessageHook;
 import org.assertj.core.api.AssertDelegateTarget;
+import org.jboss.netty.util.HashedWheelTimer;
 import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
 
 import com.sun.mail.smtp.SMTPTransport;
@@ -64,6 +66,12 @@ public class NettyStartTlsSMTPServerTest {
 
     private SMTPSClient smtpsClient = null;
     private ProtocolServer server = null;
+    private HashedWheelTimer hashedWheelTimer;
+
+    @Before
+    public void setup() {
+        hashedWheelTimer = new HashedWheelTimer();
+    }
 
     @After
     public void tearDown() throws Exception {
@@ -73,11 +81,11 @@ public class NettyStartTlsSMTPServerTest {
         if (server != null) {
             server.unbind();
         }
+        hashedWheelTimer.stop();
     }
 
-
     private ProtocolServer createServer(Protocol protocol, Encryption enc) {
-        NettyServer server = NettyServer.builder()
+        NettyServer server = new NettyServer.Factory(hashedWheelTimer)
                 .protocol(protocol)
                 .secure(enc)
                 .frameHandlerFactory(new AllButStartTlsLineChannelHandlerFactory(AbstractChannelPipelineFactory.MAX_LINE_LENGTH))

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/container/guice/guice-common/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/pom.xml b/server/container/guice/guice-common/pom.xml
index 45f6696..d36ffdc 100644
--- a/server/container/guice/guice-common/pom.xml
+++ b/server/container/guice/guice-common/pom.xml
@@ -90,6 +90,10 @@
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
+            <artifactId>james-server-guice-netty</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
             <artifactId>james-server-guice-pop</artifactId>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/container/guice/guice-common/src/main/java/org/apache/james/modules/protocols/ProtocolHandlerModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/protocols/ProtocolHandlerModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/protocols/ProtocolHandlerModule.java
index 10d20d2..51f5bf9 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/protocols/ProtocolHandlerModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/protocols/ProtocolHandlerModule.java
@@ -28,6 +28,7 @@ public class ProtocolHandlerModule extends AbstractModule {
 
     @Override
     protected void configure() {
+        install(new NettyServerModule());
         bind(ProtocolHandlerLoader.class).to(GuiceProtocolHandlerLoader.class);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/container/guice/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/pom.xml b/server/container/guice/pom.xml
index 61efd7b..4b1dda7 100644
--- a/server/container/guice/pom.xml
+++ b/server/container/guice/pom.xml
@@ -51,6 +51,7 @@
         <module>protocols/jmap</module>
         <module>protocols/lmtp</module>
         <module>protocols/managedsieve</module>
+        <module>protocols/netty</module>
         <module>protocols/pop</module>
         <module>protocols/smtp</module>
         <module>protocols/webadmin</module>

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/container/guice/protocols/netty/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/protocols/netty/pom.xml b/server/container/guice/protocols/netty/pom.xml
new file mode 100644
index 0000000..ceea4b1
--- /dev/null
+++ b/server/container/guice/protocols/netty/pom.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.james</groupId>
+        <artifactId>james-server-guice</artifactId>
+        <version>3.1.0-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>james-server-guice-netty</artifactId>
+
+    <name>Apache James :: Server :: Guice :: Netty</name>
+    <description>Netty modules for Guice implementation of James server</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>james-server-guice-configuration</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}.protocols</groupId>
+            <artifactId>protocols-netty</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.inject</groupId>
+            <artifactId>guice</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.google.inject.extensions</groupId>
+            <artifactId>guice-multibindings</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/container/guice/protocols/netty/src/main/java/org/apache/james/modules/protocols/NettyServerModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/protocols/netty/src/main/java/org/apache/james/modules/protocols/NettyServerModule.java b/server/container/guice/protocols/netty/src/main/java/org/apache/james/modules/protocols/NettyServerModule.java
new file mode 100644
index 0000000..92a12e9
--- /dev/null
+++ b/server/container/guice/protocols/netty/src/main/java/org/apache/james/modules/protocols/NettyServerModule.java
@@ -0,0 +1,45 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.modules.protocols;
+
+import javax.annotation.PreDestroy;
+
+import org.jboss.netty.util.HashedWheelTimer;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Singleton;
+
+public class NettyServerModule extends AbstractModule {
+
+    @Override
+    protected void configure() {
+        bind(HashedWheelTimer.class).to(DisposableHashedWheelTimer.class);
+    }
+
+    @Singleton
+    static class DisposableHashedWheelTimer extends HashedWheelTimer {
+
+        @PreDestroy
+        public void dispose() {
+            stop();
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
index 322c4c6..f98eae7 100644
--- a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
+++ b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml
@@ -98,6 +98,8 @@
     ===========================================================================
     -->
 
+    <bean class="org.jboss.netty.util.HashedWheelTimer"/>
+
     <!-- SMTP Server -->
     <import resource="classpath:META-INF/spring/smtpserver-context.xml"/>
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
index 01bf9d8..d96a213 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
@@ -31,6 +31,7 @@ import org.apache.james.imap.encode.ImapEncoder;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.lib.netty.AbstractServerFactory;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class IMAPServerFactory extends AbstractServerFactory {
 
@@ -39,14 +40,17 @@ public class IMAPServerFactory extends AbstractServerFactory {
     protected final ImapEncoder encoder;
     protected final ImapProcessor processor;
     protected final ImapMetrics imapMetrics;
+    private final HashedWheelTimer hashedWheelTimer;
 
     @Inject
-    public IMAPServerFactory(FileSystem fileSystem, ImapDecoder decoder, ImapEncoder encoder, ImapProcessor processor, MetricFactory metricFactory) {
+    public IMAPServerFactory(FileSystem fileSystem, ImapDecoder decoder, ImapEncoder encoder, ImapProcessor processor,
+                             MetricFactory metricFactory, HashedWheelTimer hashedWheelTimer) {
         this.fileSystem = fileSystem;
         this.decoder = decoder;
         this.encoder = encoder;
         this.processor = processor;
         this.imapMetrics = new ImapMetrics(metricFactory);
+        this.hashedWheelTimer = hashedWheelTimer;
     }
 
     protected IMAPServer createServer() {
@@ -62,6 +66,7 @@ public class IMAPServerFactory extends AbstractServerFactory {
         for (HierarchicalConfiguration serverConfig: configs) {
             IMAPServer server = createServer();
             server.setFileSystem(fileSystem);
+            server.setHashWheelTimer(hashedWheelTimer);
             server.configure(serverConfig);
             servers.add(server);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
index 5b6a12a..32893fc 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/OioIMAPServerFactory.java
@@ -25,12 +25,14 @@ 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.metrics.api.MetricFactory;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class OioIMAPServerFactory extends IMAPServerFactory {
 
     @Inject
-    public OioIMAPServerFactory(FileSystem fileSystem, ImapDecoder decoder, ImapEncoder encoder, ImapProcessor processor, MetricFactory metricFactory) {
-        super(fileSystem, decoder, encoder, processor, metricFactory);
+    public OioIMAPServerFactory(FileSystem fileSystem, ImapDecoder decoder, ImapEncoder encoder, ImapProcessor processor,
+                                MetricFactory metricFactory, HashedWheelTimer hashedWheelTimer) {
+        super(fileSystem, decoder, encoder, processor, metricFactory, hashedWheelTimer);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
index 3599526..5eed459 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
@@ -51,6 +51,7 @@ import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
+import org.jboss.netty.util.HashedWheelTimer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -86,6 +87,7 @@ public abstract class AbstractConfigurableAsyncServer extends AbstractAsyncServe
     private String x509Algorithm = defaultX509algorithm;
 
     private FileSystem fileSystem;
+    private HashedWheelTimer timer;
 
     private boolean enabled;
 
@@ -123,6 +125,11 @@ public abstract class AbstractConfigurableAsyncServer extends AbstractAsyncServe
         this.fileSystem = filesystem;
     }
 
+    @Inject
+    public void setHashWheelTimer(HashedWheelTimer timer) {
+        this.timer = timer;
+    }
+
     protected void registerMBean() {
 
         try {
@@ -563,7 +570,8 @@ public abstract class AbstractConfigurableAsyncServer extends AbstractAsyncServe
     
     @Override
     protected ChannelPipelineFactory createPipelineFactory(ChannelGroup group) {
-        return new AbstractExecutorAwareChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP, group, enabledCipherSuites, getExecutionHandler(), getFrameHandlerFactory()) {
+        return new AbstractExecutorAwareChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP, group,
+            enabledCipherSuites, getExecutionHandler(), getFrameHandlerFactory(), timer) {
             @Override
             protected SSLContext getSSLContext() {
                 if (encryption == null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
index 4fb1541..2bf9d51 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractExecutorAwareChannelPipelineFactory.java
@@ -24,6 +24,7 @@ import org.apache.james.protocols.netty.HandlerConstants;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
+import org.jboss.netty.util.HashedWheelTimer;
 
 /**
  * Abstract base class which should get used if you MAY need an {@link ExecutionHandler}
@@ -32,12 +33,18 @@ import org.jboss.netty.handler.execution.ExecutionHandler;
  */
 public abstract class AbstractExecutorAwareChannelPipelineFactory extends AbstractSSLAwareChannelPipelineFactory {
 
-    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup group, ExecutionHandler eHandler, ChannelHandlerFactory frameHandlerFactory) {
-        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler, frameHandlerFactory);
+    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp,
+                                                       ChannelGroup group, ExecutionHandler eHandler,
+                                                       ChannelHandlerFactory frameHandlerFactory,
+                                                       HashedWheelTimer hashedWheelTimer) {
+        super(timeout, maxConnections, maxConnectsPerIp, group, eHandler, frameHandlerFactory, hashedWheelTimer);
     }
 
-    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp, ChannelGroup group, String[] enabledCipherSuites, ExecutionHandler eHandler, ChannelHandlerFactory frameHandlerFactory) {
-        super(timeout, maxConnections, maxConnectsPerIp, group, enabledCipherSuites, eHandler, frameHandlerFactory);
+    public AbstractExecutorAwareChannelPipelineFactory(int timeout, int maxConnections, int maxConnectsPerIp,
+                                                       ChannelGroup group, String[] enabledCipherSuites,
+                                                       ExecutionHandler eHandler, ChannelHandlerFactory frameHandlerFactory,
+                                                       HashedWheelTimer hashedWheelTimer) {
+        super(timeout, maxConnections, maxConnectsPerIp, group, enabledCipherSuites, eHandler, frameHandlerFactory, hashedWheelTimer);
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
index 9d1ec1b..ecf4040 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
@@ -29,18 +29,22 @@ import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.lib.netty.AbstractServerFactory;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class LMTPServerFactory extends AbstractServerFactory {
 
     private final ProtocolHandlerLoader loader;
     private final FileSystem fileSystem;
     protected final LMTPMetricsImpl lmtpMetrics;
+    private final HashedWheelTimer hashedWheelTimer;
 
     @Inject
-    public LMTPServerFactory(ProtocolHandlerLoader loader, FileSystem fileSystem, MetricFactory metricFactory) {
+    public LMTPServerFactory(ProtocolHandlerLoader loader, FileSystem fileSystem, MetricFactory metricFactory,
+                             HashedWheelTimer hashedWheelTimer) {
         this.loader = loader;
         this.fileSystem = fileSystem;
         this.lmtpMetrics = new LMTPMetricsImpl(metricFactory);
+        this.hashedWheelTimer = hashedWheelTimer;
     }
 
     protected LMTPServer createServer() {
@@ -55,6 +59,7 @@ public class LMTPServerFactory extends AbstractServerFactory {
         for (HierarchicalConfiguration serverConfig: configs) {
             LMTPServer server = createServer();
             server.setFileSystem(fileSystem);
+            server.setHashWheelTimer(hashedWheelTimer);
             server.setProtocolHandlerLoader(loader);
             server.configure(serverConfig);
             servers.add(server);

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/OioLMTPServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/OioLMTPServerFactory.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/OioLMTPServerFactory.java
index 605b9ec..7775024 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/OioLMTPServerFactory.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/OioLMTPServerFactory.java
@@ -21,11 +21,13 @@ package org.apache.james.lmtpserver.netty;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class OioLMTPServerFactory extends LMTPServerFactory {
 
-    public OioLMTPServerFactory(ProtocolHandlerLoader loader, FileSystem fileSystem, MetricFactory metricFactory) {
-        super(loader, fileSystem, metricFactory);
+    public OioLMTPServerFactory(ProtocolHandlerLoader loader, FileSystem fileSystem, MetricFactory metricFactory,
+                                HashedWheelTimer hashedWheelTimer) {
+        super(loader, fileSystem, metricFactory, hashedWheelTimer);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
index fd6e9f7..f77934f 100644
--- a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
+++ b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
@@ -35,6 +35,7 @@ import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.lib.netty.AbstractServerFactory;
 import org.apache.james.sieverepository.api.SieveRepository;
 import org.apache.james.user.api.UsersRepository;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class ManageSieveServerFactory extends AbstractServerFactory {
 
@@ -43,6 +44,7 @@ public class ManageSieveServerFactory extends AbstractServerFactory {
     private SieveRepository sieveRepository;
     private UsersRepository usersRepository;
     private Parser sieveParser;
+    private HashedWheelTimer hashedWheelTimer;
 
     @Inject
     public void setFileSystem(FileSystem fileSystem) {
@@ -64,6 +66,12 @@ public class ManageSieveServerFactory extends AbstractServerFactory {
         this.sieveParser = sieveParser;
     }
 
+    @Inject
+    public void setHashedWheelTimer(HashedWheelTimer hashedWheelTimer) {
+        this.hashedWheelTimer = hashedWheelTimer;
+    }
+
+
     @PostConstruct
     public void init() throws Exception {
         manageSieveProcessor = new ManageSieveProcessor(new ArgumentParser(new CoreProcessor(sieveRepository, usersRepository, sieveParser)));
@@ -78,6 +86,7 @@ public class ManageSieveServerFactory extends AbstractServerFactory {
         for (HierarchicalConfiguration serverConfig: configs) {
             ManageSieveServer server = new ManageSieveServer(8000, manageSieveProcessor);
             server.setFileSystem(fileSystem);
+            server.setHashWheelTimer(hashedWheelTimer);
             server.configure(serverConfig);
             servers.add(server);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
index b03718f..92e66dd 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
@@ -10,12 +10,14 @@ import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.lib.netty.AbstractServerFactory;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class POP3ServerFactory extends AbstractServerFactory {
 
     private ProtocolHandlerLoader loader;
     private FileSystem fileSystem;
-    
+    private HashedWheelTimer hashedWheelTimer;
+
     @Inject
     public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) {
         this.loader = loader;
@@ -26,6 +28,11 @@ public class POP3ServerFactory extends AbstractServerFactory {
         this.fileSystem = filesystem;
     }
 
+    @Inject
+    public void setHashedWheelTimer(HashedWheelTimer hashedWheelTimer) {
+        this.hashedWheelTimer = hashedWheelTimer;
+    }
+
     protected POP3Server createServer() {
        return new POP3Server();
     }
@@ -40,6 +47,7 @@ public class POP3ServerFactory extends AbstractServerFactory {
             POP3Server server = createServer();
             server.setProtocolHandlerLoader(loader);
             server.setFileSystem(fileSystem);
+            server.setHashWheelTimer(hashedWheelTimer);
             server.configure(serverConfig);
             servers.add(server);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
index 780286d..19993d5 100644
--- a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
+++ b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
@@ -55,6 +55,7 @@ import org.apache.james.protocols.lib.mock.MockProtocolHandlerLoader;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.user.memory.MemoryUsersRepository;
+import org.jboss.netty.util.HashedWheelTimer;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -73,9 +74,11 @@ public class POP3ServerTest {
             + "Subject: test\r\n\r\n"
             + "Body Text POP3ServerTest.setupTestMails\r\n").getBytes();
     private POP3Server pop3Server;
+    private HashedWheelTimer hashedWheelTimer;
 
     @Before
     public void setUp() throws Exception {
+        hashedWheelTimer = new HashedWheelTimer();
         setUpServiceManager();
         setUpPOP3Server();
         pop3Configuration = new POP3TestConfiguration();
@@ -95,6 +98,7 @@ public class POP3ServerTest {
         }
         protocolHandlerChain.dispose();
         pop3Server.destroy();
+        hashedWheelTimer.stop();
     }
 
     @Test
@@ -699,6 +703,7 @@ public class POP3ServerTest {
     protected void setUpPOP3Server() {
         pop3Server = createPOP3Server();
         pop3Server.setFileSystem(fileSystem);
+        pop3Server.setHashWheelTimer(hashedWheelTimer);
         pop3Server.setProtocolHandlerLoader(protocolHandlerChain);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/OioSMTPServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/OioSMTPServerFactory.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/OioSMTPServerFactory.java
index 5ad90de..44d8b80 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/OioSMTPServerFactory.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/OioSMTPServerFactory.java
@@ -23,11 +23,13 @@ import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class OioSMTPServerFactory extends SMTPServerFactory {
 
-    public OioSMTPServerFactory(DNSService dns, ProtocolHandlerLoader loader, FileSystem fileSystem, MetricFactory metricFactory) {
-        super(dns, loader, fileSystem, metricFactory);
+    public OioSMTPServerFactory(DNSService dns, ProtocolHandlerLoader loader, FileSystem fileSystem,
+                                MetricFactory metricFactory, HashedWheelTimer hashedWheelTimer) {
+        super(dns, loader, fileSystem, metricFactory, hashedWheelTimer);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
index 5a07b21..35fc881 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
@@ -31,6 +31,7 @@ import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.lib.netty.AbstractServerFactory;
+import org.jboss.netty.util.HashedWheelTimer;
 
 public class SMTPServerFactory extends AbstractServerFactory {
 
@@ -38,13 +39,16 @@ public class SMTPServerFactory extends AbstractServerFactory {
     protected final ProtocolHandlerLoader loader;
     protected final FileSystem fileSystem;
     protected final SmtpMetricsImpl smtpMetrics;
+    private final HashedWheelTimer hashedWheelTimer;
 
     @Inject
-    public SMTPServerFactory(DNSService dns, ProtocolHandlerLoader loader, FileSystem fileSystem, MetricFactory metricFactory) {
+    public SMTPServerFactory(DNSService dns, ProtocolHandlerLoader loader, FileSystem fileSystem,
+                             MetricFactory metricFactory, HashedWheelTimer hashedWheelTimer) {
         this.dns = dns;
         this.loader = loader;
         this.fileSystem = fileSystem;
         this.smtpMetrics = new SmtpMetricsImpl(metricFactory);
+        this.hashedWheelTimer = hashedWheelTimer;
     }
 
     protected SMTPServer createServer() {
@@ -62,6 +66,7 @@ public class SMTPServerFactory extends AbstractServerFactory {
             server.setDnsService(dns);
             server.setProtocolHandlerLoader(loader);
             server.setFileSystem(fileSystem);
+            server.setHashWheelTimer(hashedWheelTimer);
             server.configure(serverConfig);
             servers.add(server);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
index 35a5ebf..366ac25 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
@@ -65,6 +65,7 @@ import org.apache.james.smtpserver.netty.SmtpMetricsImpl;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.memory.MemoryUsersRepository;
 import org.apache.mailet.Mail;
+import org.jboss.netty.util.HashedWheelTimer;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -162,6 +163,7 @@ public class SMTPServerTest {
     private static final Logger LOGGER = LoggerFactory.getLogger(SMTPServerTest.class);
 
     protected SMTPTestConfiguration smtpConfiguration;
+    protected HashedWheelTimer hashedWheelTimer;
     protected final MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
     protected AlterableDNSServer dnsServer;
     protected MockMailRepositoryStore store;
@@ -179,6 +181,7 @@ public class SMTPServerTest {
         // slf4j can't set programmatically any log level. It's just a facade
         // log.setLevel(SimpleLog.LOG_LEVEL_ALL);
         smtpConfiguration = new SMTPTestConfiguration();
+        hashedWheelTimer = new HashedWheelTimer();
         setUpSMTPServer();
     }
 
@@ -193,6 +196,7 @@ public class SMTPServerTest {
         smtpServer = createSMTPServer(smtpMetrics);
         smtpServer.setDnsService(dnsServer);
         smtpServer.setFileSystem(fileSystem);
+        smtpServer.setHashWheelTimer(hashedWheelTimer);
         smtpServer.setProtocolHandlerLoader(chain);
     }
 
@@ -224,7 +228,7 @@ public class SMTPServerTest {
 
         MemoryRecipientRewriteTable rewriteTable = new MemoryRecipientRewriteTable();
         chain.put("recipientrewritetable", RecipientRewriteTable.class, rewriteTable);
-    
+
         queueFactory = new MemoryMailQueueFactory(new RawMailQueueItemDecoratorFactory());
         queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
         chain.put("mailqueuefactory", MailQueueFactory.class, queueFactory);
@@ -307,6 +311,7 @@ public class SMTPServerTest {
     @After
     public void tearDown() throws Exception {
         smtpServer.destroy();
+        hashedWheelTimer.stop();
     }
 
     public void verifyLastMail(String sender, String recipient, MimeMessage msg) throws Exception {

http://git-wip-us.apache.org/repos/asf/james-project/blob/73a320b0/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
index 3d4eea9..0db323d 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
@@ -81,7 +81,7 @@ public class ValidRcptMXTest {
 
         ValidRcptMX handler = new ValidRcptMX();
         handler.setDNSService(dns);
-        handler.setBannedNetworks(ImmutableList.of(bannedAddress ), dns);
+        handler.setBannedNetworks(ImmutableList.of(bannedAddress), dns);
         int rCode = handler.doRcpt(session, null, mailAddress).getResult();
 
         assertEquals("Reject", rCode, HookReturnCode.DENY);


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[15/20] james-project git commit: MAILBOX-315 Improve speed for First Unseen DAO

Posted by bt...@apache.org.
MAILBOX-315 Improve speed for First Unseen DAO


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/8d947819
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/8d947819
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/8d947819

Branch: refs/heads/master
Commit: 8d9478192145f2588e9cf2cccb5fb3d9564c0518
Parents: 3841192
Author: benwa <bt...@linagora.com>
Authored: Mon Oct 30 13:02:33 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:28 2018 +0700

----------------------------------------------------------------------
 .../james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java   | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/8d947819/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
index 1c885ac..a911b3e 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
@@ -51,7 +51,6 @@ public class CassandraFirstUnseenDAOTest {
 
     @After
     public void tearDown() {
-        cassandra.clearAllTables();
         cassandra.close();
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[10/20] james-project git commit: JAMES-2315 Propose some related improvements to the contribute.xml document

Posted by bt...@apache.org.
JAMES-2315 Propose some related improvements to the contribute.xml document

We should re-use main page "Contribute" information.

 - Introduction of contribution suggestions
 - Add Security section
 - Add "Be involved in the community" section
 - Reorder section:
   - Code patches should come last as we don't really want people to do that.
   - Put documentation before contributing code. That emphasis the fact that we do care about non-coding contributions.

Light "Coding standard" enhancements:
 - Speak about test.
 - Mention the newly introduced checkstyle.


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/81382bc0
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/81382bc0
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/81382bc0

Branch: refs/heads/master
Commit: 81382bc04f706f9d7396b1aedba0fbe638f8565f
Parents: f409e0d
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 16:27:47 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:35:51 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html      |  17 ++-
 src/site/xdoc/contribute.xml | 238 ++++++++++++++++++++------------------
 2 files changed, 135 insertions(+), 120 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/81382bc0/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index a45d902..a105762 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -201,16 +201,16 @@ WHAT WILL YOU TRY:</b><br>
           <section>
             <p class="align-left">
               James is a project that lives from the contributions of its community.<br/>
-              <b>Anyone can contribute!</b> That's right, we always want to hear from people with contributions to the code, the documentation, the website, and bug reports. <br>
+              <b>Anyone can contribute!</b> That's right, we always want to hear from people with contributions to the code, the documentation, the website, and bug reports.
               We more than welcome non-coding contributions.<br>
-            Here are the different ways of contributing:
+              Here are different ways to contribute:
             </p>
             <ul class="no-padding no-margin">
               <li class="post-template center-icon">
                 <a href="http://www.apache.org/licenses/"><span class="icon fa-copyright "></span></a>
                 <span class="details">
                   <b>Licenses:</b>
-                  <br/>All contributions to the James project are made under the <a class="comm" alt="License" href="http://www.apache.org/licenses/">Apache license 2.0</a><br/>
+                  <br/>All contributions to the James project are made under the <a class="comm" alt="License" href="http://www.apache.org/licenses/">Apache license 2.0</a>
                 </span>
               </li>
               <li class="post-template center-icon">
@@ -241,10 +241,9 @@ WHAT WILL YOU TRY:</b><br>
                 <span class="details">
                   <b>How to contribute code changes:</b>
                   <br/>Read our sources from the <a href="git://git.apache.org/james-project.git" class="comm" alt="James Git sources">Apache Git</a>.<br/>
-                  You can also come and interact with us on <a href="https://github.com/apache/james-project" class="comm" alt="James on GitHub">GitHub</a>.<br/>
-                  On <a href="https://github.com/apache/james-project" class="comm" alt="James on GitHub">GitHub</a> you can share your work by creating a pull request.<br/>
-                  Alternatively, you can attach a patch to the JIRA issue.<br/>
-                  After a review, and exchanges with you, a Apache James developer will integrate the changes to the code base once it matches our policies.
+                  You can also come and interact with us on <a href="https://github.com/apache/james-project" class="comm" alt="James on GitHub">GitHub</a> and share your work by creating a pull request.<br/>
+                  Alternatively, you can attach a <a  class="comm" alt="Patch" href="http://james.apache.org/contribute.html#Code_Patches">patch</a> to the JIRA issue.<br/>
+                  After a review, and exchanges with you, an Apache James developer will integrate the changes once it matches our policies.
                 </span>
               </li>
 
@@ -276,8 +275,7 @@ WHAT WILL YOU TRY:</b><br>
                   <b>Additional information:</b><br/>
                   The <a class="comm" alt="More details about contributing" href="http://james.apache.org/contribute.html">contribute</a> page contains more details about the various details exposed above.<br/>
                   To match the quality expectations of our community, we enforce <a class="comm" alt="Coding Standards" href="http://james.apache.org/contribute.html#Coding_Standards">coding standards</a>.<br/>
-                  We rely on <a class="comm" alt="checkstyle" href="https://github.com/apache/james-project/blob/master/checkstyle.xml">checkstyle</a> for style checking.<br/>
-                  Amongst other common practices: every file should start with the Apache License, code changes should be covered by tests. . .
+                  We rely on <a class="comm" alt="checkstyle" href="https://github.com/apache/james-project/blob/master/checkstyle.xml">checkstyle</a> for style checking.
                 </span>
               </li>
             </ul>
@@ -355,6 +353,7 @@ WHAT WILL YOU TRY:</b><br>
           <li class="no-padding"><a href="#first">Get Started</a></li>
           <li class="no-padding"><a href="#posts">Last Posts</a></li>
           <li class="no-padding"><a href="#second">Community</a></li>
+          <li class="no-padding"><a href="#third">Contribute</a></li>
           <li class="no-padding"><a href="https://james.apache.org/"><span class="fa fa-external-link"></span> Documentation</a></li>
         </ul>
       </section>

http://git-wip-us.apache.org/repos/asf/james-project/blob/81382bc0/src/site/xdoc/contribute.xml
----------------------------------------------------------------------
diff --git a/src/site/xdoc/contribute.xml b/src/site/xdoc/contribute.xml
index 4a89203..25e5a0c 100644
--- a/src/site/xdoc/contribute.xml
+++ b/src/site/xdoc/contribute.xml
@@ -28,7 +28,8 @@
 
     <section name="Introduction">
       <p>
-        <b>Anyone can contribute</b>
+        James is a project that lives from the contributions of its community.<br/>
+        <b>Anyone can contribute.</b>
         <br />
         That's right, we always want to hear from people with
         contributions to the code,
@@ -45,6 +46,17 @@
       </p>
     </section>
 
+    <section name="Be involved in the community">
+      <p>
+        An easy start is to be involved in the community.<br/>
+        Share your experiences with James, your needs, your enhancements proposition via the
+        <a href="https://james.apache.org/mail.html">mailing lists</a>, on <a href="https://gitter.im/apache/james-project">
+        gitter</a>, or on our <a href="https://issues.apache.org/jira/browse/JAMES">Bug Tracker</a>.<br/>
+
+        Don't hesitate to write articles and blog posts. Use your preferred media to spread the love!
+      </p>
+    </section>
+
     <section name="Reporting Bugs">
       <p>
         Many improvements come as a direct result of bug reports.
@@ -81,112 +93,93 @@
         <br />
         Then, you have to click on Create to submit your bug.
       </p>
-    </section>
-
-    <section name="How to contribute to the code?">
-      <p>
-        Clone the source code of the project from its 
-        <a href="https://github.com/apache/james-project">Github</a>
-        or its <a href="git://git.apache.org/james-project.git">apache git repository</a>
-        <br />
-        Create your branch and name it with the JIRA ticket number.
-        Create a Pull Request with your branch name 
-        and prefix its different commits with the same name.
-        <br />
-      </p>
-    </section>
 
-    <section name="Code Patches">
-      <p>
-        Patches should be attached to the corresponding JIRA issue.
-        <br />
-        <b>Always</b>
-        use diff -u to generate patches, so we can apply them using
-        'patch'.
-        <br />
-
-         <br />
-        Make sure the patch only contains what is intended, your
-        checkout could be outdated.
-        <br />
-        Make sure it conforms to the code standards, otherwise it may be ignored. It is OK to make a
-        single patch covering several
-        files, but please only one issue at a time.
-        <br />
-        Briefly outline the reason for your patch,
-        the solution your patch implements, why a patch is
-        needed and why your code will solve the problem. Note any bug numbers your
-        patch addresses.
-        <br />
-      </p>
+      <subsection name="Reporting security vulnerabilities">
+        <a class="comm" alt="Security" href="http://www.apache.org/security/">Security</a>: Vulnerabilities should be announced to the Apache Security team.<br/>
+        PMCs will be notified about them, and will work hard to propose fixes as fast as possible.<br/>
+        Specific details about security in James can be found <a class="comm" alt="security in James" href="http://james.apache.org/server/feature-security.html">here</a>.
 
-      <p>
-        The reason for these rules is so that committers can easily see
-        what you are trying to achieve,
-        it is their responsibility to manage the code and review submissions,
-        if you make it easy for them to see what you are doing your
-        patch is more likely to
-        be committed quickly.
-        <br />
-      </p>
+      </subsection>
     </section>
 
     <section name="Documentation">
-      <p>
-        While we are glad to accept contributions to documentation
-        from anyone, in almost any format, because its much better than none,
-        please consider these
-        guidelines to help us to assimilate your contribution.
+      <p>Documentation is an easy way to get on board!
+
+        Check out the <a class="comm" alt="Documentation" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20documentation%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~documentation</a> label on JIRA to get some ideas.<br/>
+        Report on JIRA the typo you spots, the information you miss, and any improvement you can think to.<br/>
+        The next step is to contribute the documentation changes via <a class="comm" alt="The website on github"  href="https://github.com/apache/james-project/tree/master/src/site/xdoc">Git</a>.
       </p>
       <p>
-        To edit an existing document try to edit the xml version in src/site/xdocs
-        (check it out from GIT)
-        and if you can, submit a patch as for Code Patches.
+        To edit an existing document try to edit the xml version in <code>src/site/xdoc</code>
+        (check it out from GIT) and if you can, submit a patch as for Code Patches.
       </p>
       <p>
-        If you want to contribute new files please try to use the simple xml
-        format we use.
+        If you want to contribute new files please try to use the markdown format as
+        shown in <code>src/site/markdown</code>.
       </p>
       <p>
         If this means nothing to you please try to contribute HTML or plain
-        text documents without
-        any styling, so that we can get at the words and easily convert them
-        into our XML format.
+        text documents without any styling, so that we can get at the words
+        and easily convert them into the right format.
       </p>
       <p>
         If all this seems like unnecessary nonsense, send us whatever you
-        like, we'd still be
-        happy to receive good documentation.
+        like, we'd still be happy to receive good documentation.
       </p>
       <p>
         Each of the Apache James projects has its own documentation
-        maintained
-        with the automated build. Once a build is done, the documentation can be
-        further committed in the
-        <a href="https://git-wip-us.apache.org/repos/asf/james-site.git">
-          site module
-        </a>
+        maintained with the automated build. Once a build is done,
+        the documentation can be further committed in the
+        <a href="https://git-wip-us.apache.org/repos/asf/james-site.git">site module</a>
         which will be automatically published via gitpubsub
-        to
-        <a href="http://james.apache.org">Apache James web site</a>
-        .
+        to <a href="http://james.apache.org">Apache James web site</a>.
       </p>
       <p>
-        Further to this documentation, the
-        <a href="http://wiki.apache.org/james/">
-          Apache James wiki
-        </a>
-        is available to any and is useful to share any
-        useful documentation.
-        .
+        Further to this documentation, the <a href="http://wiki.apache.org/james/">Apache James wiki</a>
+        is available to any and is useful to share any useful documentation.
       </p>
     </section>
 
+    <section name="How to contribute to the code?">
+      <p>
+        Clone the source code of the project from its
+        <a href="git://git.apache.org/james-project.git">apache git repository</a>
+        or its <a href="https://github.com/apache/james-project">Github</a>
+        <br />
+        Create your branch and name it with the JIRA ticket number.<br />
+        Create a Pull Request with your branch name and prefix its different commits with the same name.
+        <br />
+      </p>
+
+      <p>Alternatively you can create a patch as <a href="#Code_Patches">outlined below</a>, and attach it to the JIRA ticket.</p>
+      <p>A valid commit comment might be:</p>
+
+        <pre><code>JAMES-2285 My awesome commit title
+
+Here is some more details about what my commit does, and the rationals of the choice I took.</code></pre>
+
+      <subsection name="Contribution proposals">
+        <p>
+        We reference some easy tasks to start with :
+        <a class="comm" alt="Newbie tasks" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20newbie%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~newbie</a>
+        <br/> We have a collection of minor fixes awaiting contributions:
+        <a class="comm" alt="Easy fixes" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20easyfix%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~easyfix</a>
+        <br/> Challenge yourself with some cool features we thought to:
+        <a class="comm" alt="Cool features" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20feature%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~feature</a>
+        <br/>Additional ideas are more than welcome. Don't hesitate to discuss that with us!
+        </p>
+      </subsection>
+    </section>
+
     <section name="Coding Standards">
       <p>
+        While we are glad to accept contributions to documentation
+        from anyone, in almost any format, because its much better than none,
+        please consider these guidelines to help us to assimilate your contribution.
+      </p>
+      <p>
         Submissions to the James project must follow the coding
-        conventions
-        outlined in this document. James developers
+        conventions outlined in this document. James developers
         are asked to follow coding conventions already present in the code.
         (For example, if the existing code has the bracket on
         the same line as the if statement, then all subsequent code
@@ -205,28 +198,26 @@
         </strong>
       </p>
       <p>
-        1. Spaces between parentheses are optional. The preference is
-        to exclude
-        extra spaces. Both of these conventions are
-        acceptable:
+        1. Your code should pass our <a href="https://github.com/apache/james-project/blob/master/checkstyle.xml">checkstyle</a>
+        which runs upon <code>mvn clean install</code>.
+      </p>
+      <p>
+        2. Extra spaces between parentheses are not allowed:
       </p>
       <p>
         <source><![CDATA[
   
-  if (foo)
+  if (foo) > Good
   
   or
   
-  if ( foo )
+  if ( foo ) > Bad
         ]]></source>
       </p>
       <p>
-        2. Four spaces.
-        <strong>NO tabs</strong>
-        . Period. The James
-        mailing list receives commit messages that
-        are almost impossible
-        to read if tabs are used.
+        3. Four spaces.<strong>NO tabs</strong>. Period. <br/>
+        The James mailing list receives commit messages that
+        are almost impossible to read if tabs are used.
       </p>
       <p>
         In Emacs-speak, this translates to the following command:
@@ -234,29 +225,19 @@
         (setq-default tab-width 4 indent-tabs-mode nil)
       </p>
       <p>
-        3. Use Unix linefeeds for all .java source code files. Only
-        platform-specific
-        files (e.g. .bat files for Windows) should
+        4. Use Unix linefeeds for all .java source code files. Only
+        platform-specific files (e.g. .bat files for Windows) should
         contain non-Unix linefeeds.
       </p>
-      <p>
-        4. Javadoc
-        <strong>must</strong>
-        exist on all methods. Contributing
-        a missing javadoc for any
-        method, class, variable, etc., will be GREATLY
-        appreciated as
-        this will help to improve the James project.
-      </p>
-      <p>
-        5. The standard Apache boilerplace
-        <strong>MUST</strong>
-        be placed
-        at the top of every file.
+      <p>5. Javadoc <strong>MUST</strong>
+        exist on all API methods. Contributing
+        a missing javadoc for any method, class, variable, etc., will
+        be GREATLY appreciated as this will help to improve the James project.
       </p>
+      <p>6. The standard Apache license header <strong>MUST</strong> be placed at the top of every file.</p>
+      <p>7. Your change set <strong>MUST</strong> be covered by tests. We also strongly appreciate integration tests.</p>
       <p>
-        6.
-        <strong>pom.xml</strong>
+        8. <strong>pom.xml</strong>
 
         <br/>
         We also require the following best practice regarding maven:
@@ -292,6 +273,41 @@
       </p>
     </section>
 
+    <section name="Code Patches">
+      <p>
+        Patches should be attached to the corresponding JIRA issue.
+        <br />
+        <b>Always</b>
+        use diff -u to generate patches, so we can apply them using
+        'patch'.
+        <br />
+
+        <br />
+        Make sure the patch only contains what is intended, your
+        checkout could be outdated.
+        <br />
+        Make sure it conforms to the code standards, otherwise it may be ignored. It is OK to make a
+        single patch covering several
+        files, but please only one issue at a time.
+        <br />
+        Briefly outline the reason for your patch,
+        the solution your patch implements, why a patch is
+        needed and why your code will solve the problem. Note any bug numbers your
+        patch addresses.
+        <br />
+      </p>
+
+      <p>
+        The reason for these rules is so that committers can easily see
+        what you are trying to achieve,
+        it is their responsibility to manage the code and review submissions,
+        if you make it easy for them to see what you are doing your
+        patch is more likely to
+        be committed quickly.
+        <br />
+      </p>
+    </section>
+
   </body>
 
 </document>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[04/20] james-project git commit: JAMES-2315 Include the sponsorship compulsory link

Posted by bt...@apache.org.
JAMES-2315 Include the sponsorship compulsory link


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7fe99d47
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7fe99d47
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7fe99d47

Branch: refs/heads/master
Commit: 7fe99d476532c29dcc5fe238d7ffb253b3f264dc
Parents: 64cdb0b
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 10:40:46 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7fe99d47/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index 85ad09e..d580713 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -297,6 +297,7 @@ WHAT WILL YOU TRY:</b><br>
       <section class="legal-section">
         <h2>Copyright</h2>
         <a href="http://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation.. All Rights Reserved.</a><br/>
+        <a href="http://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
         Design: <a href="https://html5up.net">HTML5 UP</a><br/>
         Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
       </section>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[14/20] james-project git commit: JAMES-2315 Upgrade links to https

Posted by bt...@apache.org.
JAMES-2315 Upgrade links to https


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f432cb56
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f432cb56
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f432cb56

Branch: refs/heads/master
Commit: f432cb568e7ef096490afce68d754d15914e5083
Parents: 809f23e
Author: benwa <bt...@linagora.com>
Authored: Wed Jan 31 17:09:39 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:28 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 56 +++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/f432cb56/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index 2d922e1..79d7d34 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -160,24 +160,24 @@ WHAT WILL YOU TRY:</b><br>
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="http://twitter.com/ApacheJames" alt="twitter account"><span class="icon fa-twitter"></span></a>
+                <a href="https://twitter.com/ApacheJames" alt="twitter account"><span class="icon fa-twitter"></span></a>
                 <span class="details">
                   <b>Twitter:</b>
-                  <br/>Express yourself and follow us <a href="http://twitter.com/ApacheJames" class="comm" alt="twitter account">@ApacheJames</a>.
+                  <br/>Express yourself and follow us <a href="https://twitter.com/ApacheJames" class="comm" alt="twitter account">@ApacheJames</a>.
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="http://james.apache.org/download.cgi" alt="Downloads"><span class="icon fa-cloud-download "></span></a>
+                <a href="https://james.apache.org/download.cgi" alt="Downloads"><span class="icon fa-cloud-download "></span></a>
                 <span class="details">
                   <b>Download Apache James releases:</b>
-                  <br/>Our <a href="http://james.apache.org/download.cgi">download page</a> allows you to download artifacts and sources for the James Server and James libraries.
+                  <br/>Our <a href="https://james.apache.org/download.cgi">download page</a> allows you to download artifacts and sources for the James Server and James libraries.
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="http://james.apache.org/support.html" alt="Professional support"><span class="icon fa-briefcase"></span></a>
+                <a href="https://james.apache.org/support.html" alt="Professional support"><span class="icon fa-briefcase"></span></a>
                 <span class="details">
                   <b>Professional support:</b>
-                  <br/>Find a list of companies which can provide you some <a href="http://james.apache.org/support.html" class="comm" alt="Professional support">
+                  <br/>Find a list of companies which can provide you some <a href="https://james.apache.org/support.html" class="comm" alt="Professional support">
                   support on James</a>.
                 </span>
               </li>
@@ -197,10 +197,10 @@ WHAT WILL YOU TRY:</b><br>
             </p>
             <ul class="no-padding no-margin">
               <li class="post-template center-icon">
-                <a href="http://www.apache.org/licenses/"><span class="icon fa-copyright "></span></a>
+                <a href="https://www.apache.org/licenses/"><span class="icon fa-copyright "></span></a>
                 <span class="details">
                   <b>Licenses:</b>
-                  <br/>All contributions to the James project are made under the <a class="comm" alt="License" href="http://www.apache.org/licenses/">Apache license 2.0</a>
+                  <br/>All contributions to the James project are made under the <a class="comm" alt="License" href="https://www.apache.org/licenses/">Apache license 2.0</a>
                 </span>
               </li>
               <li class="post-template center-icon">
@@ -242,7 +242,7 @@ WHAT WILL YOU TRY:</b><br>
                   <b>How to contribute code changes:</b>
                   <br/>Read our sources from the <a href="git://git.apache.org/james-project.git" class="comm" alt="James Git sources">Apache Git</a>.<br/>
                   You can also come and interact with us on <a href="https://github.com/apache/james-project" class="comm" alt="James on GitHub">GitHub</a> and share your work by creating a pull request.<br/>
-                  Alternatively, you can attach a <a  class="comm" alt="Patch" href="http://james.apache.org/contribute.html#Code_Patches">patch</a> to the JIRA issue.<br/>
+                  Alternatively, you can attach a <a  class="comm" alt="Patch" href="https://james.apache.org/contribute.html#Code_Patches">patch</a> to the JIRA issue.<br/>
                   After a review, and exchanges with you, an Apache James developer will integrate the changes once it matches our policies.
                 </span>
               </li>
@@ -261,21 +261,23 @@ WHAT WILL YOU TRY:</b><br>
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="http://www.apache.org/security/" alt="Report security vulnerabilities"><span class="icon fa-shield "></span></a>
+                <a href="https://www.apache.org/security/" alt="Report security vulnerabilities"><span class="icon fa-shield "></span></a>
                 <span class="details">
                   <b>Reporting security vulnerabilities:</b><br/>
-                  <a class="comm" alt="Security" href="http://www.apache.org/security/">Security</a>: Vulnerabilities should be announced to the Apache Security team.<br/>
-                  PMCs will be notified about them, and will work hard to propose fixes as fast as possible.<br/>
-                  Specific details about security in James can be found <a class="comm" alt="security in James" href="http://james.apache.org/server/feature-security.html">here</a>.
+
+                  <a class="comm" alt="Security" href="https://www.apache.org/security/">Security</a>: Vulnerabilities should be announced to the Apache Security team.<br/>
+                  PMCs will be notified about them, and will work hard to propose fixes as fast as possible.
                 </span>
               </li>
               <li class="post-template center-icon">
                 <a href="http://james.apache.org/contribute.html" alt="Additional information"><span class="icon fa-info-circle "></span></a>
                 <span class="details">
-                  <b>Additional information:</b><br/>
-                  The <a class="comm" alt="More details about contributing" href="http://james.apache.org/contribute.html">contribute</a> page contains more details about the various details exposed above.<br/>
-                  To match the quality expectations of our community, we enforce <a class="comm" alt="Coding Standards" href="http://james.apache.org/contribute.html#Coding_Standards">coding standards</a>.<br/>
-                  We rely on <a class="comm" alt="checkstyle" href="https://github.com/apache/james-project/blob/master/checkstyle.xml">checkstyle</a> for style checking.
+                 <span class="details">
+                   <b>Additional information:</b><br/>
+                      The <a class="comm" alt="More details about contributing" href="http://james.apache.org/contribute.html">contribute</a> page contains more details about the various details exposed above.<br/>
+                      To match the quality expectations of our community, we enforce <a class="comm" alt="Coding Standards" href="http://james.apache.org/contribute.html#Coding_Standards">coding standards</a>.
+                      We rely on <a class="comm" alt="checkstyle" href="https://github.com/apache/james-project/blob/master/checkstyle.xml">checkstyle</a> for style checking.
+                 </span>
                 </span>
               </li>
             </ul>
@@ -298,15 +300,15 @@ WHAT WILL YOU TRY:</b><br>
           <div id="openpaas" style="background:#fff" class="lity-hide">
               <div class="padding about-table james-use-case-content">
                 <header class="major">
-                  <h2><a href="http://open-paas.org/"><img src="/images/openpaas.png"></a></h2>
+                  <h2><a href="https://open-paas.org/"><img src="/images/openpaas.png"></a></h2>
                 </header>
                 <p class="post-template">
                   At&nbsp;<a href="https://linagora.com/" class="comm">LINAGORA</a>, we chose JAMES as the Mail Delivery Agent of our&nbsp;
-                  <a href="http://open-paas.org/" class="comm">OpenPaaS</a>&nbsp;product:</p>
+                  <a href="https://open-paas.org/" class="comm">OpenPaaS</a>&nbsp;product:</p>
                 <ul class="james-ul">
                   <li class="james-use-case-li center-icon"><span class="icon fa-arrow-right"></span>For easy administration of email load balancing and high availability</li>
                   <li class="james-use-case-li center-icon"><span class="icon fa-arrow-right"></span>To allow email interactions with the platform</li>
-                  <li class="james-use-case-li center-icon"><span class="icon fa-arrow-right"></span>To use the&nbsp;<a href="http://jmap.io/" class="comm">JMAP</a>&nbsp;protocol (the browser interacts directly with the mail server)</li>
+                  <li class="james-use-case-li center-icon"><span class="icon fa-arrow-right"></span>To use the&nbsp;<a href="https://jmap.io/" class="comm">JMAP</a>&nbsp;protocol (the browser interacts directly with the mail server)</li>
                 </ul>
                 <p>Our deployment currently allows serving a hundred user over JMAP, SMTP and IMAP.</p>
               </div>
@@ -360,21 +362,21 @@ WHAT WILL YOU TRY:</b><br>
       <section>
         <h2>Connect</h2>
         <ul class="icons">
-          <li><a href="http://james.apache.org/mail.html" class="icon fa-envelope-o alt"><span class="label">Mailing-list</span></a></li>
+          <li><a href="https://james.apache.org/mail.html" class="icon fa-envelope-o alt"><span class="label">Mailing-list</span></a></li>
           <li><a href="https://gitter.im/apache/james-project" class="icon fa-wechat alt"><span class="label">Gitter</span></a></li>
           <li><a href="https://github.com/apache/james-project" class="icon fa-github alt"><span class="label">GitHub</span></a></li>
-          <li><a href="http://twitter.com/ApacheJames" class="icon fa-twitter alt"><span class="label">Twitter</span></a></li>
-          <li><a href="http://james.apache.org/support.html" class="icon fa-briefcase alt"><span class="label">Support</span></a></li>
+          <li><a href="https://twitter.com/ApacheJames" class="icon fa-twitter alt"><span class="label">Twitter</span></a></li>
+          <li><a href="https://james.apache.org/support.html" class="icon fa-briefcase alt"><span class="label">Support</span></a></li>
           <li><a href="http://www.apache.org/events/current-event" class="icon fa-calendar alt"><span class="label">Apache Foundation events</span></a></li>
           </ul>
       </section>
       <section class="legal-section">
         <h2>Copyright</h2>
         Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
-        <a href="http://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation.. All Rights Reserved.</a><br/>
-        <a href="http://www.apache.org/licenses/">License</a><br/>
-        <a href="http://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
-        <a href="http://www.apache.org/foundation/thanks.html">Thanks</a><br/>
+        <a href="https://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation. All Rights Reserved.</a><br/>
+        <a href="https://www.apache.org/licenses/">License</a><br/>
+        <a href="https://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
+        <a href="https://www.apache.org/foundation/thanks.html">Thanks</a><br/>
         Design: <a href="https://html5up.net">HTML5 UP</a><br/>
         Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
       </section>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[05/20] james-project git commit: JAMES-2315 Reference security instructions in the community guidelines

Posted by bt...@apache.org.
JAMES-2315 Reference security instructions in the community guidelines


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2cb45db2
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2cb45db2
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2cb45db2

Branch: refs/heads/master
Commit: 2cb45db2a1d314bcd2f1ce9081fbf81746cc0d1d
Parents: d24d3f8
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 10:55:02 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2cb45db2/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index e8db47c..d0ed810 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -192,6 +192,14 @@ WHAT WILL YOU TRY:</b><br>
                 </span>
               </li>
               <li class="post-template center-icon">
+                <a href="http://www.apache.org/security/" alt="Report security vulnerabilities"><span class="icon fa-shield "></span></a>
+                <span class="details">
+                  <b>Reporting security vulnerabilities:</b><br/>
+                  <a class="comm" alt="Security" href="http://www.apache.org/security/">Security</a>: Vulnerabilities should be announced to the Apache Security team.<br/>
+                  PMCs will be notified about them, and will work hard to propose fixes as fast as possible.
+                </span>
+              </li>
+              <li class="post-template center-icon">
                 <a href="http://twitter.com/ApacheJames" alt="twitter account"><span class="icon fa-twitter"></span></a>
                 <span class="details">
                   <b>Twitter:</b>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[09/20] james-project git commit: JAMES-2315 Add the mandatory event link

Posted by bt...@apache.org.
JAMES-2315 Add the mandatory event link


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0f204e7f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0f204e7f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0f204e7f

Branch: refs/heads/master
Commit: 0f204e7fc7b1edbb03a8dbdda3b3b13150521567
Parents: 563244a
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 15:19:33 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:48 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/0f204e7f/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index 786a1a5..066f196 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -307,6 +307,7 @@ WHAT WILL YOU TRY:</b><br>
           <li><a href="https://github.com/apache/james-project" class="icon fa-github alt"><span class="label">GitHub</span></a></li>
           <li><a href="http://twitter.com/ApacheJames" class="icon fa-twitter alt"><span class="label">Twitter</span></a></li>
           <li><a href="http://james.apache.org/support.html" class="icon fa-briefcase alt"><span class="label">Support</span></a></li>
+          <li><a href="http://www.apache.org/events/current-event" class="icon fa-calendar alt"><span class="label">Apache Foundation events</span></a></li>
           </ul>
       </section>
       <section class="legal-section">


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[11/20] james-project git commit: JAMES-2315 Split contribution guide lines from community

Posted by bt...@apache.org.
JAMES-2315 Split contribution guide lines from community

This moves intend:

 - To move contribution as a TLD concern on the main webpage
 - Details more the way to contribute
 - Clearly expose git[hub] is for contributing and not a way to ship the product


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f409e0d7
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f409e0d7
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f409e0d7

Branch: refs/heads/master
Commit: f409e0d72a56b71c6b9f506aa68acd3daf5629f5
Parents: 0f204e7
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 12:02:31 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:35:51 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 131 +++++++++++++++++++++++++++++++------------
 1 file changed, 95 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/f409e0d7/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index 066f196..a45d902 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -44,6 +44,7 @@ layout: default
         <li><a href="#first">Get Started</a></li>
         <li><a href="#posts">Last Posts</a></li>
         <li><a href="#second">Community</a></li>
+        <li><a href="#third">Contribute</a></li>
         <li><a href="#use-cases">Use-cases</a></li>
         <li><a href="documentation.html"><span class="fa fa-external-link"></span> Documentation</a></li>
       </ul>
@@ -142,9 +143,7 @@ WHAT WILL YOU TRY:</b><br>
           <section>
             <p class="align-left">
             Apache James Project is  an Open Source all-volunteer project obtaining its strength from its Community made of developers and users. All are welcome to the Community!<br>
-            That way, we recommend that Users, Developers, Curious and Fans join the James Community.<br>
-            Here are the different ways of contributing sorted in order of increasing level of expertise you need to use them:
-            </p>
+            That way, we recommend that Users, Developers, Curious and Fans join the James Community.</p>
             <ul class="no-padding no-margin">
               <li class="post-template center-icon">
                 <a href="https://james.apache.org/mail.html" alt="mailing list james"><span class="icon fa-envelope"></span></a>
@@ -152,17 +151,18 @@ WHAT WILL YOU TRY:</b><br>
                   <b>Mailing list:</b>
                   <br/>Subscribe to the appropriate <a href="https://james.apache.org/mail.html" class="comm" alt="mailing lists">Mailing Lists</a> according to your interests and your profile.<br/> <a href="https://james.apache.org/mail.html#Guidelines" class="comm" alt="mail guideline">Mail guidelines</a> explain you more precisely how it works.
                 </span>
-              </li><li class="post-template center-icon">
-              <a href="https://james.apache.org/mail.html" alt="Gitter chat room"><span class="icon fa-wechat"></span></a>
-              <span class="details">
+              </li>
+              <li class="post-template center-icon">
+                <a href="https://james.apache.org/mail.html" alt="Gitter chat room"><span class="icon fa-wechat"></span></a>
+                <span class="details">
                   <b>Gitter chat room:</b>
                   <br/>Chat in live with the community on <a href="https://gitter.im/apache/james-project" class="comm" alt="Gitter chat room">Gitter chat room</a>.
                 </span>
-            </li>
+              </li>
               <li class="post-template center-icon">
                 <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel"><span class="icon fa-bug"></span></a>
                 <span class="details">
-                  <b>Bug tracker:</b>
+                  <b>Report bugs:</b>
                   <br/>You can here enter bug encountered, share your point of view about a specific feature or anything else... <br/>
                   Each subproject has its own bug tracker.<br/>
                   <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" class="comm" alt="James Server bugtracker">Go to James Server project bugtracker</a>.<br/>
@@ -170,55 +170,114 @@ WHAT WILL YOU TRY:</b><br>
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="https://github.com/apache/james-project"><span class="icon fa-git"></span></a>
+                <a href="http://twitter.com/ApacheJames" alt="twitter account"><span class="icon fa-twitter"></span></a>
                 <span class="details">
-                  <b>Sources on Git:</b>
-                  <br/>Read our sources from the <a href="git://git.apache.org/james-project.git" class="comm" alt="James Git sources">Apache Git</a>.<br/>
-                  You can also come and interact with us on <a href="https://github.com/apache/james-project" class="comm" alt="James on GitHub">GitHub</a>.<br/>
+                  <b>Twitter:</b>
+                  <br/>Express yourself and follow us <a href="http://twitter.com/ApacheJames" class="comm" alt="twitter account">@ApacheJames</a>.
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20newbie%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC" alt="contribute to the code"><span class="icon fa-cogs"></span></a>
+                <a href="http://james.apache.org/download.cgi" alt="Downloads"><span class="icon fa-cloud-download "></span></a>
                 <span class="details">
-                  <b>Get started and contribute to this project:</b>
-                  <br/>James is a project that lives from the contributions of its community! Read the <a href="/contribute.html" class="comm" alt="Contributing to James: guidelines">contributing guidelines</a>.
-                  <br/>We more than welcome <b>articles</b> and <b>blog posts</b> about James. Contact us by <a href="https://james.apache.org/mail.html" class="comm" alt="mailing lists">email</a> or on <a href="https://gitter.im/apache/james-project" class="comm" alt="Gitter chat room">Gitter</a> to share your experiences.
-                  <br/><b>Documentation</b> is an easy way to get started, and more than wanted! Check out the <a class="comm" alt="Documentation" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20documentation%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~documentation</a> label on JIRA.
-                  <br/>And to get started with <b>code contributions</b>, search out the
-                  <a class="comm" alt="Newbie tasks" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20newbie%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~newbie</a>,
-                  <a class="comm" alt="Easy fixes" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20easyfix%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~easyfix</a>,
-                  <a class="comm" alt="Cool features" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20feature%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~feature</a> labels on JIRA</a>.
-                  <br/>There is many other ways one can help us: packaging, communication, etc . . .
+                  <b>Download Apache James releases:</b>
+                  <br/>Our <a href="http://james.apache.org/download.cgi">download page</a> allows you to download artifacts and sources for the James Server and James libraries.
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="http://www.apache.org/security/" alt="Report security vulnerabilities"><span class="icon fa-shield "></span></a>
+                <a href="http://james.apache.org/support.html" alt="Professional support"><span class="icon fa-briefcase"></span></a>
                 <span class="details">
-                  <b>Reporting security vulnerabilities:</b><br/>
-                  <a class="comm" alt="Security" href="http://www.apache.org/security/">Security</a>: Vulnerabilities should be announced to the Apache Security team.<br/>
-                  PMCs will be notified about them, and will work hard to propose fixes as fast as possible.
+                  <b>Professional support:</b>
+                  <br/>Find a list of companies which can provide you some <a href="http://james.apache.org/support.html" class="comm" alt="Professional support">
+                  support on James</a>.
                 </span>
               </li>
+            </ul>
+          </section>
+        </section>
+       <section id="third" class="main">
+          <header class="major">
+            <h2>Contribute </h2>
+          </header>
+          <section>
+            <p class="align-left">
+              James is a project that lives from the contributions of its community.<br/>
+              <b>Anyone can contribute!</b> That's right, we always want to hear from people with contributions to the code, the documentation, the website, and bug reports. <br>
+              We more than welcome non-coding contributions.<br>
+            Here are the different ways of contributing:
+            </p>
+            <ul class="no-padding no-margin">
               <li class="post-template center-icon">
-                <a href="http://twitter.com/ApacheJames" alt="twitter account"><span class="icon fa-twitter"></span></a>
+                <a href="http://www.apache.org/licenses/"><span class="icon fa-copyright "></span></a>
                 <span class="details">
-                  <b>Twitter:</b>
-                  <br/>Express yourself and follow us <a href="http://twitter.com/ApacheJames" class="comm" alt="twitter account">@ApacheJames</a>.
+                  <b>Licenses:</b>
+                  <br/>All contributions to the James project are made under the <a class="comm" alt="License" href="http://www.apache.org/licenses/">Apache license 2.0</a><br/>
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="http://james.apache.org/download.cgi" alt="Downloads"><span class="icon fa-cloud-download "></span></a>
+                <a href="https://james.apache.org/mail.html"><span class="icon fa-bullhorn "></span></a>
                 <span class="details">
-                  <b>Download Apache James releases:</b>
-                  <br/>Our <a href="http://james.apache.org/download.cgi">download page</a> allows you to download artifacts and sources for the James Server and James libraries.
+                  <b>Join the community:</b>
+                  <br/>We more than welcome <b>articles</b> and <b>blog posts</b> about James.<br/>
+                  Contact us by <a href="https://james.apache.org/mail.html" class="comm" alt="mailing lists">email</a> or
+                  on <a href="https://gitter.im/apache/james-project" class="comm" alt="Gitter chat room">Gitter</a> to share your experiences.
+                  <br/>Don't hesitate to promote the Apache James project on your preferred medias.
+                  <br/>Report your bugs, propose enhancements on our <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" class="comm" alt="James Server bugtracker">bugtracker</a>.
                 </span>
               </li>
+
               <li class="post-template center-icon">
-                <a href="http://james.apache.org/support.html" alt="Professional support"><span class="icon fa-briefcase"></span></a>
+                <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20documentation%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC"><span class="icon fa-book "></span></a>
                 <span class="details">
-                  <b>Professional support:</b>
-                  <br/>Find a list of companies which can provide you some <a href="http://james.apache.org/support.html" class="comm" alt="Professional support">
-                  support on James</a>.
+                  <b>Documentation:</b><br/>
+                  Documentation is an easy way to get on board! <br/>
+                  Check out the <a class="comm" alt="Documentation" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20documentation%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~documentation</a> label on JIRA to get some ideas.<br/>
+                  Report on JIRA the typo you spots, the information you miss, and any improvement you can think to.<br/>
+                  The next step is to contribute the documentation changes via <a class="comm" alt="The website on github"  href="https://github.com/apache/james-project/tree/master/src/site/xdoc">Git</a>.
+                </span>
+              </li>
+
+              <li class="post-template center-icon">
+                <a href="https://github.com/apache/james-project"><span class="icon fa-git"></span></a>
+                <span class="details">
+                  <b>How to contribute code changes:</b>
+                  <br/>Read our sources from the <a href="git://git.apache.org/james-project.git" class="comm" alt="James Git sources">Apache Git</a>.<br/>
+                  You can also come and interact with us on <a href="https://github.com/apache/james-project" class="comm" alt="James on GitHub">GitHub</a>.<br/>
+                  On <a href="https://github.com/apache/james-project" class="comm" alt="James on GitHub">GitHub</a> you can share your work by creating a pull request.<br/>
+                  Alternatively, you can attach a patch to the JIRA issue.<br/>
+                  After a review, and exchanges with you, a Apache James developer will integrate the changes to the code base once it matches our policies.
+                </span>
+              </li>
+
+              <li class="post-template center-icon">
+                <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20newbie%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC" alt="contribute to the code"><span class="icon fa-cogs"></span></a>
+                <span class="details">
+                  <b>What contributions can you do:</b>
+                  <br/>We reference some easy tasks to start with :
+                  <a class="comm" alt="Newbie tasks" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20newbie%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~newbie</a>
+                  <br/> We have a collection of minor fixes awaiting contributions:
+                  <a class="comm" alt="Easy fixes" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20easyfix%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~easyfix</a>
+                  <br/> Challenge yourself with some cool features we thought to:
+                  <a class="comm" alt="Cool features" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20feature%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC">~feature</a>
+                  <br/>Additional ideas are more than welcome. Don't hesitate to discuss that with us!
+                </span>
+              </li>
+              <li class="post-template center-icon">
+                <a href="http://www.apache.org/security/" alt="Report security vulnerabilities"><span class="icon fa-shield "></span></a>
+                <span class="details">
+                  <b>Reporting security vulnerabilities:</b><br/>
+                  <a class="comm" alt="Security" href="http://www.apache.org/security/">Security</a>: Vulnerabilities should be announced to the Apache Security team.<br/>
+                  PMCs will be notified about them, and will work hard to propose fixes as fast as possible.<br/>
+                  Specific details about security in James can be found <a class="comm" alt="security in James" href="http://james.apache.org/server/feature-security.html">here</a>.
+                </span>
+              </li>
+              <li class="post-template center-icon">
+                <a href="http://james.apache.org/contribute.html" alt="Additional information"><span class="icon fa-info-circle "></span></a>
+                <span class="details">
+                  <b>Additional information:</b><br/>
+                  The <a class="comm" alt="More details about contributing" href="http://james.apache.org/contribute.html">contribute</a> page contains more details about the various details exposed above.<br/>
+                  To match the quality expectations of our community, we enforce <a class="comm" alt="Coding Standards" href="http://james.apache.org/contribute.html#Coding_Standards">coding standards</a>.<br/>
+                  We rely on <a class="comm" alt="checkstyle" href="https://github.com/apache/james-project/blob/master/checkstyle.xml">checkstyle</a> for style checking.<br/>
+                  Amongst other common practices: every file should start with the Apache License, code changes should be covered by tests. . .
                 </span>
               </li>
             </ul>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[13/20] james-project git commit: MAILBOX-315 Improve speed for MailboxCounterDAO

Posted by bt...@apache.org.
MAILBOX-315 Improve speed for MailboxCounterDAO


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3841192c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3841192c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3841192c

Branch: refs/heads/master
Commit: 3841192ccf9028f6974040d9cbe2bfe0c55de895
Parents: f432cb5
Author: benwa <bt...@linagora.com>
Authored: Mon Oct 30 13:01:13 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:28 2018 +0700

----------------------------------------------------------------------
 .../mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java      | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/3841192c/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
index 6744a70..2220008 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
@@ -53,7 +53,6 @@ public class CassandraMailboxCounterDAOTest {
 
     @After
     public void tearDown() {
-        cassandra.clearAllTables();
         cassandra.close();
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[08/20] james-project git commit: JAMES-2315 Include the compulsory trademark section

Posted by bt...@apache.org.
JAMES-2315 Include the compulsory trademark section


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/86354563
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/86354563
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/86354563

Branch: refs/heads/master
Commit: 863545637fea29d7df92d0ae748743a15be250b3
Parents: 7fe99d4
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 10:43:58 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/86354563/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index d580713..c239585 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -296,6 +296,7 @@ WHAT WILL YOU TRY:</b><br>
       </section>
       <section class="legal-section">
         <h2>Copyright</h2>
+        Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
         <a href="http://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation.. All Rights Reserved.</a><br/>
         <a href="http://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
         Design: <a href="https://html5up.net">HTML5 UP</a><br/>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[18/20] james-project git commit: JAMES-2264 Correct TaskRoute test synchronisation

Posted by bt...@apache.org.
JAMES-2264 Correct TaskRoute test synchronisation


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/21a63331
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/21a63331
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/21a63331

Branch: refs/heads/master
Commit: 21a633311c7713cfcaf36f4b0b8d1152b13e558e
Parents: 90bdf71
Author: benwa <bt...@linagora.com>
Authored: Thu Feb 1 11:50:12 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:29 2018 +0700

----------------------------------------------------------------------
 .../apache/james/webadmin/routes/TasksRoutesTest.java   | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/21a63331/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
index 4317035..486b0b8 100644
--- a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
@@ -112,12 +112,16 @@ public class TasksRoutesTest {
     }
 
     @Test
-    public void listShouldListTaskWhenStatusFilter() {
+    public void listShouldListTaskWhenStatusFilter() throws Exception {
+        CountDownLatch inProgressLatch = new CountDownLatch(1);
         TaskId taskId = taskManager.submit(() -> {
+            inProgressLatch.countDown();
             await();
             return Task.Result.COMPLETED;
         });
 
+        inProgressLatch.await();
+
         given()
             .param("status", TaskManager.Status.IN_PROGRESS.getValue())
         .when()
@@ -151,12 +155,16 @@ public class TasksRoutesTest {
     }
 
     @Test
-    public void getShouldReturnTaskDetails() {
+    public void getShouldReturnTaskDetails() throws Exception {
+        CountDownLatch inProgressLatch = new CountDownLatch(1);
         TaskId taskId = taskManager.submit(() -> {
+            inProgressLatch.countDown();
             await();
             return Task.Result.COMPLETED;
         });
 
+        inProgressLatch.await();
+
         when()
             .get("/" + taskId.getValue())
         .then()


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[19/20] james-project git commit: JAMES-2316 Downloads for mailet-crypto should not point to mailet ai...

Posted by bt...@apache.org.
JAMES-2316 Downloads for mailet-crypto should not point to mailet ai...


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/90bdf717
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/90bdf717
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/90bdf717

Branch: refs/heads/master
Commit: 90bdf7174c300f1e5d19e31eb220ad0a50c5aa03
Parents: 73a320b
Author: benwa <bt...@linagora.com>
Authored: Thu Feb 1 09:20:36 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:29 2018 +0700

----------------------------------------------------------------------
 src/site/xdoc/download.xml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/90bdf717/src/site/xdoc/download.xml
----------------------------------------------------------------------
diff --git a/src/site/xdoc/download.xml b/src/site/xdoc/download.xml
index 477a3bc..f7f10e2 100644
--- a/src/site/xdoc/download.xml
+++ b/src/site/xdoc/download.xml
@@ -509,22 +509,22 @@ is found <a href='https://www.apache.org/licenses/exports/'>here</a>.
       <code>
   &lt;dependency&gt;
     &lt;groupId&gt;org.apache.james&lt;/groupId&gt;
-    &lt;artifactId&gt;apache-mailet-ai&lt;/artifactId&gt;
+    &lt;artifactId&gt;apache-mailet-crypto&lt;/artifactId&gt;
     &lt;version&gt;3.0.1&lt;/version&gt;
   &lt;/dependency&gt;
       </code>
     </pre>
 
     <p>Direct download link:
-      <a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-mailet-ai-3.0.1.jar">(Jar)</a>
-      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-mailet-ai-3.0.1.jar.sha1">SHA-1</a>]
-      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-mailet-ai-3.0.1.jar.asc">PGP</a>]
+      <a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-mailet-crypto-3.0.1.jar">(Jar)</a>
+      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-mailet-crypto-3.0.1.jar.sha1">SHA-1</a>]
+      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-mailet-crypto-3.0.1.jar.asc">PGP</a>]
     </p>
 
     <p>Sources:
-      <a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-james-mailet-ai-sources-3.0.1.zip">(Zip)</a>
-      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-james-mailet-ai-sources-3.0.1.zip.sha1">SHA-1</a>]
-      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-james-mailet-ai-sources-3.0.1.zip.asc">PGP</a>]
+      <a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-james-mailet-crypto-sources-3.0.1.zip">(Zip)</a>
+      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-james-mailet-crypto-sources-3.0.1.zip.sha1">SHA-1</a>]
+      [<a href="https://www.apache.org/dist/james/mailets/3.0.1/apache-james-mailet-crypto-sources-3.0.1.zip.asc">PGP</a>]
     </p>
     
   </section>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[16/20] james-project git commit: MAILBOX-315 Mapper test should close their cluster properly

Posted by bt...@apache.org.
MAILBOX-315 Mapper test should close their cluster properly


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/8e6fd6ed
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/8e6fd6ed
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/8e6fd6ed

Branch: refs/heads/master
Commit: 8e6fd6eddf19f221f6f9d0f43bfbefd65fc1df97
Parents: 8d94781
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 09:32:14 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:29 2018 +0700

----------------------------------------------------------------------
 .../james/mailbox/cassandra/mail/CassandraMapperProvider.java      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/8e6fd6ed/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
index cf72181..f8b772b 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
@@ -96,7 +96,7 @@ public class CassandraMapperProvider implements MapperProvider {
 
     @Override
     public void clearMapper() throws MailboxException {
-        cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[07/20] james-project git commit: JAMES-2315 Include the compulsory thanks link

Posted by bt...@apache.org.
JAMES-2315 Include the compulsory thanks link


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d24d3f8a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d24d3f8a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d24d3f8a

Branch: refs/heads/master
Commit: d24d3f8a573f249b13ce8ecc4cb29a9ea1f826a2
Parents: 8635456
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 10:46:52 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/d24d3f8a/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index c239585..e8db47c 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -299,6 +299,7 @@ WHAT WILL YOU TRY:</b><br>
         Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
         <a href="http://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation.. All Rights Reserved.</a><br/>
         <a href="http://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
+        <a href="http://www.apache.org/foundation/thanks.html">Thanks</a><br/>
         Design: <a href="https://html5up.net">HTML5 UP</a><br/>
         Thanks to <a href="http://www.neoma-interactive.com/">Neoma by Linagora</a> for the website design
       </section>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[20/20] james-project git commit: MAILBOX-315 *clearAllTables* is no more used and can thus be removed

Posted by bt...@apache.org.
MAILBOX-315 *clearAllTables* is no more used and can thus be removed


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/379d1eb4
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/379d1eb4
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/379d1eb4

Branch: refs/heads/master
Commit: 379d1eb4c28b63bbed91b48be2ba1978dce6e762
Parents: 8e6fd6e
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 09:33:30 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:42:29 2018 +0700

----------------------------------------------------------------------
 .../apache/james/backends/cassandra/CassandraCluster.java   | 9 ---------
 1 file changed, 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/379d1eb4/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
index caaea05..692b2c4 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
@@ -20,7 +20,6 @@ package org.apache.james.backends.cassandra;
 
 import java.util.Optional;
 
-import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Named;
 
@@ -83,17 +82,9 @@ public final class CassandraCluster implements AutoCloseable {
         }
     }
 
-
-
     public Session getConf() {
         return session;
     }
-
-    @PreDestroy
-    public void clearAllTables() {
-        session.close();
-        cluster.close();
-    }
     
     private Optional<Session> tryInitializeSession() {
         try {


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[12/20] james-project git commit: JAMES-2315 Move Bug tracker to contribute section

Posted by bt...@apache.org.
JAMES-2315 Move Bug tracker to contribute section


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/809f23e4
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/809f23e4
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/809f23e4

Branch: refs/heads/master
Commit: 809f23e4efc3bf0ce74123223f065505fb13da4d
Parents: 81382bc
Author: benwa <bt...@linagora.com>
Authored: Thu Feb 1 09:31:26 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:35:52 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/809f23e4/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index a105762..2d922e1 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -160,16 +160,6 @@ WHAT WILL YOU TRY:</b><br>
                 </span>
               </li>
               <li class="post-template center-icon">
-                <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel"><span class="icon fa-bug"></span></a>
-                <span class="details">
-                  <b>Report bugs:</b>
-                  <br/>You can here enter bug encountered, share your point of view about a specific feature or anything else... <br/>
-                  Each subproject has its own bug tracker.<br/>
-                  <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" class="comm" alt="James Server bugtracker">Go to James Server project bugtracker</a>.<br/>
-                  For other projects click on the appropriate links mentioned in the concerned subproject. Finally, create your issue.
-                </span>
-              </li>
-              <li class="post-template center-icon">
                 <a href="http://twitter.com/ApacheJames" alt="twitter account"><span class="icon fa-twitter"></span></a>
                 <span class="details">
                   <b>Twitter:</b>
@@ -221,10 +211,20 @@ WHAT WILL YOU TRY:</b><br>
                   Contact us by <a href="https://james.apache.org/mail.html" class="comm" alt="mailing lists">email</a> or
                   on <a href="https://gitter.im/apache/james-project" class="comm" alt="Gitter chat room">Gitter</a> to share your experiences.
                   <br/>Don't hesitate to promote the Apache James project on your preferred medias.
-                  <br/>Report your bugs, propose enhancements on our <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" class="comm" alt="James Server bugtracker">bugtracker</a>.
                 </span>
               </li>
 
+                <li class="post-template center-icon">
+                    <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel"><span class="icon fa-bug"></span></a>
+                    <span class="details">
+                  <b>Report bugs:</b>
+                  <br/>You can here enter bug encountered, share your point of view about a specific feature or anything else... <br/>
+                  Each subproject has its own bug tracker.
+                  <a href="https://issues.apache.org/jira/browse/JAMES/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" class="comm" alt="James Server bugtracker">Go to James Server project bugtracker</a>.<br/>
+                  For other projects click on the appropriate links mentioned in the concerned subproject. Finally, create your issue.
+                </span>
+                </li>
+
               <li class="post-template center-icon">
                 <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20documentation%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC"><span class="icon fa-book "></span></a>
                 <span class="details">


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[03/20] james-project git commit: JAMES-2315 Fix typo s/READ MORE POST/READ MORE POSTS/

Posted by bt...@apache.org.
JAMES-2315 Fix typo s/READ MORE POST/READ MORE POSTS/


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/409f9d4f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/409f9d4f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/409f9d4f

Branch: refs/heads/master
Commit: 409f9d4fc5aa3628ba85fce2f127c34f4b2ddbd0
Parents: 2cb45db
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 10:56:50 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/409f9d4f/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index d0ed810..c17c6af 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -129,7 +129,7 @@ WHAT WILL YOU TRY:</b><br>
         </section>
         <footer>
           <ul class="actions">
-            <li><a href="posts.html" class="button">READ MORE POST</a></li>
+            <li><a href="posts.html" class="button">READ MORE POSTS</a></li>
           </ul>
         </footer>
       </section>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[02/20] james-project git commit: JAMES-2315 Add compulsory license link

Posted by bt...@apache.org.
JAMES-2315 Add compulsory license link


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2936b59a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2936b59a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2936b59a

Branch: refs/heads/master
Commit: 2936b59a634a5dd1d4b20dba5dbc0949bf220377
Parents: 409f9d4
Author: benwa <bt...@linagora.com>
Authored: Tue Jan 30 11:01:39 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Feb 1 17:31:47 2018 +0700

----------------------------------------------------------------------
 src/homepage/index.html | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2936b59a/src/homepage/index.html
----------------------------------------------------------------------
diff --git a/src/homepage/index.html b/src/homepage/index.html
index c17c6af..644fa41 100644
--- a/src/homepage/index.html
+++ b/src/homepage/index.html
@@ -306,6 +306,7 @@ WHAT WILL YOU TRY:</b><br>
         <h2>Copyright</h2>
         Apache James and related projects are trademarks of the Apache Software Foundation.<br/>
         <a href="http://www.apache.org/">Copyright 2006-2018 The Apache Software Foundation.. All Rights Reserved.</a><br/>
+        <a href="http://www.apache.org/licenses/">License</a><br/>
         <a href="http://www.apache.org/foundation/sponsorship.html">Donate</a> to support the Apache Foundation<br/>
         <a href="http://www.apache.org/foundation/thanks.html">Thanks</a><br/>
         Design: <a href="https://html5up.net">HTML5 UP</a><br/>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org