You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/08/16 09:45:34 UTC

[01/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Move from imperative to Stream API"

Repository: james-project
Updated Branches:
  refs/heads/master f40ce327c -> 34d63025e


http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
index 749504b..1e8b56f 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 
 import javax.mail.Header;
@@ -332,13 +333,12 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      */
     public String getEnvelopeTo()
     {
-        for (MailAddress mailAddress : getMail().getRecipients()) {
-            String recipient = mailAddress.toInternetAddress().getAddress();
-            if (recipient != null) {
-                return recipient;
-            }
-        }
-        return null;
+        return getMail().getRecipients()
+            .stream()
+            .map(mailAddress -> mailAddress.toInternetAddress().getAddress())
+            .filter(Objects::nonNull)
+            .findFirst()
+            .orElse(null);
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
index 9b9a97c..85475ee 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/AddressExtractor.java
@@ -175,11 +175,7 @@ public class AddressExtractor {
     }
 
     private boolean isAllowed(String addressString, List<String> allowedSpecials) {
-        for (String allowedSpecial : allowedSpecials) {
-            if (addressString.equals(allowedSpecial.toLowerCase(Locale.US).trim())) {
-                return true;
-            }
-        }
-        return false;
+        return allowedSpecials.stream()
+            .anyMatch(allowedSpecial -> addressString.equals(allowedSpecial.toLowerCase(Locale.US).trim()));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/SpecialAddressKind.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/SpecialAddressKind.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/SpecialAddressKind.java
index 30ed518..5d00dc3 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/SpecialAddressKind.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/redirect/SpecialAddressKind.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.transport.mailets.redirect;
 
+import java.util.Arrays;
+
 public enum SpecialAddressKind {
     SENDER("sender"),
     REVERSE_PATH("reverse.path"),
@@ -37,12 +39,10 @@ public enum SpecialAddressKind {
     }
 
     public static SpecialAddressKind forValue(String value) {
-        for (SpecialAddressKind kind : values()) {
-            if (kind.value.equals(value)) {
-                return kind;
-            }
-        }
-        return null;
+        return Arrays.stream(values())
+            .filter(kind -> kind.value.equals(value))
+            .findFirst()
+            .orElse(null);
     }
 
     public String getValue() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java
index 16ae192..fd7e043 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java
@@ -97,11 +97,9 @@ public class DelaysAndMaxRetry {
     }
 
     private static int computeTotalAttempts(List<Delay> delayList) {
-        int sum = 0;
-        for (Delay delay : delayList) {
-            sum += delay.getAttempts();
-        }
-        return sum;
+        return delayList.stream()
+            .mapToInt(Delay::getAttempts)
+            .sum();
     }
 
     private final int maxRetries;

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryConfiguration.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryConfiguration.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryConfiguration.java
index 221df2a..58173f2 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryConfiguration.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryConfiguration.java
@@ -23,12 +23,14 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
 
+import org.apache.commons.lang3.tuple.Pair;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.base.MailetUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Optional;
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
@@ -123,11 +125,12 @@ public class RemoteDeliveryConfiguration {
     private Properties computeJavaxProperties(MailetConfig mailetConfig) {
         Properties result = new Properties();
         // deal with <mail.*> attributes, passing them to javamail
-        for (String propertyName : ImmutableList.copyOf(mailetConfig.getInitParameterNames())) {
-            if (propertyName.startsWith(JAVAX_PREFIX)) {
-                result.put(propertyName, mailetConfig.getInitParameter(propertyName));
-            }
-        }
+        result.putAll(
+            ImmutableList.copyOf(mailetConfig.getInitParameterNames())
+                .stream()
+                .filter(propertyName -> propertyName.startsWith(JAVAX_PREFIX))
+                .map(propertyName -> Pair.of(propertyName, mailetConfig.getInitParameter(propertyName)))
+                .collect(Guavate.toImmutableMap(Pair::getKey, Pair::getValue)));
         return result;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
index 6dfad6c..c491586 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
@@ -18,6 +18,10 @@
  ****************************************************************/
 package org.apache.james.protocols.lib;
 
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 import org.apache.commons.configuration.CombinedConfiguration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.ConfigurationUtils;
@@ -30,9 +34,6 @@ import org.apache.james.protocols.api.handler.WiringException;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 
-import java.util.LinkedList;
-import java.util.List;
-
 public class ProtocolHandlerChainImpl implements ProtocolHandlerChain {
 
     private final ProtocolHandlerLoader loader;
@@ -137,15 +138,10 @@ public class ProtocolHandlerChainImpl implements ProtocolHandlerChain {
     @SuppressWarnings("unchecked")
     @Override
     public <T> LinkedList<T> getHandlers(Class<T> type) {
-        LinkedList<T> hList = new LinkedList<T>();
-
-        for (Object h : handlers) {
-            if (type.isInstance(h)) {
-                hList.add((T) h);
-
-            }
-        }
-        return hList;
+        return handlers.stream()
+            .filter(type::isInstance)
+            .map(h -> (T) h)
+            .collect(Collectors.toCollection(LinkedList::new));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
index 75ce1c1..321628e 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
@@ -21,6 +21,7 @@ package org.apache.james.pop3server.mailbox;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -40,6 +41,8 @@ import org.apache.james.mailbox.model.MessageResult.FetchGroup;
 import org.apache.james.protocols.pop3.mailbox.Mailbox;
 import org.apache.james.protocols.pop3.mailbox.MessageMetaData;
 
+import com.github.steveash.guavate.Guavate;
+
 public class MailboxAdapter implements Mailbox {
 
     private static abstract class POP3FetchGroup implements FetchGroup {
@@ -167,11 +170,9 @@ public class MailboxAdapter implements Mailbox {
 
     @Override
     public void remove(String... uids) throws IOException {
-        List<MessageUid> uidList = new ArrayList<MessageUid>();
-
-        for (String uid : uids) {
-            uidList.add(MessageUid.of(Long.valueOf(uid)));
-        }
+        List<MessageUid> uidList = Arrays.stream(uids)
+            .map(uid -> MessageUid.of(Long.valueOf(uid)))
+            .collect(Guavate.toImmutableList());
 
         List<MessageRange> ranges = MessageRange.toRanges(uidList);
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
index a71e29f..01e1100 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
@@ -23,8 +23,10 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.HashSet;
 import java.util.Locale;
+import java.util.Objects;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 import org.apache.james.smtpserver.TLDLookup;
 
@@ -186,18 +188,12 @@ public class URIScanner {
      * @return newDomains the domains which were extracted
      */
     static public HashSet<String> scanContentForDomains(HashSet<String> domains, CharSequence content) {
-        HashSet<String> newDomains = new HashSet<String>();
         HashSet<String> hosts = scanContentForHosts(content);
-        for (String host : hosts) {
-            final String domain = domainFromHost(host);
-
-            if (null != domain) {
-                if (!domains.contains(domain)) {
-                    newDomains.add(domain);
-                }
-            }
-        }
-        return newDomains;
+        return hosts.stream()
+            .map(URIScanner::domainFromHost)
+            .filter(Objects::nonNull)
+            .filter(domain -> !domains.contains(domain))
+            .collect(Collectors.toCollection(HashSet::new));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
index f97c287..62e35b3 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
@@ -19,7 +19,7 @@
 package org.apache.james.smtpserver.fastfail;
 
 import java.net.UnknownHostException;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 
@@ -41,6 +41,8 @@ import org.apache.james.protocols.smtp.hook.RcptHook;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.github.steveash.guavate.Guavate;
+
 /**
  * This class can be used to reject email with bogus MX which is send from a
  * authorized user or an authorized network.
@@ -149,10 +151,9 @@ public class ValidRcptMX implements RcptHook, ProtocolHandler {
 
         if (networks.length == 0) {
 
-            Collection<String> bannedNetworks = new ArrayList<String>();
-            for (String network : networks) {
-                bannedNetworks.add(network.trim());
-            }
+            Collection<String> bannedNetworks = Arrays.stream(networks)
+                .map(String::trim)
+                .collect(Guavate.toImmutableList());
 
             setBannedNetworks(bannedNetworks, dnsService);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
index 7c3e9cd..2cd567e 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
@@ -18,17 +18,34 @@
  ****************************************************************/
 package org.apache.james.smtpserver.mock;
 
-import java.io.*;
-import java.util.*;
-import java.util.Map.Entry;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
 
 import javax.activation.DataHandler;
-import javax.mail.*;
+import javax.mail.Address;
+import javax.mail.Flags;
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Multipart;
+import javax.mail.Session;
 import javax.mail.internet.InternetAddress;
 import javax.mail.internet.InternetHeaders;
 import javax.mail.internet.MimeMessage;
 import javax.mail.search.SearchTerm;
 
+import com.github.steveash.guavate.Guavate;
+
 public class MockMimeMessage extends MimeMessage {
 
     private final List<Address> fromAddresses = new ArrayList<Address>();
@@ -446,12 +463,11 @@ public class MockMimeMessage extends MimeMessage {
         return Collections.enumeration(getHeadersAsStrings(contentHeaders));
     }
 
-    private ArrayList<String> getHeadersAsStrings(HashMap<String, String> contentHeaders) {
-        ArrayList<String> headerLines = new ArrayList<String>();
-        for (Entry<String, String> entry : contentHeaders.entrySet()) {
-            headerLines.add(entry.getKey() + ":" + entry.getValue());
-        }
-        return headerLines;
+    private List<String> getHeadersAsStrings(HashMap<String, String> contentHeaders) {
+        return contentHeaders.entrySet()
+            .stream()
+            .map(entry -> entry.getKey() + ":" + entry.getValue())
+            .collect(Guavate.toImmutableList());
     }
 
     @Override


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


[06/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Convert to lambas"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index 355070b..cc7083c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -547,26 +547,23 @@ public class StoreMailboxManager implements MailboxManager {
             final List<MailboxId> mailboxIds = new ArrayList<MailboxId>();
             for (final MailboxPath mailbox : mailboxPath.getHierarchyLevels(getDelimiter()))
 
-                locker.executeWithLock(mailboxSession, mailbox, new LockAwareExecution<Void>() {
+                locker.executeWithLock(mailboxSession, mailbox, (LockAwareExecution<Void>) () -> {
+                    if (!mailboxExists(mailbox, mailboxSession)) {
+                        final Mailbox m = doCreateMailbox(mailbox, mailboxSession);
+                        final MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
+                        mapper.execute(new TransactionalMapper.VoidTransaction() {
 
-                    public Void execute() throws MailboxException {
-                        if (!mailboxExists(mailbox, mailboxSession)) {
-                            final org.apache.james.mailbox.store.mail.model.Mailbox m = doCreateMailbox(mailbox, mailboxSession);
-                            final MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
-                            mapper.execute(new TransactionalMapper.VoidTransaction() {
+                            public void runVoid() throws MailboxException {
+                                mailboxIds.add(mapper.save(m));
+                            }
 
-                                public void runVoid() throws MailboxException {
-                                    mailboxIds.add(mapper.save(m));
-                                }
-
-                            });
-
-                            // notify listeners
-                            dispatcher.mailboxAdded(mailboxSession, m);
-                        }
-                        return null;
+                        });
 
+                        // notify listeners
+                        dispatcher.mailboxAdded(mailboxSession, m);
                     }
+                    return null;
+
                 }, true);
 
             if (!mailboxIds.isEmpty()) {
@@ -581,21 +578,17 @@ public class StoreMailboxManager implements MailboxManager {
         session.getLog().info("deleteMailbox " + mailboxPath);
         final MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(session);
 
-        Mailbox mailbox = mapper.execute(new Mapper.Transaction<Mailbox>() {
-
-            public Mailbox run() throws MailboxException {
-                final Mailbox mailbox = mapper.findMailboxByPath(mailboxPath);
-                if (mailbox == null) {
-                    throw new MailboxNotFoundException("Mailbox not found");
-                }
-
-                // We need to create a copy of the mailbox as maybe we can not refer to the real
-                // mailbox once we remove it 
-                SimpleMailbox m = new SimpleMailbox(mailbox);
-                mapper.delete(mailbox);
-                return m;
+        Mailbox mailbox = mapper.execute((Mapper.Transaction<Mailbox>) () -> {
+            final Mailbox mailbox1 = mapper.findMailboxByPath(mailboxPath);
+            if (mailbox1 == null) {
+                throw new MailboxNotFoundException("Mailbox not found");
             }
 
+            // We need to create a copy of the mailbox as maybe we can not refer to the real
+            // mailbox once we remove it
+            SimpleMailbox m = new SimpleMailbox(mailbox1);
+            mapper.delete(mailbox1);
+            return m;
         });
 
         dispatcher.mailboxDeleted(session, mailbox);
@@ -629,24 +622,21 @@ public class StoreMailboxManager implements MailboxManager {
 
                 // rename submailboxes
                 final MailboxPath children = new MailboxPath(MailboxConstants.USER_NAMESPACE, from.getUser(), from.getName() + getDelimiter() + "%");
-                locker.executeWithLock(session, children, new LockAwareExecution<Void>() {
-
-                    public Void execute() throws MailboxException {
-                        final List<Mailbox> subMailboxes = mapper.findMailboxWithPathLike(children);
-                        for (Mailbox sub : subMailboxes) {
-                            final String subOriginalName = sub.getName();
-                            final String subNewName = to.getName() + subOriginalName.substring(from.getName().length());
-                            final MailboxPath fromPath = new MailboxPath(children, subOriginalName);
-                            sub.setName(subNewName);
-                            mapper.save(sub);
-                            dispatcher.mailboxRenamed(session, fromPath, sub);
-
-                            if (log.isDebugEnabled())
-                                log.debug("Rename mailbox sub-mailbox " + subOriginalName + " to " + subNewName);
-                        }
-                        return null;
-
+                locker.executeWithLock(session, children, (LockAwareExecution<Void>) () -> {
+                    final List<Mailbox> subMailboxes = mapper.findMailboxWithPathLike(children);
+                    for (Mailbox sub : subMailboxes) {
+                        final String subOriginalName = sub.getName();
+                        final String subNewName = to.getName() + subOriginalName.substring(from.getName().length());
+                        final MailboxPath fromPath = new MailboxPath(children, subOriginalName);
+                        sub.setName(subNewName);
+                        mapper.save(sub);
+                        dispatcher.mailboxRenamed(session, fromPath, sub);
+
+                        if (log.isDebugEnabled())
+                            log.debug("Rename mailbox sub-mailbox " + subOriginalName + " to " + subNewName);
                     }
+                    return null;
+
                 }, true);
             }
         });
@@ -672,11 +662,8 @@ public class StoreMailboxManager implements MailboxManager {
     
     private List<MessageRange> copyMessages(MessageRange set, final MailboxSession session,
             final StoreMessageManager toMailbox, final StoreMessageManager fromMailbox) throws MailboxException {
-        return copyBatcher.batchMessages(set, new MessageBatcher.BatchedOperation() {
-            public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
-                return fromMailbox.copyTo(messageRange, toMailbox, session);
-            }
-        });
+        return copyBatcher.batchMessages(set,
+            messageRange -> fromMailbox.copyTo(messageRange, toMailbox, session));
     }
 
     @Override
@@ -684,11 +671,8 @@ public class StoreMailboxManager implements MailboxManager {
         final StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
         final StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
 
-        return moveBatcher.batchMessages(set, new MessageBatcher.BatchedOperation() {
-            public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
-                return fromMailbox.moveTo(messageRange, toMailbox, session);
-            }
-        });
+        return moveBatcher.batchMessages(set,
+            messageRange -> fromMailbox.moveTo(messageRange, toMailbox, session));
     }
 
     @Override
@@ -737,16 +721,7 @@ public class StoreMailboxManager implements MailboxManager {
 
     private boolean hasChildIn(Mailbox parentMailbox, List<Mailbox> mailboxesWithPathLike, MailboxSession mailboxSession) {
         return FluentIterable.from(mailboxesWithPathLike)
-            .anyMatch(isChildren(parentMailbox, mailboxSession));
-    }
-
-    private Predicate<Mailbox> isChildren(final Mailbox parentMailbox, final MailboxSession mailboxSession) {
-        return new Predicate<Mailbox>() {
-            @Override
-            public boolean apply(Mailbox mailbox) {
-                return mailbox.isChildOf(parentMailbox, mailboxSession);
-            }
-        };
+            .anyMatch(mailbox -> mailbox.isChildOf(parentMailbox, mailboxSession));
     }
 
     @Override
@@ -871,12 +846,8 @@ public class StoreMailboxManager implements MailboxManager {
         final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
         final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
 
-        return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
-            @Override
-            public List<MailboxAnnotation> run() throws MailboxException {
-                return annotationMapper.getAllAnnotations(mailboxId);
-            }
-        });
+        return annotationMapper.execute(
+            () -> annotationMapper.getAllAnnotations(mailboxId));
     }
 
     @Override
@@ -885,12 +856,8 @@ public class StoreMailboxManager implements MailboxManager {
         final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
         final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
 
-        return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
-            @Override
-            public List<MailboxAnnotation> run() throws MailboxException {
-                return annotationMapper.getAnnotationsByKeys(mailboxId, keys);
-            }
-        });
+        return annotationMapper.execute(
+            () -> annotationMapper.getAnnotationsByKeys(mailboxId, keys));
     }
 
     @Override
@@ -935,12 +902,8 @@ public class StoreMailboxManager implements MailboxManager {
         final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
         final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
 
-        return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
-            @Override
-            public List<MailboxAnnotation> run() throws MailboxException {
-                return annotationMapper.getAnnotationsByKeysWithOneDepth(mailboxId, keys);
-            }
-        });
+        return annotationMapper.execute(
+            () -> annotationMapper.getAnnotationsByKeysWithOneDepth(mailboxId, keys));
     }
 
     @Override
@@ -949,12 +912,8 @@ public class StoreMailboxManager implements MailboxManager {
         final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
         final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
 
-        return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
-            @Override
-            public List<MailboxAnnotation> run() throws MailboxException {
-                return annotationMapper.getAnnotationsByKeysWithAllDepth(mailboxId, keys);
-            }
-        });
+        return annotationMapper.execute(
+            () -> annotationMapper.getAnnotationsByKeysWithAllDepth(mailboxId, keys));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
index 3d06f87..fc9da70 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
@@ -66,21 +66,6 @@ import com.google.common.collect.Sets;
 import com.google.common.collect.Sets.SetView;
 
 public class StoreMessageIdManager implements MessageIdManager {
-
-    private static final Function<MailboxMessage, MetadataWithMailboxId> EXTRACT_METADATA_FUNCTION = new Function<MailboxMessage, MetadataWithMailboxId>() {
-        @Override
-        public MetadataWithMailboxId apply(MailboxMessage mailboxMessage) {
-            return new MetadataWithMailboxId(new SimpleMessageMetaData(mailboxMessage), mailboxMessage.getMailboxId());
-        }
-    };
-
-    private static final Function<MailboxMessage, MailboxId> EXTRACT_MAILBOX_ID_FUNCTION = new Function<MailboxMessage, MailboxId>() {
-        @Override
-        public MailboxId apply(MailboxMessage input) {
-            return input.getMailboxId();
-        }
-    };
-
     private final MailboxSessionMapperFactory mailboxSessionMapperFactory;
     private final MailboxEventDispatcher dispatcher;
     private final MessageId.Factory messageIdFactory;
@@ -118,7 +103,7 @@ public class StoreMessageIdManager implements MessageIdManager {
             final MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
             List<MailboxMessage> messageList = messageIdMapper.find(messageIds, MessageMapper.FetchType.Full);
             ImmutableSet<MailboxId> mailboxIds = FluentIterable.from(messageList)
-                .transform(EXTRACT_MAILBOX_ID_FUNCTION)
+                .transform(MailboxMessage::getMailboxId)
                 .toSet();
             final ImmutableSet<MailboxId> allowedMailboxIds = FluentIterable.from(mailboxIds)
                 .filter(mailboxBelongsToUser(mailboxSession, mailboxMapper))
@@ -142,7 +127,9 @@ public class StoreMessageIdManager implements MessageIdManager {
         Iterable<MetadataWithMailboxId> metadatasWithMailbox = FluentIterable
             .from(messageIdMapper.find(ImmutableList.of(messageId), MessageMapper.FetchType.Metadata))
             .filter(inMailboxes(mailboxIds))
-            .transform(EXTRACT_METADATA_FUNCTION);
+            .transform(mailboxMessage -> new MetadataWithMailboxId(
+                new SimpleMessageMetaData(mailboxMessage),
+                mailboxMessage.getMailboxId()));
 
         messageIdMapper.delete(messageId, mailboxIds);
 
@@ -164,7 +151,7 @@ public class StoreMessageIdManager implements MessageIdManager {
 
         if (!mailboxMessages.isEmpty()) {
             ImmutableSet<MailboxId> currentMailboxes = FluentIterable.from(mailboxMessages)
-                .transform(EXTRACT_MAILBOX_ID_FUNCTION)
+                .transform(MailboxMessage::getMailboxId)
                 .toSet();
             HashSet<MailboxId> targetMailboxes = Sets.newHashSet(mailboxIds);
             List<MailboxId> mailboxesToRemove = ImmutableList.copyOf(Sets.difference(currentMailboxes, targetMailboxes));
@@ -253,38 +240,27 @@ public class StoreMessageIdManager implements MessageIdManager {
     }
 
     private Function<MailboxMessage, MessageResult> messageResultConverter(final MessageResult.FetchGroup fetchGroup) {
-        return new Function<MailboxMessage, MessageResult>() {
-            @Override
-            public MessageResult apply(MailboxMessage input) {
-                try {
-                    return ResultUtils.loadMessageResult(input, fetchGroup);
-                } catch (MailboxException e) {
-                    throw new WrappedException(e);
-                }
+        return input -> {
+            try {
+                return ResultUtils.loadMessageResult(input, fetchGroup);
+            } catch (MailboxException e) {
+                throw new WrappedException(e);
             }
         };
     }
 
     private Predicate<MailboxMessage> inMailboxes(final Collection<MailboxId> mailboxIds) {
-        return new Predicate<MailboxMessage>() {
-            @Override
-            public boolean apply(MailboxMessage mailboxMessage) {
-                return mailboxIds.contains(mailboxMessage.getMailboxId());
-            }
-        };
+        return mailboxMessage -> mailboxIds.contains(mailboxMessage.getMailboxId());
     }
 
     private Predicate<MailboxId> mailboxBelongsToUser(final MailboxSession mailboxSession, final MailboxMapper mailboxMapper) {
-        return new Predicate<MailboxId>() {
-            @Override
-            public boolean apply(MailboxId mailboxId) {
-                try {
-                    Mailbox currentMailbox = mailboxMapper.findMailboxById(mailboxId);
-                    return belongsToCurrentUser(currentMailbox, mailboxSession);
-                } catch (MailboxException e) {
-                    mailboxSession.getLog().error(String.format("Can not retrieve mailboxPath associated with %s", mailboxId.serialize()), e);
-                    return false;
-                }
+        return mailboxId -> {
+            try {
+                Mailbox currentMailbox = mailboxMapper.findMailboxById(mailboxId);
+                return belongsToCurrentUser(currentMailbox, mailboxSession);
+            } catch (MailboxException e) {
+                mailboxSession.getLog().error(String.format("Can not retrieve mailboxPath associated with %s", mailboxId.serialize()), e);
+                return false;
             }
         };
     }
@@ -292,7 +268,7 @@ public class StoreMessageIdManager implements MessageIdManager {
     private Predicate<MailboxMessage> messageBelongsToUser(MailboxSession mailboxSession, MailboxMapper mailboxMapper) {
         return Predicates.compose(
             mailboxBelongsToUser(mailboxSession, mailboxMapper),
-            EXTRACT_MAILBOX_ID_FUNCTION);
+            MailboxMessage::getMailboxId);
     }
 
     private void allowOnMailboxSession(List<MailboxId> mailboxIds, MailboxSession mailboxSession, MailboxMapper mailboxMapper) throws MailboxNotFoundException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
index 137433c..e4e3c30 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
@@ -82,7 +82,6 @@ import org.apache.james.mailbox.store.quota.QuotaChecker;
 import org.apache.james.mailbox.store.search.MessageSearchIndex;
 import org.apache.james.mailbox.store.streaming.BodyOffsetInputStream;
 import org.apache.james.mailbox.store.streaming.CountingInputStream;
-import org.apache.james.mailbox.store.transaction.Mapper;
 import org.apache.james.mime4j.MimeException;
 import org.apache.james.mime4j.message.DefaultBodyDescriptorBuilder;
 import org.apache.james.mime4j.message.HeaderImpl;
@@ -95,7 +94,6 @@ import org.apache.james.util.IteratorWrapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Function;
 import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
@@ -140,15 +138,6 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
 
     private static final Logger LOG = LoggerFactory.getLogger(StoreMessageManager.class);
 
-    private static final Predicate<MessageAttachment> NOT_INLINE_ATTACHMENT() {
-        return new Predicate<MessageAttachment>() {
-            @Override
-            public boolean apply(MessageAttachment input) {
-                return !input.isInlinedWithCid();
-            }
-        };
-    }
-
     private final Mailbox mailbox;
 
     private final MailboxEventDispatcher dispatcher;
@@ -427,16 +416,12 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
 
             new QuotaChecker(quotaManager, quotaRootResolver, mailbox).tryAddition(1, size);
 
-            return locker.executeWithLock(mailboxSession, getMailboxPath(), new MailboxPathLocker.LockAwareExecution<ComposedMessageId>() {
-
-                @Override
-                public ComposedMessageId execute() throws MailboxException {
-                    MessageMetaData data = appendMessageToStore(message, attachments, mailboxSession);
+            return locker.executeWithLock(mailboxSession, getMailboxPath(), () -> {
+                MessageMetaData data = appendMessageToStore(message, attachments, mailboxSession);
 
-                    Mailbox mailbox = getMailboxEntity();
-                    dispatcher.added(mailboxSession, mailbox, message);
-                    return new ComposedMessageId(mailbox.getMailboxId(), data.getMessageId(), data.getUid());
-                }
+                Mailbox mailbox = getMailboxEntity();
+                dispatcher.added(mailboxSession, mailbox, message);
+                return new ComposedMessageId(mailbox.getMailboxId(), data.getMessageId(), data.getUid());
             }, true);
 
         } catch (IOException e) {
@@ -462,7 +447,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
     }
 
     private boolean hasNonInlinedAttachment(List<MessageAttachment> attachments) {
-        return FluentIterable.from(attachments).anyMatch(NOT_INLINE_ATTACHMENT());
+        return FluentIterable.from(attachments)
+            .anyMatch(messageAttachment -> !messageAttachment.isInlinedWithCid());
     }
 
     private List<MessageAttachment> extractAttachments(SharedFileInputStream contentIn) {
@@ -500,10 +486,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
         final Flags permanentFlags = getPermanentFlags(mailboxSession);
         final long uidValidity = getMailboxEntity().getUidValidity();
         MessageUid uidNext = mapperFactory.getMessageMapper(mailboxSession).getLastUid(mailbox)
-                .transform(new Function<MessageUid, MessageUid>() {
-                    public MessageUid apply(MessageUid input) {
-                        return input.next();
-                    }})
+                .transform(MessageUid::next)
                 .or(MessageUid.MIN_VALUE);
         final long highestModSeq = mapperFactory.getMessageMapper(mailboxSession).getHighestModSeq(mailbox);
         final long messageCount;
@@ -597,12 +580,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
 
         final MessageMapper messageMapper = mapperFactory.getMessageMapper(mailboxSession);
 
-        Iterator<UpdatedFlags> it = messageMapper.execute(new Mapper.Transaction<Iterator<UpdatedFlags>>() {
-
-            public Iterator<UpdatedFlags> run() throws MailboxException {
-                return messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(flags, flagsUpdateMode), set);
-            }
-        });
+        Iterator<UpdatedFlags> it = messageMapper.execute(() -> messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(flags, flagsUpdateMode), set));
 
         final SortedMap<MessageUid, UpdatedFlags> uFlags = new TreeMap<MessageUid, UpdatedFlags>();
 
@@ -612,7 +590,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
             uFlags.put(flag.getUid(), flag);
         }
 
-        dispatcher.flagsUpdated(mailboxSession, new ArrayList<MessageUid>(uFlags.keySet()), getMailboxEntity(), new ArrayList<UpdatedFlags>(uFlags.values()));
+        dispatcher.flagsUpdated(mailboxSession, new ArrayList<>(uFlags.keySet()), getMailboxEntity(), new ArrayList<UpdatedFlags>(uFlags.values()));
 
         return newFlagsByUid;
     }
@@ -630,13 +608,9 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
             throw new ReadOnlyException(new StoreMailboxPath(toMailbox.getMailboxEntity()), session.getPathDelimiter());
         }
 
-        return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), new MailboxPathLocker.LockAwareExecution<List<MessageRange>>() {
-
-            @Override
-            public List<MessageRange> execute() throws MailboxException {
-                SortedMap<MessageUid, MessageMetaData> copiedUids = copy(set, toMailbox, session);
-                return MessageRange.toRanges(new ArrayList<MessageUid>(copiedUids.keySet()));
-            }
+        return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), () -> {
+            SortedMap<MessageUid, MessageMetaData> copiedUids = copy(set, toMailbox, session);
+            return MessageRange.toRanges(new ArrayList<>(copiedUids.keySet()));
         }, true);
     }
 
@@ -657,30 +631,22 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
         }
 
         //TODO lock the from mailbox too, in a non-deadlocking manner - how?
-        return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), new MailboxPathLocker.LockAwareExecution<List<MessageRange>>() {
-
-            @Override
-            public List<MessageRange> execute() throws MailboxException {
-                SortedMap<MessageUid, MessageMetaData> movedUids = move(set, toMailbox, session);
-                return MessageRange.toRanges(new ArrayList<MessageUid>(movedUids.keySet()));
-            }
+        return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), () -> {
+            SortedMap<MessageUid, MessageMetaData> movedUids = move(set, toMailbox, session);
+            return MessageRange.toRanges(new ArrayList<>(movedUids.keySet()));
         }, true);
     }
 
     protected MessageMetaData appendMessageToStore(final MailboxMessage message, final List<MessageAttachment> messageAttachments, MailboxSession session) throws MailboxException {
         final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
         final AttachmentMapper attachmentMapper = mapperFactory.getAttachmentMapper(session);
-        return mapperFactory.getMessageMapper(session).execute(new Mapper.Transaction<MessageMetaData>() {
-
-            public MessageMetaData run() throws MailboxException {
-                ImmutableList.Builder<Attachment> attachments = ImmutableList.builder();
-                for (MessageAttachment attachment : messageAttachments) {
-                    attachments.add(attachment.getAttachment());
-                }
-                attachmentMapper.storeAttachments(attachments.build());
-                return messageMapper.add(getMailboxEntity(), message);
+        return mapperFactory.getMessageMapper(session).execute(() -> {
+            ImmutableList.Builder<Attachment> attachments = ImmutableList.builder();
+            for (MessageAttachment attachment : messageAttachments) {
+                attachments.add(attachment.getAttachment());
             }
-
+            attachmentMapper.storeAttachments(attachments.build());
+            return messageMapper.add(getMailboxEntity(), message);
         });
     }
 
@@ -713,23 +679,19 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
         }
         final MessageMapper messageMapper = mapperFactory.getMessageMapper(mailboxSession);
 
-        return messageMapper.execute(new Mapper.Transaction<List<MessageUid>>() {
-
-            public List<MessageUid> run() throws MailboxException {
-                final List<MessageUid> members = messageMapper.findRecentMessageUidsInMailbox(getMailboxEntity());
+        return messageMapper.execute(() -> {
+            final List<MessageUid> members = messageMapper.findRecentMessageUidsInMailbox(getMailboxEntity());
 
-                // Convert to MessageRanges so we may be able to optimize the
-                // flag update
-                List<MessageRange> ranges = MessageRange.toRanges(members);
-                for (MessageRange range : ranges) {
-                    if (reset) {
-                        // only call save if we need to
-                        messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REMOVE), range);
-                    }
+            // Convert to MessageRanges so we may be able to optimize the
+            // flag update
+            List<MessageRange> ranges = MessageRange.toRanges(members);
+            for (MessageRange range : ranges) {
+                if (reset) {
+                    // only call save if we need to
+                    messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REMOVE), range);
                 }
-                return members;
             }
-
+            return members;
         });
 
     }
@@ -738,13 +700,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
 
         final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
 
-        return messageMapper.execute(new Mapper.Transaction<Map<MessageUid, MessageMetaData>>() {
-
-            public Map<MessageUid, MessageMetaData> run() throws MailboxException {
-                return messageMapper.expungeMarkedForDeletionInMailbox(getMailboxEntity(), range);
-            }
-
-        });
+        return messageMapper.execute(
+            () -> messageMapper.expungeMarkedForDeletionInMailbox(getMailboxEntity(), range));
     }
 
     @Override
@@ -763,13 +720,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
         while (originalRows.hasNext()) {
             final MailboxMessage originalMessage = originalRows.next();
             quotaChecker.tryAddition(1, originalMessage.getFullContentOctets());
-            MessageMetaData data = messageMapper.execute(new Mapper.Transaction<MessageMetaData>() {
-                public MessageMetaData run() throws MailboxException {
-                    return messageMapper.copy(getMailboxEntity(), originalMessage);
-
-                }
-
-            });
+            MessageMetaData data = messageMapper.execute(
+                () -> messageMapper.copy(getMailboxEntity(), originalMessage));
             copiedRows.add(data);
         }
         return copiedRows.iterator();
@@ -783,12 +735,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
         while (originalRows.hasNext()) {
             final MailboxMessage originalMessage = originalRows.next();
             originalRowsCopy.add(new SimpleMessageMetaData(originalMessage));
-            MessageMetaData data = messageMapper.execute(new Mapper.Transaction<MessageMetaData>() {
-                public MessageMetaData run() throws MailboxException {
-                    return messageMapper.move(getMailboxEntity(), originalMessage);
-                }
-
-            });
+            MessageMetaData data = messageMapper.execute(
+                () -> messageMapper.move(getMailboxEntity(), originalMessage));
             movedRows.add(data);
         }
         return new MoveResult(movedRows.iterator(), originalRowsCopy.iterator());
@@ -897,11 +845,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
     private Iterator<MessageUid> listAllMessageUids(MailboxSession session) throws MailboxException {
         final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
 
-        return messageMapper.execute(new Mapper.Transaction<Iterator<MessageUid>>() {
-            @Override
-            public Iterator<MessageUid> run() throws MailboxException {
-                return messageMapper.listAllMessageUids(mailbox);
-            }
-        });
+        return messageMapper.execute(
+            () -> messageMapper.listAllMessageUids(mailbox));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
index 33f1e75..81c5793 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
@@ -19,12 +19,13 @@
 
 package org.apache.james.mailbox.store.event;
 
-import org.apache.james.mailbox.MailboxListener;
-
-import javax.annotation.PreDestroy;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import javax.annotation.PreDestroy;
+
+import org.apache.james.mailbox.MailboxListener;
+
 public class AsynchronousEventDelivery implements EventDelivery {
 
     private final ExecutorService threadPoolExecutor;
@@ -37,12 +38,7 @@ public class AsynchronousEventDelivery implements EventDelivery {
 
     @Override
     public void deliver(final MailboxListener mailboxListener, final MailboxListener.Event event) {
-        threadPoolExecutor.submit(new Runnable() {
-            @Override
-            public void run() {
-                synchronousEventDelivery.deliver(mailboxListener, event);
-            }
-        });
+        threadPoolExecutor.submit(() -> synchronousEventDelivery.deliver(mailboxListener, event));
     }
 
     @PreDestroy

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
index 3277d4c..3598eaa 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
@@ -19,18 +19,18 @@
 
 package org.apache.james.mailbox.store.json.event.dto;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.store.SimpleMailboxSession;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.collect.Lists;
 
 public class MailboxSessionDataTransferObject {
     @JsonProperty()
@@ -61,11 +61,7 @@ public class MailboxSessionDataTransferObject {
         separator = session.getPathDelimiter();
         sessionType = extractSessionType(session);
         sessionId = session.getSessionId();
-        locales = Lists.transform(session.getUser().getLocalePreferences(), new Function<Locale, LocaleDataTransferObject>() {
-            public LocaleDataTransferObject apply(Locale locale) {
-                return new LocaleDataTransferObject(locale);
-            }
-        });
+        locales = Lists.transform(session.getUser().getLocalePreferences(), LocaleDataTransferObject::new);
     }
 
     @JsonIgnore
@@ -83,11 +79,7 @@ public class MailboxSessionDataTransferObject {
 
     private List<Locale> retrieveLocales() {
         if (locales != null) {
-            return Lists.transform(locales, new Function<LocaleDataTransferObject, Locale>() {
-                public Locale apply(LocaleDataTransferObject localeDataTransferObject) {
-                    return localeDataTransferObject.getLocale();
-                }
-            });
+            return Lists.transform(locales, LocaleDataTransferObject::getLocale);
         } else {
             return new ArrayList<Locale>();
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
index e7c3e93..637d003 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
@@ -49,12 +49,8 @@ public class MessageMetaDataDataTransferObject {
 
     private static final Logger LOG = LoggerFactory.getLogger(MessageMetaDataDataTransferObject.class);
 
-    private static final ThreadLocal<SimpleDateFormat> simpleDateFormat = new ThreadLocal<SimpleDateFormat>(){
-        protected SimpleDateFormat initialValue()
-        {
-            return new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
-        }
-    };
+    private static final ThreadLocal<SimpleDateFormat> simpleDateFormat = ThreadLocal.withInitial(
+        () -> new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"));
 
     private static Date parse(String date) throws ParseException {
         if (date != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
index bd0a31c..e5d8103 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
@@ -20,7 +20,6 @@ package org.apache.james.mailbox.store.mail;
 
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.james.mailbox.MailboxPathLocker;
-import org.apache.james.mailbox.MailboxPathLocker.LockAwareExecution;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxId;
@@ -43,13 +42,10 @@ public abstract class AbstractLockingModSeqProvider implements ModSeqProvider{
     
     @Override
     public long nextModSeq(final MailboxSession session, final Mailbox mailbox) throws MailboxException {
-        return locker.executeWithLock(session, new StoreMailboxPath(mailbox), new LockAwareExecution<Long>() {
-
-            @Override
-            public Long execute() throws MailboxException {
-                return lockedNextModSeq(session, mailbox);
-            }
-        }, true);
+        boolean writeLock = true;
+        return locker.executeWithLock(session, new StoreMailboxPath(mailbox),
+            () -> lockedNextModSeq(session, mailbox),
+            writeLock);
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
index 33586dc..d3d5c8e 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
@@ -20,7 +20,6 @@ package org.apache.james.mailbox.store.mail;
 
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.james.mailbox.MailboxPathLocker;
-import org.apache.james.mailbox.MailboxPathLocker.LockAwareExecution;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -45,13 +44,10 @@ public abstract class AbstractLockingUidProvider implements UidProvider{
     
     @Override
     public MessageUid nextUid(final MailboxSession session, final Mailbox mailbox) throws MailboxException {
-        return locker.executeWithLock(session, new StoreMailboxPath(mailbox), new LockAwareExecution<MessageUid>() {
-
-            @Override
-            public MessageUid execute() throws MailboxException {
-                return lockedNextUid(session, mailbox);
-            }
-        }, true);
+        boolean writeLock = true;
+        return locker.executeWithLock(session, new StoreMailboxPath(mailbox),
+            () -> lockedNextUid(session, mailbox),
+            writeLock);
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
index cae0753..0cf6d8b 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
@@ -36,7 +36,6 @@ import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.transaction.TransactionalMapper;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.collect.Iterators;
 
@@ -46,12 +45,6 @@ import com.google.common.collect.Iterators;
  *
  */
 public abstract class AbstractMessageMapper extends TransactionalMapper implements MessageMapper {
-    private static final Function<MailboxMessage, MessageUid> TO_UID = new Function<MailboxMessage, MessageUid>() {
-        @Override
-        public MessageUid apply(MailboxMessage input) {
-            return input.getUid();
-        }
-    };
 
     private static final int UNLIMITED = -1;
 
@@ -159,6 +152,7 @@ public abstract class AbstractMessageMapper extends TransactionalMapper implemen
 
     @Override
     public Iterator<MessageUid> listAllMessageUids(Mailbox mailbox) throws MailboxException {
-        return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Metadata, UNLIMITED), TO_UID);
+        return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Metadata, UNLIMITED),
+            MailboxMessage::getUid);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
index 62bf74e..63f80af 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
@@ -161,28 +161,19 @@ public class MessageParser {
     }
 
     private Optional<String> contentType(Optional<ContentTypeField> contentTypeField) {
-        return contentTypeField.transform(new Function<ContentTypeField, Optional<String>>() {
-            @Override
-            public Optional<String> apply(ContentTypeField field) {
-                return Optional.fromNullable(field.getMimeType());
-            }
-        }).or(Optional.<String> absent());
+        return contentTypeField.transform(field -> Optional.fromNullable(field.getMimeType()))
+            .or(Optional.<String> absent());
     }
 
     private Optional<String> name(Optional<ContentTypeField> contentTypeField) {
-        return contentTypeField.transform(new Function<ContentTypeField, Optional<String>>() {
-            @Override
-            public Optional<String> apply(ContentTypeField field) {
-                return Optional.fromNullable(field.getParameter("name"))
-                  .transform(
-                          new Function<String, String>() {
-                              public String apply(String input) {
-                                  DecodeMonitor monitor = null;
-                                  return DecoderUtil.decodeEncodedWords(input, monitor);
-                              }
-                          });
-            }
-        }).or(Optional.<String> absent());
+        return contentTypeField
+            .transform(field -> Optional.fromNullable(field.getParameter("name"))
+                .transform(
+                    fieldValue -> {
+                        DecodeMonitor monitor = null;
+                        return DecoderUtil.decodeEncodedWords(fieldValue, monitor);
+                    }))
+            .or(Optional.<String> absent());
     }
 
     private Optional<Cid> cid(Optional<ContentIdField> contentIdField) {
@@ -194,12 +185,7 @@ public class MessageParser {
     }
 
     private Function<ContentIdField, Optional<Cid>> toCid() {
-        return new Function<ContentIdField, Optional<Cid>>() {
-            @Override
-            public Optional<Cid> apply(ContentIdField input) {
-                return cidParser.parse(input.getId());
-            }
-        };
+        return contentIdField -> cidParser.parse(contentIdField.getId());
     }
 
     private boolean isMultipart(Entity entity) {
@@ -207,12 +193,8 @@ public class MessageParser {
     }
 
     private boolean isInline(Optional<ContentDispositionField> contentDispositionField) {
-        return contentDispositionField.transform(new Function<ContentDispositionField, Boolean>() {
-            @Override
-            public Boolean apply(ContentDispositionField field) {
-                return field.isInline();
-            }
-        }).or(false);
+        return contentDispositionField.transform(ContentDispositionField::isInline)
+            .or(false);
     }
 
     private boolean isAttachment(Entity part, Context context) {
@@ -220,13 +202,9 @@ public class MessageParser {
             return false;
         }
         return Optional.fromNullable(part.getDispositionType())
-                .transform(new Function<String, Boolean>() {
-
-                    @Override
-                    public Boolean apply(String dispositionType) {
-                        return ATTACHMENT_CONTENT_DISPOSITIONS.contains(dispositionType.toLowerCase(Locale.US));
-                    }
-                }).or(false);
+                .transform(dispositionType -> ATTACHMENT_CONTENT_DISPOSITIONS.contains(
+                    dispositionType.toLowerCase(Locale.US)))
+            .or(false);
     }
 
     private boolean isTextPart(Entity part) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
index f69a458..2c88849 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
@@ -62,14 +62,9 @@ public class PropertyBuilder {
     public static final String HAS_ATTACHMENT = "HAS_ATTACHMENT";
 
     public static Predicate<Property> isHasAttachmentProperty() {
-        return new Predicate<Property>() {
-            @Override
-            public boolean apply(Property input) {
-                return input.getNamespace().equals(PropertyBuilder.JAMES_INTERNALS)
-                    && input.getLocalName().equals(PropertyBuilder.HAS_ATTACHMENT)
-                    && input.getValue().equals("true");
-            }
-        };
+        return property -> property.getNamespace().equals(PropertyBuilder.JAMES_INTERNALS)
+            && property.getLocalName().equals(PropertyBuilder.HAS_ATTACHMENT)
+            && property.getValue().equals("true");
     }
 
     private Long textualLineCount;
@@ -77,7 +72,7 @@ public class PropertyBuilder {
 
     public PropertyBuilder(List<Property> props) {
         textualLineCount = null;
-        properties = new ArrayList<SimpleProperty>(props.size());
+        properties = new ArrayList<>(props.size());
         for (Property property:props) {
             properties.add(new SimpleProperty(property));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
index 110430f..b95e153 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
@@ -24,21 +24,11 @@ import javax.mail.Flags;
 import org.apache.james.mailbox.ApplicableFlagBuilder;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.FluentIterable;
 
 public class ApplicableFlagCalculator {
 
-    private static Function<MailboxMessage, Flags> toFlags() {
-        return new Function<MailboxMessage, Flags>() {
-            @Override
-            public Flags apply(MailboxMessage mailboxMessage) {
-                return mailboxMessage.createFlags();
-            }
-        };
-    }
-
     private final Iterable<MailboxMessage> mailboxMessages;
 
     public ApplicableFlagCalculator(Iterable<MailboxMessage> mailboxMessages) {
@@ -49,7 +39,7 @@ public class ApplicableFlagCalculator {
     public Flags computeApplicableFlags() {
         return ApplicableFlagBuilder.builder()
                 .add(FluentIterable.from(mailboxMessages)
-                    .transform(toFlags())
+                    .transform(MailboxMessage::createFlags)
                     .toArray(Flags.class))
                 .build();
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
index 0a7df7d..4c66901 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
@@ -36,7 +36,6 @@ import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 
-import com.google.common.base.Function;
 import com.google.common.base.Throwables;
 import com.google.common.collect.Lists;
 
@@ -70,14 +69,11 @@ public class CurrentQuotaCalculator {
     private List<Mailbox> retrieveMailboxes(QuotaRoot quotaRoot, MailboxSession session) throws MailboxException {
         List<MailboxPath> paths = quotaRootResolver.retrieveAssociatedMailboxes(quotaRoot, session);
         final MailboxMapper mapper = factory.getMailboxMapper(session);
-        return Lists.transform(paths, new Function<MailboxPath, Mailbox>() {
-            @Override
-            public Mailbox apply(MailboxPath mailboxPath) {
-                try {
-                    return mapper.findMailboxByPath(mailboxPath);
-                } catch (MailboxException e) {
-                    throw Throwables.propagate(e);
-                }
+        return Lists.transform(paths, mailboxPath -> {
+            try {
+                return mapper.findMailboxByPath(mailboxPath);
+            } catch (MailboxException e) {
+                throw Throwables.propagate(e);
             }
         });
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
index 1e49b7d..4fa9cf6 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
@@ -31,7 +31,6 @@ import org.apache.james.mailbox.quota.QuotaRootResolver;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Splitter;
 import com.google.common.collect.Lists;
@@ -67,12 +66,8 @@ public class DefaultQuotaRootResolver implements QuotaRootResolver {
         }
         String namespace = parts.get(0);
         String user = parts.get(1);
-        return Lists.transform(factory.getMailboxMapper(mailboxSession).findMailboxWithPathLike(new MailboxPath(namespace, user, "%")),
-            new Function<Mailbox, MailboxPath>() {
-                @Override
-                public MailboxPath apply(Mailbox idMailbox) {
-                    return idMailbox.generateAssociatedPath();
-                }
-            });
+        return Lists.transform(factory.getMailboxMapper(mailboxSession)
+            .findMailboxWithPathLike(new MailboxPath(namespace, user, "%")),
+            Mailbox::generateAssociatedPath);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
index 84dc5fc..78fa9af 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
@@ -70,7 +70,6 @@ import org.apache.james.mime4j.stream.MimeConfig;
 import org.apache.james.mime4j.util.MimeUtil;
 import org.apache.james.mime4j.utils.search.MessageMatcher;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
@@ -123,15 +122,10 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search
         List<MailboxMessage> sortedResults = FluentIterable.from(builder.build())
             .toSortedList(CombinedComparator.create(query.getSorts()));
         return FluentIterable.from(sortedResults)
-            .transform(new Function<MailboxMessage, SimpleMessageSearchIndex.SearchResult>() {
-                @Override
-                public SimpleMessageSearchIndex.SearchResult apply(MailboxMessage input) {
-                    return new SimpleMessageSearchIndex.SearchResult(
-                        Optional.of(input.getMessageId()),
-                        input.getMailboxId(),
-                        input.getUid());
-                }
-            })
+            .transform(mailboxMessage -> new SimpleMessageSearchIndex.SearchResult(
+                Optional.of(mailboxMessage.getMessageId()),
+                mailboxMessage.getMailboxId(),
+                mailboxMessage.getUid()))
             .iterator();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
index d95b22a..082d90c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
 import java.util.EnumSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
@@ -32,7 +31,6 @@ import org.apache.james.mailbox.MailboxManager.SearchCapabilities;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.MessageRange;
@@ -49,9 +47,7 @@ import org.apache.james.mailbox.store.mail.MessageMapperFactory;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
 
@@ -103,8 +99,8 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
     public Iterator<MessageUid> search(MailboxSession session, final Mailbox mailbox, SearchQuery query) throws MailboxException {
         Preconditions.checkArgument(session != null, "'session' is mandatory");
         return FluentIterable.from(searchResults(session, ImmutableList.of(mailbox), query))
-                .filter(isInMailbox(mailbox))
-                .transform(toMessageUid())
+                .filter(searchResult -> searchResult.getMailboxId().equals(mailbox.getMailboxId()))
+                .transform(SearchResult::getMessageUid)
                 .iterator();
     }
 
@@ -155,8 +151,9 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
     public List<MessageId> search(MailboxSession session, final MultimailboxesSearchQuery searchQuery, long limit) throws MailboxException {
         List<Mailbox> allUserMailboxes = mailboxMapperFactory.getMailboxMapper(session)
                 .findMailboxWithPathLike(new MailboxPath(session.getPersonalSpace(), session.getUser().getUserName(), WILDCARD));
-        FluentIterable<Mailbox> filteredMailboxes = FluentIterable.from(allUserMailboxes)
-            .filter(notInMailboxes(searchQuery.getNotInMailboxes()));
+        FluentIterable<Mailbox> filteredMailboxes = FluentIterable
+            .from(allUserMailboxes)
+            .filter(mailbox -> !searchQuery.getNotInMailboxes().contains(mailbox.getMailboxId()));
         if (searchQuery.getInMailboxes().isEmpty()) {
             return getAsMessageIds(searchResults(session, filteredMailboxes, searchQuery.getSearchQuery()), limit);
         }
@@ -169,48 +166,12 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
         return getAsMessageIds(searchResults(session, queriedMailboxes, searchQuery.getSearchQuery()), limit);
     }
 
-    private Predicate<Mailbox> notInMailboxes(final Set<MailboxId> mailboxIds) {
-        return new Predicate<Mailbox>() {
-        @Override
-        public boolean apply(Mailbox input) {
-            return !mailboxIds.contains(input.getMailboxId());
-        }
-    };
-    }
-
     private List<MessageId> getAsMessageIds(List<SearchResult> temp, long limit) {
         return FluentIterable.from(temp)
-            .transform(toMessageId())
+            .transform(searchResult -> searchResult.getMessageId().get())
             .filter(SearchUtil.distinct())
             .limit(Long.valueOf(limit).intValue())
             .toList();
     }
 
-    private Function<SearchResult, MessageId> toMessageId() {
-        return new Function<SearchResult, MessageId>() {
-            @Override
-            public MessageId apply(SearchResult input) {
-                return input.getMessageId().get();
-            }
-        };
-    }
-
-    private Function<SearchResult, MessageUid> toMessageUid() {
-        return new Function<SearchResult, MessageUid>() {
-            @Override
-            public MessageUid apply(SearchResult input) {
-                return input.getMessageUid();
-            }
-        };
-    }
-
-    private Predicate<SearchResult> isInMailbox(final Mailbox mailbox) {
-        return new Predicate<SearchResult>() {
-            @Override
-            public boolean apply(SearchResult input) {
-                return input.getMailboxId().equals(mailbox.getMailboxId());
-            }
-        };
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
index 436fcea..38bae1d 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
@@ -44,12 +44,7 @@ public class CombinedComparator implements Comparator<MailboxMessage>{
     }
 
     private static Function<Sort, Comparator<MailboxMessage>> toComparator() {
-        return new Function<Sort, Comparator<MailboxMessage>>() {
-            @Override
-            public Comparator<MailboxMessage> apply(Sort input) {
-                return optionalResverse(toComparator(input), input.isReverse());
-            }
-        };
+        return sort -> optionalResverse(toComparator(sort), sort.isReverse());
     }
 
     private static Comparator<MailboxMessage> toComparator(Sort sort) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
index b524d7c..a78e7c0 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
@@ -474,12 +474,7 @@ public abstract class AbstractCombinationManagerTest {
     }
 
     private Predicate<MessageResult> messageInMailbox2() {
-        return new Predicate<MessageResult>() {
-            @Override
-            public boolean apply(MessageResult input) {
-                return input.getMailboxId().equals(mailbox2.getMailboxId());
-            }
-        };
+        return messageResult -> messageResult.getMailboxId().equals(mailbox2.getMailboxId());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
index 4dcd687..0e6bdd8 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
@@ -58,32 +58,10 @@ public abstract class AbstractMessageIdManagerStorageTest {
     private static final MessageUid messageUid1 = MessageUid.of(111);
     private static final MessageUid messageUid2 = MessageUid.of(222);
 
-    private static final Function<MessageResult, Flags> getFlags() {
-        return new Function<MessageResult, Flags>() {
-            @Override
-            public Flags apply(MessageResult input) {
-                return input.getFlags();
-            }
-        };
-    }
-
     private static final Function<MessageResult, Map.Entry<MessageId, Flags>> toMapEntryOfFlags() {
-        return new Function<MessageResult, Map.Entry<MessageId, Flags>>() {
-            @Override
-            public Map.Entry<MessageId, Flags> apply(MessageResult input) {
-                return new AbstractMap.SimpleEntry<MessageId, Flags>(input.getMessageId(), input.getFlags());
-            }
-        };
+        return messageResult -> new AbstractMap.SimpleEntry<>(messageResult.getMessageId(), messageResult.getFlags());
     }
 
-    private static Function<MessageResult, MailboxId> getMailboxId() {
-        return new Function<MessageResult, MailboxId>() {
-            @Override
-            public MailboxId apply(MessageResult input) {
-                return input.getMailboxId();
-            }
-        };
-    }
 
     private MessageIdManagerTestSystem testingData;
     private MessageIdManager messageIdManager;
@@ -252,7 +230,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         messageIdManager.setInMailboxes(messageId, ImmutableList.of(mailbox1.getMailboxId(), mailbox3.getMailboxId()), session);
 
         List<MailboxId> messageMailboxIds = FluentIterable.from(messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroupImpl.MINIMAL, session))
-            .transform(getMailboxId())
+            .transform(MessageResult::getMailboxId)
             .toList();
 
         assertThat(messageMailboxIds).containsOnly(mailbox1.getMailboxId(), mailbox3.getMailboxId());
@@ -414,7 +392,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         
         List<Flags> flags = FluentIterable
                 .from(messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroupImpl.MINIMAL, session))
-                .transform(getFlags())
+                .transform(MessageResult::getFlags)
                 .toList();
 
         assertThat(flags).hasSize(2);
@@ -432,7 +410,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
         
         List<Flags> flags = FluentIterable
                 .from(messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroupImpl.MINIMAL, session))
-                .transform(getFlags())
+                .transform(MessageResult::getFlags)
                 .toList();
 
         assertThat(flags).hasSize(1);
@@ -448,7 +426,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         List<Flags> flags = FluentIterable
             .from(messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroupImpl.MINIMAL, session))
-            .transform(getFlags())
+            .transform(MessageResult::getFlags)
             .toList();
 
         assertThat(flags).hasSize(1);
@@ -464,7 +442,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
 
         List<Flags> flags = FluentIterable
             .from(messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroupImpl.MINIMAL, session))
-            .transform(getFlags())
+            .transform(MessageResult::getFlags)
             .toList();
 
         assertThat(flags).hasSize(1);
@@ -545,12 +523,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
     }
 
     private Predicate<MessageResult> inMailbox(final MailboxId mailboxId) {
-        return new Predicate<MessageResult>() {
-            @Override
-            public boolean apply(MessageResult input) {
-                return input.getMailboxId().equals(mailboxId);
-            }
-        };
+        return messageResult -> messageResult.getMailboxId().equals(mailboxId);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
index 58ac911..97dade9 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
@@ -21,8 +21,6 @@ package org.apache.james.mailbox.store;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import java.util.List;
-
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MessageRange;
@@ -32,12 +30,10 @@ import com.google.common.collect.Lists;
 
 public class MessageBatcherTest {
 
-    private MessageBatcher.BatchedOperation incrementBatcher = new MessageBatcher.BatchedOperation() {
-        @Override
-        public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
-            return Lists.<MessageRange>newArrayList(MessageRange.range(messageRange.getUidFrom().next(), messageRange.getUidTo().next()));
-        }
-    };
+    private MessageBatcher.BatchedOperation incrementBatcher =
+        messageRange -> Lists.<MessageRange>newArrayList(MessageRange.range(
+            messageRange.getUidFrom().next(),
+            messageRange.getUidTo().next()));
 
     @Test
     public void batchMessagesShouldWorkOnSingleRangeMode() throws Exception {
@@ -59,11 +55,10 @@ public class MessageBatcherTest {
     public void batchMessagesShouldPropagateExceptions() throws Exception {
         MessageBatcher messageBatcher = new MessageBatcher(0);
 
-        messageBatcher.batchMessages(MessageRange.range(MessageUid.of(1), MessageUid.of(10)), new MessageBatcher.BatchedOperation() {
-            public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
+        messageBatcher.batchMessages(MessageRange.range(MessageUid.of(1), MessageUid.of(10)),
+            messageRange -> {
                 throw new MailboxException();
-            }
-        });
+            });
     }
 
     @Test(expected = IllegalArgumentException.class)

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
index dbccca7..a517fa5 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
@@ -51,8 +51,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -96,13 +94,11 @@ public class StoreMailboxManagerAnnotationTest {
         when(mailboxSessionMapperFactory.getAnnotationMapper(eq(session))).thenReturn(annotationMapper);
         when(mailbox.getMailboxId()).thenReturn(mailboxId);
         when(mailboxMapper.findMailboxByPath(eq(mailboxPath))).thenReturn(mailbox);
-        when(annotationMapper.execute(any(Mapper.Transaction.class))).thenAnswer(new Answer<Object>() {
-            @Override
-            public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
+        when(annotationMapper.execute(any(Mapper.Transaction.class)))
+            .thenAnswer(invocationOnMock -> {
                 Mapper.Transaction<?> transaction = (Mapper.Transaction<?>) invocationOnMock.getArguments()[0];
                 return transaction.run();
-            }
-        });
+            });
 
         storeMailboxManager = spy(new StoreMailboxManager(mailboxSessionMapperFactory, authenticator, authorizator, aclResolver, groupMembershipResolver, 
                 messageParser, messageIdFactory, MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE));

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
index 67107c2..e21ea94 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
@@ -38,7 +38,6 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxCounters;
 import org.apache.james.mailbox.model.MessageMetaData;
 import org.apache.james.mailbox.model.MessageRange;
-import org.apache.james.mailbox.model.MessageResult;
 import org.apache.james.mailbox.model.MessageResult.FetchGroup;
 import org.apache.james.mailbox.model.TestId;
 import org.apache.james.mailbox.model.UpdatedFlags;
@@ -48,7 +47,6 @@ import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
-import org.assertj.core.api.iterable.Extractor;
 import org.junit.Test;
 
 import com.google.common.base.Optional;
@@ -199,12 +197,8 @@ public class StoreMailboxMessageResultIteratorTest {
         BatchSizes batchSize = BatchSizes.uniqueBatchSize(3);
         StoreMessageResultIterator it = new StoreMessageResultIterator(new TestMessageMapper(MessageRange.all()), null, range, batchSize, new TestFetchGroup());
 
-        assertThat(it).extracting(new Extractor<MessageResult, Long>(){
-            @Override
-            public Long extract(MessageResult input) {
-                return input.getUid().asLong();
-            }
-        }).containsExactly(1l, 2l, 3l, 4l, 5l, 6l, 7l, 8l, 9l, 10l);
+        assertThat(it).extracting(input -> input.getUid().asLong())
+            .containsExactly(1l, 2l, 3l, 4l, 5l, 6l, 7l, 8l, 9l, 10l);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
index 0c048b5..bef60ea 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
@@ -171,7 +171,7 @@ public class TestMailboxSessionMapperFactory extends MailboxSessionMapperFactory
             public List<MailboxId> findMailboxes(final MessageId messageId) {
                 return FluentIterable.from(messages)
                     .filter(withMessageId(messageId))
-                    .transform(toMailboxId())
+                    .transform(MailboxMessage::getMailboxId)
                     .toList();
             }
 
@@ -291,73 +291,36 @@ public class TestMailboxSessionMapperFactory extends MailboxSessionMapperFactory
         messages.clear();
     }
 
-    private Function<MailboxMessage, MailboxId> toMailboxId() {
-        return new Function<MailboxMessage, MailboxId>() {
-            @Override
-            public MailboxId apply(MailboxMessage input) {
-                return input.getMailboxId();
-            }
-        };
-    }
-
     private Predicate<MailboxMessage> withMessageIdOneOf(final List<MessageId> messageIds) {
-        return new Predicate<MailboxMessage>() {
-            @Override
-            public boolean apply(MailboxMessage input) {
-                return messageIds.contains(input.getMessageId());
-            }
-        };
+        return mailboxMessage -> messageIds.contains(mailboxMessage.getMessageId());
     }
 
     private Predicate<MailboxMessage> inMailbox(final MessageId messageId) {
-        return new Predicate<MailboxMessage>() {
-            @Override
-            public boolean apply(MailboxMessage input) {
-                return input.getMailboxId().equals(messageId);
-            }
-        };
+        return mailboxMessage -> mailboxMessage.getMailboxId().equals(messageId);
     }
 
     private Predicate<MailboxMessage> inMailboxes(final List<MailboxId> mailboxIds) {
-        return new Predicate<MailboxMessage>() {
-            @Override
-            public boolean apply(MailboxMessage input) {
-                return mailboxIds.contains(input.getMailboxId());
-            }
-        };
+        return mailboxMessage -> mailboxIds.contains(mailboxMessage.getMailboxId());
     }
 
     private Predicate<MailboxMessage> withMessageId(final MessageId messageId) {
-        return new Predicate<MailboxMessage>() {
-            @Override
-            public boolean apply(MailboxMessage input) {
-                return input.getMessageId().equals(messageId);
-            }
-        };
+        return mailboxMessage -> mailboxMessage.getMessageId().equals(messageId);
     }
 
     private Predicate<Map.Entry<MailboxId, UpdatedFlags>> isChanged() {
-        return new Predicate<Map.Entry<MailboxId, UpdatedFlags>>() {
-            @Override
-            public boolean apply(Map.Entry<MailboxId, UpdatedFlags> entry) {
-                return entry.getValue().flagsChanged();
-            }
-        };
+        return entry -> entry.getValue().flagsChanged();
     }
 
     private Function<MailboxMessage, Map.Entry<MailboxId, UpdatedFlags>> toMapEntryOfUpdatedFlags(final Flags newState, final MessageManager.FlagsUpdateMode updateMode) {
-        return new Function<MailboxMessage, Map.Entry<MailboxId, UpdatedFlags>>() {
-            @Override
-            public Map.Entry<MailboxId, UpdatedFlags> apply(MailboxMessage input) {
-                Preconditions.checkState(updateMode.equals(MessageManager.FlagsUpdateMode.ADD));
-                return new AbstractMap.SimpleEntry<MailboxId, UpdatedFlags>(input.getMailboxId(),
-                    UpdatedFlags.builder()
-                        .uid(input.getUid())
-                        .modSeq(input.getModSeq())
-                        .newFlags(newState)
-                        .oldFlags(input.createFlags())
-                        .build());
-            }
+        return mailboxMessage -> {
+            Preconditions.checkState(updateMode.equals(MessageManager.FlagsUpdateMode.ADD));
+            return new AbstractMap.SimpleEntry<>(mailboxMessage.getMailboxId(),
+                UpdatedFlags.builder()
+                    .uid(mailboxMessage.getUid())
+                    .modSeq(mailboxMessage.getModSeq())
+                    .newFlags(newState)
+                    .oldFlags(mailboxMessage.createFlags())
+                    .build());
         };
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
index 4b9d6d5..44fde73 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
@@ -32,8 +32,6 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.util.EventCollector;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 public class DefaultDelegatingMailboxListenerTest {
 
@@ -191,14 +189,11 @@ public class DefaultDelegatingMailboxListenerTest {
         MailboxSession session = new MockMailboxSession("benwa");
         MailboxListener.Event event = new MailboxListener.Event(session, MAILBOX_PATH) {};
         MailboxListener mockedListener = mock(MailboxListener.class);
-        when(mockedListener.getType()).thenAnswer(new Answer<MailboxListener.ListenerType>() {
-            @Override
-            public MailboxListener.ListenerType answer(InvocationOnMock invocation) throws Throwable {
-                return MailboxListener.ListenerType.ONCE;
-            }
-        });
+        when(mockedListener.getType()).thenReturn(MailboxListener.ListenerType.ONCE);
         doThrow(new RuntimeException()).when(mockedListener).event(event);
+
         defaultDelegatingMailboxListener.addGlobalListener(mockedListener, null);
+
         defaultDelegatingMailboxListener.event(event);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
index 7630138..5cb359e 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
@@ -19,22 +19,20 @@
 
 package org.apache.james.mailbox.store.event;
 
-import org.apache.james.mailbox.MailboxListener;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.timeout;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.james.mailbox.MailboxListener;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
 
 public class MixedEventDeliveryTest {
 
@@ -75,12 +73,9 @@ public class MixedEventDeliveryTest {
         MailboxListener.Event event = new MailboxListener.Event(null, null) {};
         when(listener.getExecutionMode()).thenReturn(MailboxListener.ExecutionMode.ASYNCHRONOUS);
         final CountDownLatch latch = new CountDownLatch(1);
-        doAnswer(new Answer<Void>() {
-            @Override
-            public Void answer(InvocationOnMock invocation) throws Throwable {
-                latch.await();
-                return null;
-            }
+        doAnswer(invocation -> {
+            latch.await();
+            return null;
         }).when(listener).event(event);
         mixedEventDelivery.deliver(listener, event);
         latch.countDown();


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


[04/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Convert to lambas"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
index 3fd4692..22b8b09 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
@@ -36,7 +36,6 @@ import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.future.FutureResponse;
-import org.apache.james.protocols.api.future.FutureResponse.ResponseListener;
 import org.apache.james.protocols.api.future.FutureResponseImpl;
 
 
@@ -198,36 +197,33 @@ public class CommandDispatcher<Session extends ProtocolSession> implements Exten
         return null;
     }
 
-    private Response executeResultHandlers(final Session session, Response response, final long executionTime, final CommandHandler<Session> cHandler, final Iterator<ProtocolHandlerResultHandler<Response, Session>> resultHandlers) {
+    private Response executeResultHandlers(final Session session, Response responseFuture, final long executionTime, final CommandHandler<Session> cHandler, final Iterator<ProtocolHandlerResultHandler<Response, Session>> resultHandlers) {
         // Check if the there is a ResultHandler left to execute if not just return the response
         if (resultHandlers.hasNext()) {
             // Special handling of FutureResponse
             // See PROTOCOLS-37
-            if (response instanceof FutureResponse) {
+            if (responseFuture instanceof FutureResponse) {
                 final FutureResponseImpl futureResponse = new FutureResponseImpl();
-                ((FutureResponse) response).addListener(new ResponseListener() {
+                ((FutureResponse) responseFuture).addListener(response -> {
+                    Response r = resultHandlers.next().onResponse(session, response, executionTime, cHandler);
 
-                    public void onResponse(FutureResponse response) {
-                        Response r = resultHandlers.next().onResponse(session, response, executionTime, cHandler);
-                        
-                        // call the next ResultHandler 
-                        r = executeResultHandlers(session, r, executionTime, cHandler, resultHandlers);
-                        
-                        // notify the FutureResponse that we are ready
-                        futureResponse.setResponse(r);
-                    }
+                    // call the next ResultHandler
+                    r = executeResultHandlers(session, r, executionTime, cHandler, resultHandlers);
+
+                    // notify the FutureResponse that we are ready
+                    futureResponse.setResponse(r);
                 });
                 
                 // just return the new FutureResponse which will get notified once its ready
                 return futureResponse;
             }  else {
-                response = resultHandlers.next().onResponse(session, response, executionTime, cHandler);
+                responseFuture = resultHandlers.next().onResponse(session, responseFuture, executionTime, cHandler);
                 
                 // call the next ResultHandler 
-                return executeResultHandlers(session, response, executionTime, cHandler, resultHandlers);
+                return executeResultHandlers(session, responseFuture, executionTime, cHandler, resultHandlers);
             }
         }
-        return response;
+        return responseFuture;
     }
     /**
      * Parse the line into a {@link Request}

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java b/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
index fda9d0a..039a01d 100644
--- a/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
+++ b/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.protocols.api;
 
+import static junit.framework.Assert.assertEquals;
+
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 import java.net.InetSocketAddress;
@@ -33,8 +35,6 @@ import org.apache.james.protocols.api.future.FutureResponseImpl;
 import org.apache.james.protocols.api.handler.LineHandler;
 import org.junit.Test;
 
-import static junit.framework.Assert.*;
-
 /**
  * Test-case for PROTOCOLS-62
  *
@@ -105,27 +105,24 @@ public class AbstractProtocolTransportTest {
     }
     
     private void notifyFutureResponses(final List<Response> messages, final boolean reverse) {
-        new Thread(new Runnable() {
-            
-            public void run() {
-                try {
-                    Thread.sleep(200);
-                    List<Response> responses = new ArrayList<Response>(messages);
-                    if (reverse) {
-                        Collections.reverse(responses);
-                    }
+        new Thread(() -> {
+            try {
+                Thread.sleep(200);
+                List<Response> responses = new ArrayList<>(messages);
+                if (reverse) {
+                    Collections.reverse(responses);
+                }
 
-                    for (Response r : responses) {
-                        if (r instanceof FutureResponseImpl) {
-                            ((FutureResponseImpl) r).setResponse(new TestResponse());
-                        }
+                for (Response r : responses) {
+                    if (r instanceof FutureResponseImpl) {
+                        ((FutureResponseImpl) r).setResponse(new TestResponse());
                     }
-
-                } catch (InterruptedException e) {
-                    throw new RuntimeException();
                 }
-                
+
+            } catch (InterruptedException e) {
+                throw new RuntimeException();
             }
+
         }).start();
     }
     private void checkWrittenResponses(List<Response> messages) throws InterruptedException, UnsupportedEncodingException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
index d06ac60..0ee015f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
@@ -42,19 +42,6 @@ public class ImapConfiguration {
     }
 
     public static class Builder {
-        private static final Function<String, String> NORMALIZE_STRING = new Function<String, String>() {
-            @Override
-            public String apply(String disableCap) {
-                return StringUtils.normalizeSpace(disableCap);
-            }
-        };
-        private static final Predicate<String> NO_BLANK = new Predicate<String>() {
-            @Override
-            public boolean apply(String disableCap) {
-                return noBlankString(disableCap);
-            }
-        };
-
         private static boolean noBlankString(String disableCap) {
             return !StringUtils.isBlank(disableCap);
         }
@@ -113,8 +100,8 @@ public class ImapConfiguration {
 
         public ImapConfiguration build() {
             ImmutableSet<String> normalizeDisableCaps = FluentIterable.from(disabledCaps)
-                    .filter(NO_BLANK)
-                    .transform(NORMALIZE_STRING)
+                    .filter(Builder::noBlankString)
+                    .transform(StringUtils::normalizeSpace)
                     .toSet();
             return new ImapConfiguration(
                     enableIdle.or(DEFAULT_ENABLE_IDLE),

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
index ec81ef6..00b668b 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
@@ -37,11 +37,10 @@ import org.apache.james.imap.api.message.request.SearchKey;
 import org.apache.james.imap.api.message.request.SearchOperation;
 import org.apache.james.imap.api.message.request.SearchResultOption;
 import org.apache.james.imap.api.message.response.StatusResponse;
-import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.message.response.StatusResponse.ResponseCode;
+import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.decode.ImapRequestLineReader;
-import org.apache.james.imap.decode.ImapRequestLineReader.CharacterValidator;
 import org.apache.james.imap.message.request.SearchRequest;
 import org.apache.james.protocols.imap.DecodingException;
 
@@ -140,16 +139,11 @@ public class SearchCommandParser extends AbstractUidCommandParser {
             // Just consume the [<entry-name> <entry-type-req>] and ignore it
             // See RFC4551 3.4. MODSEQ Search Criterion in SEARCH
             request.consumeQuoted();
-            request.consumeWord(new CharacterValidator() {
-                
-                /*
-                 * (non-Javadoc)
-                 * @see org.apache.james.imap.decode.ImapRequestLineReader.CharacterValidator#isValid(char)
-                 */
-                public boolean isValid(char chr) {
-                    return true;
-                }
-            });
+            /*
+             * (non-Javadoc)
+             * @see org.apache.james.imap.decode.ImapRequestLineReader.CharacterValidator#isValid(char)
+             */
+            request.consumeWord(chr -> true);
             return SearchKey.buildModSeq(request.number());
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
index 26c372a..0b52bd7 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
@@ -74,11 +74,7 @@ public class SetAnnotationCommandParser extends AbstractImapCommandParser {
     }
 
     private Function<String, MailboxAnnotation> transforMailboxAnnotation(final String key) {
-        return new Function<String, MailboxAnnotation>() {
-            public MailboxAnnotation apply(String value) {
-                return MailboxAnnotation.newInstance(createAnnotationKey(key), value);
-            }
-        };
+        return value -> MailboxAnnotation.newInstance(createAnnotationKey(key), value);
     }
 
     private MailboxAnnotationKey createAnnotationKey(String key) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
index 59ca5b6..a26d74d 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
@@ -29,7 +29,6 @@ import org.apache.commons.codec.binary.Base64;
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
-import org.apache.james.imap.api.process.ImapLineHandler;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.request.AuthenticateRequest;
@@ -70,18 +69,14 @@ public class AuthenticateProcessor extends AbstractAuthProcessor<AuthenticateReq
                     doPlainAuth(irRequest.getInitialClientResponse(), session, tag, command, responder);
                 } else {
                     responder.respond(new AuthenticateResponse());
-                    session.pushLineHandler(new ImapLineHandler() {
-                
-                        public void onLine(ImapSession session, byte[] data) {
-                            // cut of the CRLF
-                            String initialClientResponse = new String(data, 0, data.length - 2, Charset.forName("US-ASCII"));
+                    session.pushLineHandler((requestSession, data) -> {
+                        // cut of the CRLF
+                        String initialClientResponse = new String(data, 0, data.length - 2, Charset.forName("US-ASCII"));
 
-                            doPlainAuth(initialClientResponse, session, tag, command, responder);
-                            
-                            // remove the handler now
-                            session.popLineHandler();
-                    
-                        }
+                        doPlainAuth(initialClientResponse, requestSession, tag, command, responder);
+
+                        // remove the handler now
+                        requestSession.popLineHandler();
                     });
                 }
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
index c68cb76..de0146f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
@@ -44,7 +44,6 @@ import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.metrics.api.MetricFactory;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
@@ -98,28 +97,15 @@ public class GetAnnotationProcessor extends AbstractMailboxProcessor<GetAnnotati
 
     private Optional<Integer> getMaxSizeValue(final List<MailboxAnnotation> mailboxAnnotations, Optional<Integer> maxsize) {
         if (maxsize.isPresent()) {
-            return maxsize.transform(new Function<Integer, Optional<Integer>>() {
-                @Override
-                public Optional<Integer> apply(Integer input) {
-                    return getMaxSizeOfOversizedItems(mailboxAnnotations, input);
-                }
-            }).get();
+            return maxsize.transform(value -> getMaxSizeOfOversizedItems(mailboxAnnotations, value)).get();
         }
         return Optional.absent();
     }
 
     private List<MailboxAnnotation> filterItemsBySize(Responder responder, String mailboxName, List<MailboxAnnotation> mailboxAnnotations, final Optional<Integer> maxsize) {
-        Predicate<MailboxAnnotation> lowerPredicate = new Predicate<MailboxAnnotation>() {
-            @Override
-            public boolean apply(final MailboxAnnotation input) {
-                return maxsize.transform(new Function<Integer, Boolean>() {
-                    @Override
-                    public Boolean apply(Integer maxSizeInput) {
-                        return (input.size() <= maxSizeInput);
-                    }
-                }).or(true);
-            }
-        };
+        Predicate<MailboxAnnotation> lowerPredicate = annotation -> maxsize
+            .transform(maxSizeInput -> (annotation.size() <= maxSizeInput))
+            .or(true);
 
         return FluentIterable.from(mailboxAnnotations).filter(lowerPredicate).toList();
     }
@@ -147,28 +133,12 @@ public class GetAnnotationProcessor extends AbstractMailboxProcessor<GetAnnotati
     }
 
     private Optional<Integer> getMaxSizeOfOversizedItems(List<MailboxAnnotation> mailboxAnnotations, final Integer maxsize) {
-        Predicate<MailboxAnnotation> filterOverSizedAnnotation = new Predicate<MailboxAnnotation>() {
-            @Override
-            public boolean apply(MailboxAnnotation input) {
-                return (input.size() > maxsize);
-            }
-        };
-
-        Function<MailboxAnnotation, Integer> transformToSize = new Function<MailboxAnnotation,Integer>(){
-            public Integer apply(MailboxAnnotation input) {
-                return input.size();
-            }
-        };
+        Predicate<MailboxAnnotation> filterOverSizedAnnotation = annotation -> annotation.size() > maxsize;
 
         ImmutableSortedSet<Integer> overLimitSizes = FluentIterable.from(mailboxAnnotations)
             .filter(filterOverSizedAnnotation)
-            .transform(transformToSize)
-            .toSortedSet(new Comparator<Integer>() {
-                @Override
-                public int compare(Integer annotationSize1, Integer annotationSize2) {
-                    return annotationSize2.compareTo(annotationSize1);
-                }
-            });
+            .transform(MailboxAnnotation::size)
+            .toSortedSet(Comparator.reverseOrder());
 
         if (overLimitSizes.isEmpty()) {
             return Optional.absent();

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
index 8d005d6..e147a47 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
@@ -54,7 +54,6 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -137,34 +136,25 @@ public class SelectedMailboxImplTest {
     }
 
     private Answer<Iterator<MessageUid>> delayedSearchAnswer() {
-        return new Answer<Iterator<MessageUid>>() {
-            @Override
-            public Iterator<MessageUid> answer(InvocationOnMock invocation) throws Throwable {
-                Thread.sleep(1000);
-                return ImmutableList.of(MessageUid.of(1), MessageUid.of(3)).iterator();
-            }
+        return invocation -> {
+            Thread.sleep(1000);
+            return ImmutableList.of(MessageUid.of(1), MessageUid.of(3)).iterator();
         };
     }
 
     private Answer<Iterator<MessageUid>> generateEmitEventAnswer(final AtomicInteger success) {
-        return new Answer<Iterator<MessageUid>>() {
-            @Override
-            public Iterator<MessageUid> answer(InvocationOnMock invocation) throws Throwable {
-                Object[] args = invocation.getArguments();
-                final MailboxListener mailboxListener = (MailboxListener) args[1];
-                executorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        try {
-                            emitEvent(mailboxListener);
-                            success.incrementAndGet();
-                        } catch (Exception e) {
-                            LOGGER.error("Error while processing event on a concurrent thread", e);
-                        }
-                    }
-                });
-                return null;
-            }
+        return invocation -> {
+            Object[] args = invocation.getArguments();
+            final MailboxListener mailboxListener = (MailboxListener) args[1];
+            executorService.submit(() -> {
+                try {
+                    emitEvent(mailboxListener);
+                    success.incrementAndGet();
+                } catch (Exception e) {
+                    LOGGER.error("Error while processing event on a concurrent thread", e);
+                }
+            });
+            return null;
         };
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
index ae81f2b..79cf756 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
@@ -373,14 +373,11 @@ public class UidMsnConverterTest {
 
         int threadCount = 2;
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, initialCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    if (threadNumber == 0) {
-                        testee.remove(MessageUid.of(step + 1));
-                    } else {
-                        testee.addUid(MessageUid.of(initialCount + step + 1));
-                    }
+            (threadNumber, step) -> {
+                if (threadNumber == 0) {
+                    testee.remove(MessageUid.of(step + 1));
+                } else {
+                    testee.addUid(MessageUid.of(initialCount + step + 1));
                 }
             });
         concurrentTestRunner.run();
@@ -400,12 +397,7 @@ public class UidMsnConverterTest {
         int threadCount = 2;
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    testee.addUid(MessageUid.of((threadNumber * operationCount) + (step + 1)));
-                }
-            });
+            (threadNumber, step) -> testee.addUid(MessageUid.of((threadNumber * operationCount) + (step + 1))));
         concurrentTestRunner.run();
         concurrentTestRunner.awaitTermination(10, TimeUnit.SECONDS);
 
@@ -426,12 +418,7 @@ public class UidMsnConverterTest {
         }
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    testee.remove(MessageUid.of((threadNumber * operationCount) + (step + 1)));
-                }
-            });
+            (threadNumber, step) -> testee.remove(MessageUid.of((threadNumber * operationCount) + (step + 1))));
         concurrentTestRunner.run();
         concurrentTestRunner.awaitTermination(10, TimeUnit.SECONDS);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java b/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
index f2b8679..c0b8d3f 100644
--- a/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
+++ b/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
@@ -20,13 +20,14 @@
 
 package org.apache.james.managesieve.core;
 
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.base.Splitter;
-import com.google.common.base.Strings;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.inject.Inject;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.james.managesieve.api.AuthenticationException;
 import org.apache.james.managesieve.api.AuthenticationProcessor;
@@ -39,7 +40,6 @@ import org.apache.james.managesieve.api.SyntaxException;
 import org.apache.james.managesieve.api.UnknownSaslMechanism;
 import org.apache.james.managesieve.api.commands.CoreCommands;
 import org.apache.james.managesieve.util.ParserUtils;
-import org.apache.james.sieverepository.api.ScriptSummary;
 import org.apache.james.sieverepository.api.SieveRepository;
 import org.apache.james.sieverepository.api.exception.DuplicateException;
 import org.apache.james.sieverepository.api.exception.IsActiveException;
@@ -49,12 +49,12 @@ import org.apache.james.sieverepository.api.exception.SieveRepositoryException;
 import org.apache.james.sieverepository.api.exception.StorageException;
 import org.apache.james.user.api.UsersRepository;
 
-import java.io.IOException;
-import javax.inject.Inject;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import com.google.common.base.Joiner;
+import com.google.common.base.Splitter;
+import com.google.common.base.Strings;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 
 public class CoreProcessor implements CoreCommands {
 
@@ -75,7 +75,7 @@ public class CoreProcessor implements CoreCommands {
         this.sieveRepository = repository;
         this.parser = parser;
         this.capabilitiesBase = precomputedCapabilitiesBase(parser);
-        this.authenticationProcessorMap = new HashMap<SupportedMechanism, AuthenticationProcessor>();
+        this.authenticationProcessorMap = new HashMap<>();
         this.authenticationProcessorMap.put(SupportedMechanism.PLAIN, new PlainAuthenticationProcessor(usersRepository));
     }
 
@@ -91,11 +91,7 @@ public class CoreProcessor implements CoreCommands {
 
     private String convertCapabilityMapToString(Map<Capabilities, String> capabilitiesStringMap) {
         return Joiner.on("\r\n").join(
-            Iterables.transform(capabilitiesStringMap.entrySet(), new Function<Map.Entry<Capabilities,String>, String>() {
-                public String apply(Map.Entry<Capabilities, String> capabilitiesStringEntry) {
-                    return computeCapabilityEntryString(capabilitiesStringEntry);
-                }
-            }));
+            Iterables.transform(capabilitiesStringMap.entrySet(), this::computeCapabilityEntryString));
     }
 
     private Map<Capabilities, String> computeCapabilityMap(Session session) {
@@ -113,21 +109,15 @@ public class CoreProcessor implements CoreCommands {
 
     @Override
     public String checkScript(final Session session, final String content) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException {
-                authenticationCheck(session);
-                return manageWarnings(parser.parse(content));
-            }
+        return handleCommandExecution(() -> {
+            authenticationCheck(session);
+            return manageWarnings(parser.parse(content));
         }, session);
     }
 
     private String manageWarnings(List<String> warnings) {
         if (!warnings.isEmpty()) {
-            return "OK (WARNINGS) " + Joiner.on(' ').join(Iterables.transform(warnings, new Function<String, String>() {
-                public String apply(String s) {
-                    return '\"' + s + '"';
-                }
-            }));
+            return "OK (WARNINGS) " + Joiner.on(' ').join(Iterables.transform(warnings, s -> '\"' + s + '"'));
         } else {
             return "OK";
         }
@@ -135,55 +125,42 @@ public class CoreProcessor implements CoreCommands {
 
     @Override
     public String deleteScript(final Session session, final String name) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException {
-                authenticationCheck(session);
-                sieveRepository.deleteScript(session.getUser(), name);
-                return "OK";
-            }
+        return handleCommandExecution(() -> {
+            authenticationCheck(session);
+            sieveRepository.deleteScript(session.getUser(), name);
+            return "OK";
         }, session);
     }
 
     @Override
 
     public String getScript(final Session session, final String name) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException, IOException {
-                authenticationCheck(session);
-                String scriptContent = IOUtils.toString(sieveRepository.getScript(session.getUser(), name));
-                return "{" + scriptContent.length() + "}" + "\r\n" + scriptContent + "\r\nOK";
-            }
+        return handleCommandExecution(() -> {
+            authenticationCheck(session);
+            String scriptContent = IOUtils.toString(sieveRepository.getScript(session.getUser(), name));
+            return "{" + scriptContent.length() + "}" + "\r\n" + scriptContent + "\r\nOK";
         }, session);
     }
 
     @Override
     public String haveSpace(final Session session, final String name, final long size) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException {
-                authenticationCheck(session);
-                sieveRepository.haveSpace(session.getUser(), name, size);
-                return "OK";
-            }
+        return handleCommandExecution(() -> {
+            authenticationCheck(session);
+            sieveRepository.haveSpace(session.getUser(), name, size);
+            return "OK";
         }, session);
     }
 
     @Override
     public String listScripts(final Session session) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException {
-                return listScriptsInternals(session);
-            }
-        }, session);
+        return handleCommandExecution(() -> listScriptsInternals(session), session);
     }
 
     private String listScriptsInternals(Session session) throws AuthenticationRequiredException, StorageException {
         authenticationCheck(session);
         String list = Joiner.on("\r\n").join(
-            Iterables.transform(sieveRepository.listScripts(session.getUser()), new Function<ScriptSummary, String>() {
-                public String apply(ScriptSummary scriptSummary) {
-                    return '"' + scriptSummary.getName() + '"' + (scriptSummary.isActive() ? " ACTIVE" : "");
-                }
-            }));
+            Iterables.transform(sieveRepository.listScripts(session.getUser()),
+                scriptSummary -> '"' + scriptSummary.getName() + '"' + (scriptSummary.isActive() ? " ACTIVE" : "")));
         if (Strings.isNullOrEmpty(list)) {
             return "OK";
         } else {
@@ -193,34 +170,28 @@ public class CoreProcessor implements CoreCommands {
 
     @Override
     public String putScript(final Session session, final String name, final String content) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException {
-                authenticationCheck(session);
-                sieveRepository.putScript(session.getUser(), name, content);
-                return manageWarnings(parser.parse(content));
-            }
+        return handleCommandExecution(() -> {
+            authenticationCheck(session);
+            sieveRepository.putScript(session.getUser(), name, content);
+            return manageWarnings(parser.parse(content));
         }, session);
     }
 
     @Override
     public String renameScript(final Session session, final String oldName, final String newName) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException {
-                authenticationCheck(session);
-                sieveRepository.renameScript(session.getUser(), oldName, newName);
-                return "OK";
-            }
+        return handleCommandExecution(() -> {
+            authenticationCheck(session);
+            sieveRepository.renameScript(session.getUser(), oldName, newName);
+            return "OK";
         }, session);
     }
 
     @Override
     public String setActive(final Session session, final String name) {
-        return handleCommandExecution(new CommandWrapper() {
-            public String execute() throws ManageSieveException, SieveRepositoryException {
-                authenticationCheck(session);
-                sieveRepository.setActive(session.getUser(), name);
-                return "OK";
-            }
+        return handleCommandExecution(() -> {
+            authenticationCheck(session);
+            sieveRepository.setActive(session.getUser(), name);
+            return "OK";
         }, session);
     }
 
@@ -362,11 +333,7 @@ public class CoreProcessor implements CoreCommands {
         return Joiner.on(' ')
             .join(Lists.transform(
                 Arrays.asList(SupportedMechanism.values()),
-                new Function<SupportedMechanism, String>() {
-                    public String apply(SupportedMechanism supportedMechanism) {
-                        return supportedMechanism.toString();
-                    }
-                }));
+                Enum::toString));
     }
 
     private String sanitizeString(String message) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java
index cadf9c5..268a9c1 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/AllButStartTlsDelimiterChannelHandler.java
@@ -30,7 +30,6 @@ import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
 
 import com.google.common.base.CharMatcher;
 import com.google.common.base.Charsets;
-import com.google.common.base.Predicate;
 import com.google.common.base.Splitter;
 import com.google.common.collect.FluentIterable;
 
@@ -69,20 +68,12 @@ public class AllButStartTlsDelimiterChannelHandler extends DelimiterBasedFrameDe
     }
 
     private boolean multiPartsAndOneStartTls(List<String> parts) {
-        return FluentIterable.from(parts).anyMatch(new Predicate<String>() {
-            @Override
-            public boolean apply(String line) {
-                return line.startsWith(STARTTLS);
-            }
-        }) && parts.size() > 1;
+        return FluentIterable.from(parts)
+            .anyMatch(line -> line.startsWith(STARTTLS)) && parts.size() > 1;
     }
 
     private boolean hasInvalidStartTlsPart(List<String> parts) {
-        return FluentIterable.from(parts).anyMatch(new Predicate<String>() {
-            @Override
-            public boolean apply(String line) {
-                return line.startsWith(STARTTLS) && !line.endsWith(STARTTLS);
-            }
-        });
+        return FluentIterable.from(parts)
+            .anyMatch(line -> line.startsWith(STARTTLS) && !line.endsWith(STARTTLS));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
index 740b796..af4cac2 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
@@ -26,8 +26,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.smtp.MailAddress;
 import org.apache.james.protocols.smtp.SMTPSession;
@@ -41,24 +41,21 @@ public class ReceivedDataLineFilter extends AbstractAddHeadersFilter {
     private static final String ESMTPA = "ESMTPA";
     private static final String ESMTP = "ESMTP";
     
-    private static final ThreadLocal<DateFormat> DATEFORMAT = new ThreadLocal<DateFormat>() {
-        @Override
-        protected DateFormat initialValue() {
-            // See RFC822 for the format
-            return new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z (zzz)", Locale.US);
-        }
-    };
-
-    @Override
-    public void init(Configuration config) throws ConfigurationException {
-
-    }
-
-    @Override
-    public void destroy() {
-
-    }
-
+    private static final ThreadLocal<DateFormat> DATEFORMAT = ThreadLocal.withInitial(() -> {
+        // See RFC822 for the format
+        return new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z (zzz)", Locale.US);
+    });
+
+    @Override
+    public void init(Configuration config) throws ConfigurationException {
+
+    }
+
+    @Override
+    public void destroy() {
+
+    }
+
     /**
      * Return the service type which will be used in the Received headers.
      * 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
index b321877..aca46ff 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
@@ -106,12 +106,8 @@ public abstract class AbstractSMTPServerTest {
             final String mailContent = CharStreams.toString(new InputStreamReader(ClassLoader.getSystemResourceAsStream("a50.eml"), Charsets.US_ASCII));
             int threadCount = 4;
             int updateCount = 1;
-            assertThat(new ConcurrentTestRunner(threadCount, updateCount, new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    send(finalServer, bindedAddress, mailContent);
-                }
-            }).run()
+            assertThat(new ConcurrentTestRunner(threadCount, updateCount,
+                (threadNumber, step) -> send(finalServer, bindedAddress, mailContent)).run()
                 .awaitTermination(1, TimeUnit.MINUTES))
                 .isTrue();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java
index c59798e..232c57b 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DockerCassandraRule.java
@@ -84,7 +84,7 @@ public class DockerCassandraRule implements GuiceModuleTestRule {
         return Integer.valueOf(
                 Arrays.stream(bindings)
                     .filter(DockerCassandraRule::isBindingToEveryThing)
-                    .map(binding -> binding.getHostPortSpec())
+                    .map(Ports.Binding::getHostPortSpec)
                     .findFirst().get());
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
index 8a58b43..2cc679d 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/ESReporterTest.java
@@ -34,8 +34,8 @@ import org.apache.http.client.utils.URIBuilder;
 import org.apache.james.jmap.HttpJmapAuthentication;
 import org.apache.james.jmap.api.access.AccessToken;
 import org.apache.james.modules.TestESMetricReporterModule;
-import org.apache.james.utils.JmapGuiceProbe;
 import org.apache.james.utils.DataProbeImpl;
+import org.apache.james.utils.JmapGuiceProbe;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.index.query.QueryBuilders;
 import org.junit.After;
@@ -127,7 +127,7 @@ public class ESReporterTest {
         timer.schedule(timerTask, DELAY_IN_MS, PERIOD_IN_MS);
 
         await().atMost(Duration.TEN_MINUTES)
-            .until(() -> checkMetricRecordedInElasticSearch());
+            .until(this::checkMetricRecordedInElasticSearch);
     }
 
     @Test
@@ -149,7 +149,7 @@ public class ESReporterTest {
         timer.schedule(timerTask, DELAY_IN_MS, PERIOD_IN_MS);
 
         await().atMost(Duration.TEN_MINUTES)
-            .until(() -> checkMetricRecordedInElasticSearch());
+            .until(this::checkMetricRecordedInElasticSearch);
     }
 
     private boolean checkMetricRecordedInElasticSearch() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
index b9ad337..755b65e 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
@@ -47,7 +47,7 @@ public class ConfigurationsPerformer {
 
     private Set<ConfigurationPerformer> processConfigurables() {
         return configurables.get().stream()
-            .flatMap(configurable -> configurationPerformerFor(configurable))
+            .flatMap(this::configurationPerformerFor)
             .distinct()
             .peek(ConfigurationPerformer::initModule)
             .collect(Collectors.toSet());

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/jpa-smtp/src/main/java/org/apache/james/JPAJamesServerMain.java
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-smtp/src/main/java/org/apache/james/JPAJamesServerMain.java b/server/container/guice/jpa-smtp/src/main/java/org/apache/james/JPAJamesServerMain.java
index 2fd0585..87e602a 100644
--- a/server/container/guice/jpa-smtp/src/main/java/org/apache/james/JPAJamesServerMain.java
+++ b/server/container/guice/jpa-smtp/src/main/java/org/apache/james/JPAJamesServerMain.java
@@ -47,7 +47,7 @@ public class JPAJamesServerMain {
     
     public static final Module jpaServerModule = Modules.combine(
         new JPADataModule(),
-        (binder) -> binder.bind(EntityManagerFactory.class).toProvider(() -> OpenJPAPersistence.getEntityManagerFactory()),
+        (binder) -> binder.bind(EntityManagerFactory.class).toProvider(OpenJPAPersistence::getEntityManagerFactory),
         new ActiveMQQueueModule(),
         new RawPostDequeueDecoratorModule());
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleModule.java b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleModule.java
index b59b044..bbd2e54 100644
--- a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleModule.java
+++ b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleModule.java
@@ -69,20 +69,17 @@ public abstract class LifeCycleModule extends AbstractModule {
         bindListener(typeMatcher, new AbstractMethodTypeListener(annotations) {
             @Override
             protected <I> void hear(final Method method, TypeLiteral<I> parentType, TypeEncounter<I> encounter, final Class<? extends Annotation> annotationType) {
-                encounter.register(new InjectionListener<I>() {
-                    @Override
-                    public void afterInjection(I injectee) {
-                        try {
-                            method.invoke(injectee);
-                        } catch (IllegalArgumentException e) {
-                            // should not happen, anyway...
-                            throw new ProvisionException(format("Method @%s %s requires arguments", annotationType.getName(), method), e);
-                        } catch (IllegalAccessException e) {
-                            throw new ProvisionException(format("Impossible to access to @%s %s on %s", annotationType.getName(), method, injectee), e);
-                        } catch (InvocationTargetException e) {
-                            throw new ProvisionException(
-                                format("An error occurred while invoking @%s %s on %s", annotationType.getName(), method, injectee), e.getCause());
-                        }
+                encounter.register((InjectionListener<I>) injectee -> {
+                    try {
+                        method.invoke(injectee);
+                    } catch (IllegalArgumentException e) {
+                        // should not happen, anyway...
+                        throw new ProvisionException(format("Method @%s %s requires arguments", annotationType.getName(), method), e);
+                    } catch (IllegalAccessException e) {
+                        throw new ProvisionException(String.format("Impossible to access to @%s %s on %s", annotationType.getName(), method, injectee), e);
+                    } catch (InvocationTargetException e) {
+                        throw new ProvisionException(
+                            String.format("An error occurred while invoking @%s %s on %s", annotationType.getName(), method, injectee), e.getCause());
                     }
                 });
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleStageModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleStageModule.java b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleStageModule.java
index 4f54bdf..380c9da 100644
--- a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleStageModule.java
+++ b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/LifeCycleStageModule.java
@@ -96,13 +96,10 @@ public abstract class LifeCycleStageModule extends LifeCycleModule {
             @Override
             protected <I> void hear(final Method stageMethod, final TypeLiteral<I> parentType,
                                     final TypeEncounter<I> encounter, final Class<? extends Annotation> annotationType) {
-                encounter.register(new InjectionListener<I>() {
-                    @Override
-                    public void afterInjection(I injectee) {
-                        Stageable stageable = new StageableMethod(stageMethod, injectee);
-                        stager.register(stageable);
-                        typeMapper.registerType(stageable, parentType);
-                    }
+                encounter.register((InjectionListener<I>) injectee -> {
+                    Stageable stageable = new StageableMethod(stageMethod, injectee);
+                    stager.register(stageable);
+                    typeMapper.registerType(stageable, parentType);
                 });
             }
         });

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/StageableMethod.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/StageableMethod.java b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/StageableMethod.java
index 764ba14..cafadfe 100644
--- a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/StageableMethod.java
+++ b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/StageableMethod.java
@@ -52,12 +52,9 @@ final class StageableMethod extends AbstractBasicStageable<Object> {
     @Override
     public final void stage(StageHandler stageHandler) {
         try {
-            AccessController.doPrivileged(new PrivilegedAction<Void>() {
-                @Override
-                public Void run() {
-                    stageMethod.setAccessible(true);
-                    return null;
-                }
+            AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+                stageMethod.setAccessible(true);
+                return null;
             });
             stageMethod.invoke(object);
         } catch (InvocationTargetException e) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java b/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
index f80703e..156c5f1 100644
--- a/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
+++ b/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
@@ -30,17 +30,9 @@ public class DefaultStagerTestCase {
     public void stagerShouldStageObjectsRegisteredWhileStaging() {
         final Stager<TestAnnotationA> stager = new DefaultStager<TestAnnotationA>(TestAnnotationA.class);
         final AtomicBoolean staged = new AtomicBoolean();
-        stager.register(new Stageable() {
-            @Override
-            public void stage(StageHandler stageHandler) {
-                stager.register(new Stageable() {
-                    @Override
-                    public void stage(StageHandler stageHandler) {
-                        staged.set(true);
-                    }
-                });
-            }
-        });
+        stager.register(stageHandler1 -> stager
+            .register(stageHandler2 ->
+                staged.set(true)));
 
         stager.stage();
 
@@ -57,26 +49,14 @@ public class DefaultStagerTestCase {
     public void stagerShouldNotDeadlockWhileStagingObjectChains() {
         final AtomicBoolean staged = new AtomicBoolean();
         final Stager<TestAnnotationA> stager = new DefaultStager<TestAnnotationA>(TestAnnotationA.class);
-        stager.register(new Stageable() {
-            @Override
-            public void stage(StageHandler stageHandler) {
-                Thread thread = new Thread(new Runnable() {
-                    @Override
-                    public void run() {
-                        stager.register(new Stageable() {
-                            @Override
-                            public void stage(StageHandler stageHandler) {
-                                staged.set(true);
-                            }
-                        });
-                    }
-                });
-                thread.start();
-                try {
-                    thread.join();
-                } catch (InterruptedException e) {
-                    Thread.currentThread().interrupt();
-                }
+        stager.register(stageHandler1 -> {
+            Thread thread = new Thread(
+                () -> stager.register(stageHandler2 -> staged.set(true)));
+            thread.start();
+            try {
+                thread.join();
+            } catch (InterruptedException e) {
+                Thread.currentThread().interrupt();
             }
         });
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/AbstractOSGIAnnotationBeanPostProcessor.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/AbstractOSGIAnnotationBeanPostProcessor.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/AbstractOSGIAnnotationBeanPostProcessor.java
index d361dbf..f828ab3 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/AbstractOSGIAnnotationBeanPostProcessor.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/AbstractOSGIAnnotationBeanPostProcessor.java
@@ -155,23 +155,21 @@ public abstract class AbstractOSGIAnnotationBeanPostProcessor<A extends Annotati
 
     /* private version of the injector can use */
     private void injectServices(final Object bean, final String beanName) {
-        ReflectionUtils.doWithMethods(bean.getClass(), new ReflectionUtils.MethodCallback() {
-
-            public void doWith(Method method) {
+        ReflectionUtils.doWithMethods(bean.getClass(),
+            method -> {
                 A s = AnnotationUtils.getAnnotation(method, getAnnotation());
                 if (s != null && method.getParameterTypes().length == 1) {
                     try {
                         if (logger.isDebugEnabled())
                             logger.debug("Processing annotation [" + s + "] for [" + bean.getClass().getName() + "."
-                                    + method.getName() + "()] on bean [" + beanName + "]");
+                                + method.getName() + "()] on bean [" + beanName + "]");
                         method.invoke(bean, getServiceImporter(s, method, beanName).getObject());
                     }
                     catch (Exception e) {
                         throw new IllegalArgumentException("Error processing annotation " +s , e);
                     }
                 }
-            }
-        });
+            });
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/util-java8/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java b/server/container/util-java8/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java
index 99c320e..5a19d5e 100644
--- a/server/container/util-java8/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java
+++ b/server/container/util-java8/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java
@@ -155,7 +155,7 @@ public class MessageContentExtractor {
 
     private Optional<String> getFirstMatchingTextBody(Multipart multipart, String mimeType, Predicate<Entity> condition) {
         Function<TextBody, Optional<String>> textBodyOptionalFunction = Throwing
-            .<TextBody, Optional<String>>function(textBody ->  asString(textBody)).sneakyThrow();
+            .function(this::asString).sneakyThrow();
 
         return multipart.getBodyParts()
             .stream()

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java b/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
index 89396e0..8934b56 100644
--- a/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
+++ b/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
@@ -31,13 +31,9 @@ import org.junit.rules.ExpectedException;
 
 public class ConcurrentTestRunnerTest {
 
-    public static final ConcurrentTestRunner.BiConsumer EMPTY_BI_CONSUMER = new ConcurrentTestRunner.BiConsumer() {
-        @Override
-        public void consume(int threadNumber, int step) throws Exception {
-
-        }
-    };
+    public static final ConcurrentTestRunner.BiConsumer EMPTY_BI_CONSUMER = (threadNumber, step) -> {};
     public static final int DEFAULT_AWAIT_TIME = 100;
+
     @Rule
     public ExpectedException expectedException = ExpectedException.none();
 
@@ -104,12 +100,7 @@ public class ConcurrentTestRunnerTest {
         final int sleepDelay = 50;
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-            @Override
-            public void consume(int threadNumber, int step) throws Exception {
-                Thread.sleep(sleepDelay);
-            }
-        })
+            (threadNumber, step) -> Thread.sleep(sleepDelay))
             .run();
 
         assertThat(concurrentTestRunner.awaitTermination(sleepDelay / 2, TimeUnit.MILLISECONDS)).isFalse();
@@ -122,12 +113,7 @@ public class ConcurrentTestRunnerTest {
         final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    queue.add(threadNumber + ":" + step);
-                }
-            })
+            (threadNumber, step) -> queue.add(threadNumber + ":" + step))
             .run();
 
         assertThat(concurrentTestRunner.awaitTermination(DEFAULT_AWAIT_TIME, TimeUnit.MILLISECONDS)).isTrue();
@@ -140,11 +126,8 @@ public class ConcurrentTestRunnerTest {
         int threadCount = 2;
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    throw new RuntimeException();
-                }
+            (threadNumber, step) -> {
+                throw new RuntimeException();
             })
             .run();
 
@@ -156,13 +139,7 @@ public class ConcurrentTestRunnerTest {
         int operationCount = 2;
         int threadCount = 2;
 
-        ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-
-                }
-            })
+        ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount, EMPTY_BI_CONSUMER)
             .run();
 
         concurrentTestRunner.awaitTermination(DEFAULT_AWAIT_TIME, TimeUnit.MILLISECONDS);
@@ -176,11 +153,8 @@ public class ConcurrentTestRunnerTest {
         int threadCount = 2;
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    throw new RuntimeException();
-                }
+            (threadNumber, step) -> {
+                throw new RuntimeException();
             })
             .run();
         concurrentTestRunner.awaitTermination(DEFAULT_AWAIT_TIME, TimeUnit.MILLISECONDS);
@@ -196,12 +170,9 @@ public class ConcurrentTestRunnerTest {
         final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    queue.add(threadNumber + ":" + step);
-                    throw new RuntimeException();
-                }
+            (threadNumber, step) -> {
+                queue.add(threadNumber + ":" + step);
+                throw new RuntimeException();
             })
             .run();
 
@@ -216,13 +187,10 @@ public class ConcurrentTestRunnerTest {
         final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
-            new ConcurrentTestRunner.BiConsumer() {
-                @Override
-                public void consume(int threadNumber, int step) throws Exception {
-                    queue.add(threadNumber + ":" + step);
-                    if ((threadNumber + step) % 2 == 0) {
-                        throw new RuntimeException();
-                    }
+            (threadNumber, step) -> {
+                queue.add(threadNumber + ":" + step);
+                if ((threadNumber + step) % 2 == 0) {
+                    throw new RuntimeException();
                 }
             })
             .run();

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
index 0c76f8d..ed25df5 100644
--- a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
+++ b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
@@ -54,6 +54,7 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.commons.cnd.CndImporter;
 import org.apache.jackrabbit.util.ISO9075;
 import org.apache.jackrabbit.util.Text;
@@ -522,17 +523,15 @@ public class JCRMailRepository extends AbstractMailRepository implements MailRep
 
         PipedInputStream input = new PipedInputStream();
         final PipedOutputStream output = new PipedOutputStream(input);
-        new Thread() {
-            public void run() {
-                try {
-                    message.writeTo(output);
-                } catch (Exception e) {
-                    LOGGER.info("Exception ignored", e);
-                } finally {
-                    org.apache.commons.io.IOUtils.closeQuietly(output);
-                }
+        new Thread(() -> {
+            try {
+                message.writeTo(output);
+            } catch (Exception e) {
+                LOGGER.info("Exception ignored", e);
+            } finally {
+                IOUtils.closeQuietly(output);
             }
-        }.start();
+        }).start();
         node.setProperty("jcr:data", input);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
index 8b421e5..bfa0e49 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
@@ -28,7 +28,6 @@ import java.util.StringTokenizer;
 
 import org.apache.james.rrt.lib.Mapping.Type;
 
-import com.google.common.base.Function;
 import com.google.common.base.Joiner;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
@@ -126,12 +125,7 @@ public class MappingsImpl implements Mappings, Serializable {
     
     @Override
     public Iterable<String> asStrings() {
-        return FluentIterable.from(mappings).transform(new Function<Mapping, String>() {
-            @Override
-            public String apply(Mapping input) {
-                return input.asString();
-            }
-        });
+        return FluentIterable.from(mappings).transform(Mapping::asString);
     }
 
     @Override
@@ -171,12 +165,7 @@ public class MappingsImpl implements Mappings, Serializable {
     }
     
     private Predicate<Mapping> hasType(final Mapping.Type type) {
-        return new Predicate<Mapping>() {
-            @Override
-            public boolean apply(Mapping input) {
-                return input.getType().equals(type);
-            }
-        };
+        return mapping -> mapping.getType().equals(type);
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java b/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
index 4445207..d14e975 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
@@ -29,10 +29,8 @@ import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
 import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 
-import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -124,39 +122,26 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
             return null;
         }
         Map<String, Collection<Mappings>> userMappingsMap = Multimaps.transformEntries(
-            Multimaps.index(mappingEntries, new Function<InMemoryMappingEntry, String>() {
-                public String apply(InMemoryMappingEntry mappingEntry) {
-                    return mappingEntry.asKey();
-                }
-            }), new Maps.EntryTransformer<String, InMemoryMappingEntry, Mappings>() {
-                public Mappings transformEntry(String s, InMemoryMappingEntry mappingEntry) {
-                    return MappingsImpl.fromRawString(mappingEntry.getMapping());
-                }
-            }).asMap();
-        return Maps.transformEntries(userMappingsMap, new Maps.EntryTransformer<String, Collection<Mappings>, Mappings>() {
-            public Mappings transformEntry(String s, Collection<Mappings> mappingsList) {
+            Multimaps.index(mappingEntries, InMemoryMappingEntry::asKey),
+            (Maps.EntryTransformer<String, InMemoryMappingEntry, Mappings>)
+                (s, mappingEntry) -> MappingsImpl.fromRawString(mappingEntry.getMapping()))
+            .asMap();
+        return Maps.transformEntries(userMappingsMap,
+            (s, mappingsList) -> {
                 Mappings result = MappingsImpl.empty();
                 for (Mappings mappings : mappingsList) {
                     result = result.union(mappings);
                 }
                 return result;
-            }
-        });
+            });
     }
 
     private Optional<Mappings> retrieveMappings(final String user, final String domain) {
         List<String> userEntries = Lists.newArrayList(
             Iterables.transform(
-                Iterables.filter(mappingEntries, new Predicate<InMemoryMappingEntry>() {
-                    public boolean apply(InMemoryMappingEntry mappingEntry) {
-                        return user.equals(mappingEntry.getUser()) && domain.equals(mappingEntry.getDomain());
-                    }
-                }), new Function<InMemoryMappingEntry, String>() {
-                    @Override
-                    public String apply(InMemoryMappingEntry mappingEntry) {
-                        return mappingEntry.getMapping();
-                    }
-                }));
+                Iterables.filter(mappingEntries,
+                    mappingEntry -> user.equals(mappingEntry.getUser()) && domain.equals(mappingEntry.getDomain())),
+                InMemoryMappingEntry::getMapping));
         return MappingsImpl.fromCollection(userEntries).toOptional();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
index 38ebfd1..613fe3b 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
@@ -19,8 +19,11 @@
 
 package org.apache.james.user.memory;
 
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.user.api.UsersRepositoryException;
@@ -28,10 +31,7 @@ import org.apache.james.user.api.model.User;
 import org.apache.james.user.lib.AbstractUsersRepository;
 import org.apache.james.user.lib.model.DefaultUser;
 
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Map;
+import com.google.common.base.Optional;
 
 public class MemoryUsersRepository extends AbstractUsersRepository {
 
@@ -104,11 +104,8 @@ public class MemoryUsersRepository extends AbstractUsersRepository {
     @Override
     public boolean test(String name, final String password) throws UsersRepositoryException {
         return Optional.fromNullable(userByName.get(name))
-            .transform(new Function<User, Boolean>() {
-                public Boolean apply(User user) {
-                    return user.verifyPassword(password);
-                }
-            }).or(false);
+            .transform(user -> user.verifyPassword(password))
+            .or(false);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
index 16085d3..04926ab 100644
--- a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
+++ b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java
@@ -85,12 +85,7 @@ public class InMemoryDNSService implements DNSService {
     }
 
     private DNSRecord hostRecord(final String host) {
-        Predicate<? super Entry<String, DNSRecord>> filterByKey = new Predicate<Entry<String, DNSRecord>>() {
-            @Override
-            public boolean apply(Entry<String, DNSRecord> entry) {
-                return entry.getKey().equals(host);
-            }
-        };
+        Predicate<? super Entry<String, DNSRecord>> filterByKey = entry -> entry.getKey().equals(host);
         return getDNSEntry(filterByKey).getValue();
     }
 
@@ -101,12 +96,7 @@ public class InMemoryDNSService implements DNSService {
 
     @Override
     public String getHostName(final InetAddress addr) {
-        Predicate<? super Entry<String, DNSRecord>> filterByValue = new Predicate<Entry<String, DNSRecord>>() {
-            @Override
-            public boolean apply(Entry<String, DNSRecord> entry) {
-                return entry.getValue().contains(addr);
-            }
-        };
+        Predicate<? super Entry<String, DNSRecord>> filterByValue = entry -> entry.getValue().contains(addr);
 
         return getDNSEntry(filterByValue).getKey();
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/netmatcher/NetMatcher.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/netmatcher/NetMatcher.java b/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/netmatcher/NetMatcher.java
index fc93531..147a952 100644
--- a/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/netmatcher/NetMatcher.java
+++ b/server/dns-service/dnsservice-library/src/main/java/org/apache/james/dnsservice/library/netmatcher/NetMatcher.java
@@ -159,11 +159,7 @@ public class NetMatcher {
      */
     private void initInetNetworks(String[] nets) {
 
-        networks = new TreeSet<InetNetwork>(new Comparator<InetNetwork>() {
-            public int compare(InetNetwork in1, InetNetwork in2) {
-                return in1.toString().compareTo(in2.toString());
-            }
-        });
+        networks = new TreeSet<>(Comparator.comparing(Object::toString));
 
         final InetNetworkBuilder inetNetwork = new InetNetworkBuilder(dnsServer);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index 896a7db..634d753 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -157,48 +157,44 @@ public class JamesMailSpooler implements Runnable, Disposable, Configurable, Log
             final MailQueueItem queueItem;
             try {
                 queueItem = queue.deQueue();
-                workerService.execute(new Runnable() {
+                workerService.execute(() -> {
+                    TimeMetric timeMetric = metricFactory.timer(SPOOL_PROCESSING);
+                    try {
+                        numActive.incrementAndGet();
+
+                        // increase count
+                        processingActive.incrementAndGet();
+
+                        Mail mail = queueItem.getMail();
+                        if (logger.isDebugEnabled()) {
+                            String debugBuffer = "==== Begin processing mail " + mail.getName() + "====";
+                            logger.debug(debugBuffer);
+                        }
 
-                    @Override
-                    public void run() {
-                        TimeMetric timeMetric = metricFactory.timer(SPOOL_PROCESSING);
                         try {
-                            numActive.incrementAndGet();
-
-                            // increase count
-                            processingActive.incrementAndGet();
-
-                            Mail mail = queueItem.getMail();
-                            if (logger.isDebugEnabled()) {
-                                String debugBuffer = "==== Begin processing mail " + mail.getName() + "====";
-                                logger.debug(debugBuffer);
-                            }
-
-                            try {
-                                mailProcessor.service(mail);
-                                queueItem.done(true);
-                            } catch (Exception e) {
-                                if (active.get() && logger.isErrorEnabled()) {
-                                    logger.error("Exception processing mail while spooling " + e.getMessage(), e);
-                                }
-                                queueItem.done(false);
-
-                            } finally {
-                                LifecycleUtil.dispose(mail);
-                                mail = null;
-                            }
-                        } catch (Throwable e) {
+                            mailProcessor.service(mail);
+                            queueItem.done(true);
+                        } catch (Exception e) {
                             if (active.get() && logger.isErrorEnabled()) {
                                 logger.error("Exception processing mail while spooling " + e.getMessage(), e);
-
                             }
+                            queueItem.done(false);
+
                         } finally {
-                            processingActive.decrementAndGet();
-                            numActive.decrementAndGet();
-                            timeMetric.stopAndPublish();
+                            LifecycleUtil.dispose(mail);
+                            mail = null;
                         }
+                    } catch (Throwable e) {
+                        if (active.get() && logger.isErrorEnabled()) {
+                            logger.error("Exception processing mail while spooling " + e.getMessage(), e);
 
+                        }
+                    } finally {
+                        processingActive.decrementAndGet();
+                        numActive.decrementAndGet();
+                        timeMetric.stopAndPublish();
                     }
+
                 });
             } catch (MailQueueException e1) {
                 if (active.get() && logger.isErrorEnabled()) {


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


[09/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Simplify optional call chain"

Posted by bt...@apache.org.
JAMES-2107 Run IntelliJ inspection: "Simplify optional call chain"


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

Branch: refs/heads/master
Commit: 89a58da67cf16203add5b1e3951245764118d7a0
Parents: 94db807
Author: benwa <bt...@linagora.com>
Authored: Wed Aug 9 11:13:10 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Aug 16 16:44:08 2017 +0700

----------------------------------------------------------------------
 .../org/apache/james/mailbox/elasticsearch/json/MimePart.java    | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/89a58da6/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
index c559f1a..ea15e97 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
@@ -120,9 +120,7 @@ public class MimePart {
             Optional<ParsedContent> parsedContent = parseContent(textExtractor);
             return new MimePart(
                 headerCollectionBuilder.build(),
-                parsedContent.map( x -> Optional.ofNullable(x.getTextualContent()))
-                    .orElse(Optional.empty())
-                ,
+                parsedContent.map(ParsedContent::getTextualContent),
                 mediaType,
                 subType,
                 fileName,


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


[11/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
index 2229e1a..a08d152 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueueFactory.java
@@ -18,25 +18,25 @@
  ****************************************************************/
 package org.apache.james.queue.file;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.inject.Inject;
+
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.lifecycle.api.LogEnabled;
-import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
 import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueueFactory;
+import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
 import org.slf4j.Logger;
 
-import javax.inject.Inject;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
 /**
  * {@link MailQueueFactory} implementation which returns {@link FileMailQueue} instances
  */
 public class FileMailQueueFactory implements MailQueueFactory, LogEnabled {
 
-    private final Map<String, MailQueue> queues = new HashMap<String, MailQueue>();
+    private final Map<String, MailQueue> queues = new HashMap<>();
     private MailQueueItemDecoratorFactory mailQueueActionItemDecoratorFactory;
     private FileSystem fs;
     private Logger log;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
index 39a6dd5..8cfbe44 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/jms/JMSMailQueue.java
@@ -288,7 +288,7 @@ public class JMSMailQueue implements ManageableMailQueue, JMSSupport, MailPriori
      * @throws MessagingException
      */
     protected Map<String, Object> getJMSProperties(Mail mail, long delayInMillis) throws MessagingException {
-        Map<String, Object> props = new HashMap<String, Object>();
+        Map<String, Object> props = new HashMap<>();
         long nextDelivery = -1;
         if (delayInMillis > 0) {
             nextDelivery = System.currentTimeMillis() + delayInMillis;
@@ -389,7 +389,7 @@ public class JMSMailQueue implements ManageableMailQueue, JMSSupport, MailPriori
         mail.setLastUpdated(new Date(message.getLongProperty(JAMES_MAIL_LAST_UPDATED)));
         mail.setName(message.getStringProperty(JAMES_MAIL_NAME));
 
-        List<MailAddress> rcpts = new ArrayList<MailAddress>();
+        List<MailAddress> rcpts = new ArrayList<>();
         String recipients = message.getStringProperty(JAMES_MAIL_RECIPIENTS);
         StringTokenizer recipientTokenizer = new StringTokenizer(recipients, JAMES_MAIL_SEPARATOR);
         while (recipientTokenizer.hasMoreTokens()) {
@@ -579,7 +579,7 @@ public class JMSMailQueue implements ManageableMailQueue, JMSSupport, MailPriori
         Message message = null;
         MessageConsumer consumer = null;
         boolean first = true;
-        List<Message> messages = new ArrayList<Message>();
+        List<Message> messages = new ArrayList<>();
 
         try {
             session = connection.createSession(true, Session.SESSION_TRANSACTED);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
index 24bce75..162a5e1 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/AbstractMailQueueFactory.java
@@ -29,7 +29,6 @@ import javax.annotation.PreDestroy;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
-import com.google.common.annotations.VisibleForTesting;
 import org.apache.james.lifecycle.api.LifecycleUtil;
 import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.queue.api.MailQueue;
@@ -38,6 +37,8 @@ import org.apache.james.queue.api.MailQueueManagementMBean;
 import org.apache.james.queue.api.ManageableMailQueue;
 import org.slf4j.Logger;
 
+import com.google.common.annotations.VisibleForTesting;
+
 /**
  * {@link MailQueueFactory} abstract base class which take care of register the
  * {@link MailQueue} implementations via JMX (if possible)
@@ -46,11 +47,11 @@ public abstract class AbstractMailQueueFactory implements MailQueueFactory, LogE
 
     public static final String MBEAN_NAME_QUEUE_PREFIX = "org.apache.james:type=component,name=queue,queue=";
 
-    protected final Map<String, MailQueue> queues = new HashMap<String, MailQueue>();
+    protected final Map<String, MailQueue> queues = new HashMap<>();
     protected Logger log;
     private boolean useJMX = true;
     private MBeanServer mbeanServer;
-    private final List<String> mbeans = new ArrayList<String>();
+    private final List<String> mbeans = new ArrayList<>();
 
     public void setUseJMX(boolean useJMX) {
         this.useJMX = useJMX;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/MailQueueManagement.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/MailQueueManagement.java b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/MailQueueManagement.java
index 70d5482..e0b042a 100644
--- a/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/MailQueueManagement.java
+++ b/server/queue/queue-jms/src/main/java/org/apache/james/queue/library/MailQueueManagement.java
@@ -18,14 +18,13 @@
  ****************************************************************/
 package org.apache.james.queue.library;
 
-import org.apache.james.queue.api.MailQueue.MailQueueException;
-import org.apache.james.queue.api.MailQueueManagementMBean;
-import org.apache.james.queue.api.ManageableMailQueue;
-import org.apache.james.queue.api.ManageableMailQueue.MailQueueItemView;
-import org.apache.james.queue.api.ManageableMailQueue.MailQueueIterator;
-import org.apache.james.queue.api.ManageableMailQueue.Type;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 import javax.management.NotCompliantMBeanException;
 import javax.management.StandardMBean;
@@ -34,13 +33,15 @@ import javax.management.openmbean.CompositeDataSupport;
 import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.OpenType;
 import javax.management.openmbean.SimpleType;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+
+import org.apache.james.queue.api.MailQueue.MailQueueException;
+import org.apache.james.queue.api.MailQueueManagementMBean;
+import org.apache.james.queue.api.ManageableMailQueue;
+import org.apache.james.queue.api.ManageableMailQueue.MailQueueItemView;
+import org.apache.james.queue.api.ManageableMailQueue.MailQueueIterator;
+import org.apache.james.queue.api.ManageableMailQueue.Type;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
 
 /**
  * JMX MBean implementation which expose management functions by wrapping a
@@ -112,7 +113,7 @@ public class MailQueueManagement extends StandardMBean implements MailQueueManag
     @Override
     public List<CompositeData> browse() throws Exception {
         MailQueueIterator it = queue.browse();
-        List<CompositeData> data = new ArrayList<CompositeData>();
+        List<CompositeData> data = new ArrayList<>();
         String[] names = new String[]{"name", "sender", "state", "recipients", "size", "lastUpdated", "remoteAddress", "remoteHost", "errorMessage", "attributes", "nextDelivery"};
         String[] descs = new String[]{"Unique name", "Sender", "Current state", "Recipients", "Size in bytes", "Timestamp of last update", "IPAddress of the sender", "Hostname of the sender", "Errormessage if any", "Attributes stored", "Timestamp of when the next delivery attempt will be make"};
         OpenType<?>[] types = new OpenType<?>[]{SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.LONG, SimpleType.LONG, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.LONG};
@@ -122,7 +123,7 @@ public class MailQueueManagement extends StandardMBean implements MailQueueManag
             MailQueueItemView mView = it.next();
             Mail m = mView.getMail();
             long nextDelivery = mView.getNextDelivery();
-            Map<String, Object> map = new HashMap<String, Object>();
+            Map<String, Object> map = new HashMap<>();
             map.put(names[0], m.getName());
             String sender = null;
             MailAddress senderAddress = m.getSender();
@@ -149,7 +150,7 @@ public class MailQueueManagement extends StandardMBean implements MailQueueManag
             map.put(names[6], m.getRemoteAddr());
             map.put(names[7], m.getRemoteHost());
             map.put(names[8], m.getErrorMessage());
-            Map<String, String> attrs = new HashMap<String, String>();
+            Map<String, String> attrs = new HashMap<>();
             Iterator<String> attrNames = m.getAttributeNames();
             while (attrNames.hasNext()) {
                 String attrName = attrNames.next();


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


[13/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java b/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
index 88fba47..7c29393 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
@@ -108,7 +108,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
             }
 
             // Build the statement parameters
-            Map<String, String> sqlParameters = new HashMap<String, String>();
+            Map<String, String> sqlParameters = new HashMap<>();
             if (tableName != null) {
                 sqlParameters.put("table", tableName);
             }
@@ -165,7 +165,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
         // Parse the DestinationURL for the name of the datasource,
         // the table to use, and the (optional) repository Key.
         // Split on "/", starting after "db://"
-        List<String> urlParams = new ArrayList<String>();
+        List<String> urlParams = new ArrayList<>();
         int start = 5;
 
         int end = destination.indexOf('/', start);
@@ -282,7 +282,7 @@ public class JDBCRecipientRewriteTable extends AbstractRecipientRewriteTable {
     protected Map<String, Mappings> getAllMappingsInternal() throws RecipientRewriteTableException {
         Connection conn = null;
         PreparedStatement mappingStmt = null;
-        Map<String, Mappings> mapping = new HashMap<String, Mappings>();
+        Map<String, Mappings> mapping = new HashMap<>();
         try {
             conn = dataSource.getConnection();
             mappingStmt = conn.prepareStatement(sqlQueries.getSqlString("selectAllMappings", true));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java b/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
index f37fbf5..d0dfc9d 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
@@ -377,7 +377,7 @@ public abstract class AbstractJdbcUsersRepository extends AbstractJamesUsersRepo
             destUrl += "/";
         }
         // Split on "/", starting after "db://"
-        List<String> urlParams = new ArrayList<String>();
+        List<String> urlParams = new ArrayList<>();
         int start = 5;
         int end = destUrl.indexOf('/', start);
         while (end > -1) {
@@ -387,7 +387,7 @@ public abstract class AbstractJdbcUsersRepository extends AbstractJamesUsersRepo
         }
 
         // Build SqlParameters and get datasource name from URL parameters
-        m_sqlParameters = new HashMap<String, String>();
+        m_sqlParameters = new HashMap<>();
         switch (urlParams.size()) {
         case 3:
             m_sqlParameters.put("key", urlParams.get(2));
@@ -427,7 +427,7 @@ public abstract class AbstractJdbcUsersRepository extends AbstractJamesUsersRepo
      */
     protected List<String> listUserNames() throws UsersRepositoryException {
         Collection<User> users = getAllUsers();
-        List<String> userNames = new ArrayList<String>(users.size());
+        List<String> userNames = new ArrayList<>(users.size());
         for (User user : users) {
             userNames.add(user.getUserName());
         }
@@ -451,7 +451,7 @@ public abstract class AbstractJdbcUsersRepository extends AbstractJamesUsersRepo
      * @throws UsersRepositoryException
      */
     private Collection<User> getAllUsers() throws UsersRepositoryException {
-        List<User> userList = new ArrayList<User>(); // Build the users into
+        List<User> userList = new ArrayList<>(); // Build the users into
                                                      // this list.
 
         Connection conn = null;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
index c6a3565..8d102eb 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java
@@ -75,7 +75,7 @@ public class JPADomainList extends AbstractDomainList {
     @SuppressWarnings("unchecked")
     @Override
     protected List<String> getDomainListInternal() throws DomainListException {
-        List<String> domains = new ArrayList<String>();
+        List<String> domains = new ArrayList<>();
         EntityManager entityManager = entityManagerFactory.createEntityManager();
         final EntityTransaction transaction = entityManager.getTransaction();
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
index 936e804..9ed56e0 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
@@ -144,7 +144,7 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
     protected Map<String, Mappings> getAllMappingsInternal() throws RecipientRewriteTableException {
         EntityManager entityManager = entityManagerFactory.createEntityManager();
         final EntityTransaction transaction = entityManager.getTransaction();
-        Map<String, Mappings> mapping = new HashMap<String, Mappings>();
+        Map<String, Mappings> mapping = new HashMap<>();
         try {
             transaction.begin();
             @SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java
----------------------------------------------------------------------
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java
index ac13d21..1c30138 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.james.user.ldap;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
-
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.Attributes;
-import javax.naming.ldap.LdapContext;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -32,6 +25,14 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.Attribute;
+import javax.naming.directory.Attributes;
+import javax.naming.ldap.LdapContext;
+
+import org.apache.commons.configuration.HierarchicalConfiguration;
+
 /**
  * <p>
  * Encapsulates the information required to restrict users to LDAP groups or
@@ -71,7 +72,7 @@ public class ReadOnlyLDAPGroupRestriction {
      *          element.
      */
     public ReadOnlyLDAPGroupRestriction(HierarchicalConfiguration configuration) {
-        groupDNs = new ArrayList<String>();
+        groupDNs = new ArrayList<>();
 
         if (configuration != null) {
             memberAttribute = configuration.getString("[@memberAttribute]");
@@ -113,7 +114,7 @@ public class ReadOnlyLDAPGroupRestriction {
      * @throws NamingException Propagated from underlying LDAP communication layer.
      */
     protected Map<String, Collection<String>> getGroupMembershipLists(LdapContext ldapContext) throws NamingException {
-        Map<String, Collection<String>> result = new HashMap<String, Collection<String>>();
+        Map<String, Collection<String>> result = new HashMap<>();
 
         for (String groupDN : groupDNs) {
             result.put(groupDN, extractMembers(ldapContext.getAttributes(groupDN)));
@@ -134,7 +135,7 @@ public class ReadOnlyLDAPGroupRestriction {
      * @throws NamingException Propagated from underlying LDAP communication layer.
      */
     private Collection<String> extractMembers(Attributes groupAttributes) throws NamingException {
-        Collection<String> result = new ArrayList<String>();
+        Collection<String> result = new ArrayList<>();
         Attribute members = groupAttributes.get(memberAttribute);
         NamingEnumeration<?> memberDNs = members.getAll();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
index f7f48ef..8991c41 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
@@ -523,7 +523,7 @@ public class ReadOnlyUsersLDAPRepository implements UsersRepository, Configurabl
      *             Propagated from the LDAP communication layer.
      */
     private Set<String> getAllUsersFromLDAP() throws NamingException {
-        Set<String> result = new HashSet<String>();
+        Set<String> result = new HashSet<>();
 
         SearchControls sc = new SearchControls();
         sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
@@ -554,7 +554,7 @@ public class ReadOnlyUsersLDAPRepository implements UsersRepository, Configurabl
      */
     private Collection<ReadOnlyLDAPUser> buildUserCollection(Collection<String> userDNs)
             throws NamingException {
-        List<ReadOnlyLDAPUser> results = new ArrayList<ReadOnlyLDAPUser>();
+        List<ReadOnlyLDAPUser> results = new ArrayList<>();
 
         for (String userDN : userDNs) {
             ReadOnlyLDAPUser user = buildUser(userDN);
@@ -736,7 +736,7 @@ public class ReadOnlyUsersLDAPRepository implements UsersRepository, Configurabl
         if (restriction.isActivated()) {
             Map<String, Collection<String>> groupMembershipList = restriction
                     .getGroupMembershipLists(ldapContext);
-            validUserDNs = new ArrayList<String>();
+            validUserDNs = new ArrayList<>();
 
             Iterator<String> userDNIterator = userDNs.iterator();
             String userDN;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
index 8c0a6e1..35fdfdb 100644
--- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
+++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
@@ -165,7 +165,7 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf
         List<String> domains = getDomainListInternal();
 
         // create mutable copy, some subclasses return ImmutableList
-        ArrayList<String> mutableDomains = new ArrayList<String>(domains);
+        ArrayList<String> mutableDomains = new ArrayList<>(domains);
         List<String> detectedDomains = detectDomains();
         mutableDomains.addAll(detectedDomains);
         mutableDomains.addAll(detectIps(mutableDomains));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java b/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
index fc1c16a..9a0ab33 100644
--- a/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
+++ b/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
@@ -28,7 +28,7 @@ public class Lock {
     /**
      * An internal hash table of keys to locks
      */
-    private final Hashtable<Object, Object> locks = new Hashtable<Object, Object>();
+    private final Hashtable<Object, Object> locks = new Hashtable<>();
 
     /**
      * Check to see if the object is locked

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
index bfa0e49..2bcf21e 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java
@@ -53,7 +53,7 @@ public class MappingsImpl implements Mappings, Serializable {
     }
     
     private static ArrayList<String> mappingToCollection(String rawMapping) {
-        ArrayList<String> map = new ArrayList<String>();
+        ArrayList<String> map = new ArrayList<>();
         StringTokenizer tokenizer = new StringTokenizer(rawMapping, RecipientRewriteTableUtil.getSeparator(rawMapping));
         while (tokenizer.hasMoreTokens()) {
             final String raw = tokenizer.nextToken().trim();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
index 8506664..91e5830 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
@@ -75,7 +75,7 @@ public class RecipientRewriteTableUtil {
         Matcher match = pattern.matcher(address.toString());
 
         if (match.matches()) {
-            Map<String, String> parameters = new HashMap<String, String>(match.groupCount());
+            Map<String, String> parameters = new HashMap<>(match.groupCount());
             for (int i = 1; i < match.groupCount(); i++) {
                 parameters.put(Integer.toString(i), match.group(i));
             }
@@ -196,7 +196,7 @@ public class RecipientRewriteTableUtil {
      * @return Map which contains the mappings
      */
     public static Map<String, String> getXMLMappings(String mapping) {
-        Map<String, String> mappings = new HashMap<String, String>();
+        Map<String, String> mappings = new HashMap<>();
         StringTokenizer tokenizer = new StringTokenizer(mapping, ",");
         while (tokenizer.hasMoreTokens()) {
             String mappingItem = tokenizer.nextToken();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
index a1b821d..697bdc7 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
@@ -182,7 +182,7 @@ public abstract class AbstractJamesUsersRepository extends AbstractUsersReposito
      * @see org.apache.james.rrt.api.RecipientRewriteTable#getAllMappings()
      */
     public Map<String, Mappings> getAllMappings() throws RecipientRewriteTableException {
-        Map<String, Mappings> mappings = new HashMap<String, Mappings>();
+        Map<String, Mappings> mappings = new HashMap<>();
         if (enableAliases || enableForwarding) {
             try {
                 Iterator<String> users = list();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/main/java/org/apache/james/user/lib/UsersRepositoryManagement.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/UsersRepositoryManagement.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/UsersRepositoryManagement.java
index 7e55b6b..d9131cc 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/UsersRepositoryManagement.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/UsersRepositoryManagement.java
@@ -18,19 +18,20 @@
  ****************************************************************/
 package org.apache.james.user.lib;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.management.NotCompliantMBeanException;
+import javax.management.StandardMBean;
+
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.user.api.UsersRepositoryManagementMBean;
 import org.apache.james.user.api.model.JamesUser;
 import org.apache.james.user.api.model.User;
 
-import javax.inject.Inject;
-import javax.management.NotCompliantMBeanException;
-import javax.management.StandardMBean;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 @SuppressWarnings("deprecation")
 public class UsersRepositoryManagement extends StandardMBean implements UsersRepositoryManagementMBean {
 
@@ -96,7 +97,7 @@ public class UsersRepositoryManagement extends StandardMBean implements UsersRep
 
     @Override
     public String[] listAllUsers() throws Exception {
-        List<String> userNames = new ArrayList<String>();
+        List<String> userNames = new ArrayList<>();
         try {
             for (Iterator<String> it = usersRepository.list(); it.hasNext(); ) {
                 userNames.add(it.next());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java b/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java
index 195d68e..f85c2e3 100644
--- a/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java
+++ b/server/data/data-library/src/test/java/org/apache/james/domainlist/api/mock/SimpleDomainList.java
@@ -31,7 +31,7 @@ import com.google.common.collect.ImmutableList;
  */
 public class SimpleDomainList implements DomainList {
 
-    private final List<String> domains = new LinkedList<String>();
+    private final List<String> domains = new LinkedList<>();
 
     @Override
     public boolean containsDomain(String domain) throws DomainListException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
index 8619229..56e3979 100644
--- a/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
@@ -18,13 +18,21 @@
  ****************************************************************/
 package org.apache.james.mailrepository;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
+
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 import javax.mail.util.SharedByteArrayInputStream;
+
 import org.apache.james.core.MailImpl;
 import org.apache.james.core.MimeMessageCopyOnWriteProxy;
 import org.apache.james.core.MimeMessageInputStreamSource;
@@ -33,7 +41,6 @@ import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.junit.After;
-import static org.junit.Assert.*;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -56,7 +63,7 @@ public abstract class AbstractMailRepositoryTest {
         MimeMessageInputStreamSource mmis = new MimeMessageInputStreamSource("test",
             new SharedByteArrayInputStream((content + sep + body).getBytes()));
         mimeMessage = new MimeMessageCopyOnWriteProxy(mmis);
-        Collection<MailAddress> recipients = new ArrayList<MailAddress>();
+        Collection<MailAddress> recipients = new ArrayList<>();
         recipients.add(new MailAddress("rec1", "domain.com"));
         recipients.add(new MailAddress("rec2", "domain.com"));
         mail = new MailImpl("mail1", new MailAddress("sender", "domain.com"), recipients, mimeMessage);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java b/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
index 89e6fde..707a2c9 100644
--- a/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
+++ b/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
@@ -29,7 +29,7 @@ import org.apache.james.mailrepository.api.MailRepositoryStore;
 
 public class MockMailRepositoryStore implements MailRepositoryStore {
 
-    final Map<String, MailRepository> m_storedObjectMap = new HashMap<String, MailRepository>();
+    final Map<String, MailRepository> m_storedObjectMap = new HashMap<>();
 
     public void add(String url, MailRepository obj) {
         m_storedObjectMap.put(url, obj);
@@ -47,7 +47,7 @@ public class MockMailRepositoryStore implements MailRepositoryStore {
 
     @Override
     public List<String> getUrls() {
-        return new ArrayList<String>(m_storedObjectMap.keySet());
+        return new ArrayList<>(m_storedObjectMap.keySet());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
index 2007354..eb0b548 100644
--- a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
@@ -94,7 +94,7 @@ public abstract class AbstractUsersRepositoryTest {
     @Test
     public void countUsersShouldReturnNumberOfUsersWhenNotEmptyRepository() throws UsersRepositoryException {
         //Given
-        ArrayList<String> keys = new ArrayList<String>(3);
+        ArrayList<String> keys = new ArrayList<>(3);
         keys.add(user1);
         keys.add(user2);
         keys.add(user3);
@@ -118,7 +118,7 @@ public abstract class AbstractUsersRepositoryTest {
     @Test
     public void listShouldReturnExactlyUsersInRepository() throws UsersRepositoryException {
         //Given
-        ArrayList<String> keys = new ArrayList<String>(3);
+        ArrayList<String> keys = new ArrayList<>(3);
         keys.add(user1);
         keys.add(user2);
         keys.add(user3);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-library/src/test/java/org/apache/james/user/lib/mock/InMemoryUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/user/lib/mock/InMemoryUsersRepository.java b/server/data/data-library/src/test/java/org/apache/james/user/lib/mock/InMemoryUsersRepository.java
index e910028..e8d1433 100644
--- a/server/data/data-library/src/test/java/org/apache/james/user/lib/mock/InMemoryUsersRepository.java
+++ b/server/data/data-library/src/test/java/org/apache/james/user/lib/mock/InMemoryUsersRepository.java
@@ -33,7 +33,7 @@ import org.apache.james.user.lib.model.DefaultUser;
 @SuppressWarnings("deprecation")
 public class InMemoryUsersRepository extends AbstractJamesUsersRepository {
 
-    private final HashMap<String, User> m_users = new HashMap<String, User>();
+    private final HashMap<String, User> m_users = new HashMap<>();
     /**
      * force the repository to hold implementations of JamesUser interface,
      * instead of User JamesUser is _not_ required as of the UsersRepository
@@ -104,7 +104,7 @@ public class InMemoryUsersRepository extends AbstractJamesUsersRepository {
 
     protected List<String> listUserNames() {
         Iterator<User> users = m_users.values().iterator();
-        List<String> userNames = new LinkedList<String>();
+        List<String> userNames = new LinkedList<>();
         while (users.hasNext()) {
             User user = users.next();
             userNames.add(user.getUserName());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
index adfd48f..1f387d2 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java
@@ -38,7 +38,7 @@ public class MemoryDomainList extends AbstractDomainList {
     @Inject
     public MemoryDomainList(DNSService dns) {
         super(dns);
-        this.domains = new ArrayList<String>();
+        this.domains = new ArrayList<>();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java b/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
index d14e975..70890a3 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTable.java
@@ -87,7 +87,7 @@ public class MemoryRecipientRewriteTable extends AbstractRecipientRewriteTable {
     private final List<InMemoryMappingEntry> mappingEntries;
 
     public MemoryRecipientRewriteTable() {
-        mappingEntries = new ArrayList<InMemoryMappingEntry>();
+        mappingEntries = new ArrayList<>();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
index 613fe3b..97380fa 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
@@ -48,7 +48,7 @@ public class MemoryUsersRepository extends AbstractUsersRepository {
     private String algo;
 
     private MemoryUsersRepository(boolean supportVirtualHosting) {
-        this.userByName = new HashMap<String, User>();
+        this.userByName = new HashMap<>();
         this.algo = "MD5";
         this.supportVirtualHosting = supportVirtualHosting;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java b/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
index ff0cf09..d7e35b5 100644
--- a/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
+++ b/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
@@ -18,7 +18,18 @@
  ****************************************************************/
 package org.apache.james.dnsservice.dnsjava;
 
-import com.google.common.collect.ImmutableList;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.dnsservice.api.DNSService;
@@ -46,17 +57,7 @@ import org.xbill.DNS.TXTRecord;
 import org.xbill.DNS.TextParseException;
 import org.xbill.DNS.Type;
 
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
+import com.google.common.collect.ImmutableList;
 
 /**
  * Provides DNS client functionality to services running inside James
@@ -88,7 +89,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
     /**
      * The DNS servers to be used by this service
      */
-    private final List<String> dnsServers = new ArrayList<String>();
+    private final List<String> dnsServers = new ArrayList<>();
 
     private final MetricFactory metricFactory;
 
@@ -130,7 +131,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
 
         boolean autodiscover = configuration.getBoolean("autodiscover", true);
 
-        List<Name> sPaths = new ArrayList<Name>();
+        List<Name> sPaths = new ArrayList<>();
         if (autodiscover) {
             logger.info("Autodiscovery is enabled - trying to discover your system's DNS Servers");
             String[] serversArray = ResolverConfig.getCurrentConfig().servers();
@@ -263,7 +264,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
      */
     private List<String> findMXRecordsRaw(String hostname) throws TemporaryResolutionException {
         Record answers[] = lookup(hostname, Type.MX, "MX");
-        List<String> servers = new ArrayList<String>();
+        List<String> servers = new ArrayList<>();
         if (answers == null) {
             return servers;
         }
@@ -280,7 +281,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
         // now add the mx records to the right list and take care of shuffle
         // mx records with the same priority
         int currentPrio = -1;
-        List<String> samePrio = new ArrayList<String>();
+        List<String> samePrio = new ArrayList<>();
         for (int i = 0; i < mxAnswers.length; i++) {
             boolean same = false;
             boolean lastItem = i + 1 == mxAnswers.length;
@@ -319,7 +320,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
     @Override
     public Collection<String> findMXRecords(String hostname) throws TemporaryResolutionException {
         TimeMetric timeMetric = metricFactory.timer("findMXRecords");
-        List<String> servers = new ArrayList<String>();
+        List<String> servers = new ArrayList<>();
         try {
             servers = findMXRecordsRaw(hostname);
             return Collections.unmodifiableCollection(servers);
@@ -493,7 +494,7 @@ public class DNSJavaService implements DNSService, DNSServiceMBean, LogEnabled,
     @Override
     public Collection<String> findTXTRecords(String hostname) {
         TimeMetric timeMetric = metricFactory.timer("findTXTRecords");
-        List<String> txtR = new ArrayList<String>();
+        List<String> txtR = new ArrayList<>();
         Record[] records = lookupNoException(hostname, Type.TXT, "TXT");
 
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
----------------------------------------------------------------------
diff --git a/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java b/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
index fa59ed8..be24c10 100644
--- a/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
+++ b/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
@@ -18,21 +18,26 @@
  ****************************************************************/
 package org.apache.james.dnsservice.dnsjava;
 
-import com.google.common.io.Resources;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.james.metrics.api.NoopMetricFactory;
-import org.junit.After;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import org.junit.Before;
-import org.junit.Test;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.james.metrics.api.NoopMetricFactory;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xbill.DNS.Cache;
@@ -42,11 +47,7 @@ import org.xbill.DNS.Name;
 import org.xbill.DNS.Resolver;
 import org.xbill.DNS.Zone;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
+import com.google.common.io.Resources;
 
 public class DNSJavaServiceTest {
     private static final Logger LOGGER = LoggerFactory.getLogger(DNSJavaServiceTest.class);
@@ -174,7 +175,7 @@ public class DNSJavaServiceTest {
         dnsServer.setCache(mockedCache);
 
         // a.setSearchPath(new String[] { "searchdomain.com." });
-        ArrayList<String> records = new ArrayList<String>(dnsServer.findMXRecords("three-mx.bar."));
+        ArrayList<String> records = new ArrayList<>(dnsServer.findMXRecords("three-mx.bar."));
         assertEquals(3, records.size());
         assertTrue(records.contains("mx1.three-mx.bar."));
         assertTrue(records.contains("mx2.three-mx.bar."));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
index e4f8750..8662256 100644
--- a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
+++ b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
@@ -42,8 +42,8 @@ public class MockMailetContext implements MailetContext {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(MockMailetContext.class);
 
-    private final Map<String, Object> attributes = new HashMap<String, Object>();
-    private final List<Mail> mails = new ArrayList<Mail>();
+    private final Map<String, Object> attributes = new HashMap<>();
+    private final List<Mail> mails = new ArrayList<>();
 
     @Override
     public void bounce(Mail arg0, String arg1) throws MessagingException {
@@ -76,7 +76,7 @@ public class MockMailetContext implements MailetContext {
      */
     @Override
     public Collection<String> getMailServers(String host) {
-        List<String> servers = new ArrayList<String>();
+        List<String> servers = new ArrayList<>();
         if ("localhost".equalsIgnoreCase(host)) {
             servers.add("mx.localhost");
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
index d9920c1..6407eb8 100644
--- a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
+++ b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
@@ -22,7 +22,9 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+
 import javax.mail.MessagingException;
+
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.Matcher;
@@ -55,7 +57,7 @@ public class MockMatcher implements Matcher {
 
     @Override
     public Collection<MailAddress> match(Mail mail) throws MessagingException {
-        List<MailAddress> match = new ArrayList<MailAddress>();
+        List<MailAddress> match = new ArrayList<>();
 
         Iterator<MailAddress> rcpts = mail.getRecipients().iterator();
         while (rcpts.hasNext() && match.size() < matchCount) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
index 4274727..f21ac95 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
@@ -69,7 +69,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     /**
      * A hash table of server attributes These are the MailetContext attributes
      */
-    private final Hashtable<String, Object> attributes = new Hashtable<String, Object>();
+    private final Hashtable<String, Object> attributes = new Hashtable<>();
     protected DNSService dns;
 
     protected Logger log;
@@ -130,7 +130,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
 
     @Override
     public Iterator<String> getAttributeNames() {
-        Vector<String> names = new Vector<String>();
+        Vector<String> names = new Vector<>();
         for (Enumeration<String> e = attributes.keys(); e.hasMoreElements(); ) {
             names.add(e.nextElement());
         }
@@ -223,7 +223,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
         MimeMessage reply = (MimeMessage) original.reply(false);
         reply.setSubject("Re: " + original.getSubject());
         reply.setSentDate(new Date());
-        Collection<MailAddress> recipients = new HashSet<MailAddress>();
+        Collection<MailAddress> recipients = new HashSet<>();
         recipients.add(mail.getSender());
         InternetAddress addr[] = {new InternetAddress(mail.getSender().toString())};
         reply.setRecipients(Message.RecipientType.TO, addr);
@@ -380,7 +380,7 @@ public class JamesMailetContext implements MailetContext, LogEnabled, Configurab
     @Override
     public void sendMail(MimeMessage message) throws MessagingException {
         MailAddress sender = new MailAddress((InternetAddress) message.getFrom()[0]);
-        Collection<MailAddress> recipients = new HashSet<MailAddress>();
+        Collection<MailAddress> recipients = new HashSet<>();
         Address addresses[] = message.getAllRecipients();
         if (addresses != null) {
             for (Address address : addresses) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java
index dfd82a1..b41bb53 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java
@@ -19,16 +19,16 @@
 
 package org.apache.james.mailetcontainer.impl;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.mailet.MailetConfig;
-import org.apache.mailet.MailetContext;
-
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.regex.Pattern;
 
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.mailet.MailetConfig;
+import org.apache.mailet.MailetContext;
+
 /**
  * Implements the configuration object for a Mailet.
  */
@@ -73,7 +73,7 @@ public class MailetConfigImpl implements MailetConfig {
      */
     public Iterator<String> getInitParameterNames() {
         Iterator<String> it = configuration.getKeys();
-        List<String> params = new ArrayList<String>();
+        List<String> params = new ArrayList<>();
         while (it.hasNext()) {
             String param = it.next();
             // Remove all attributes

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
index 1deac8a..77c3dcd 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
@@ -81,13 +81,13 @@ public class MatcherSplitter {
                             @Property(METRIC_FACTORY) MetricFactory metricFactory,
                             @Body Mail mail) throws MessagingException {
         Collection<MailAddress> matchedRcpts = null;
-        Collection<MailAddress> origRcpts = new ArrayList<MailAddress>(mail.getRecipients());
+        Collection<MailAddress> origRcpts = new ArrayList<>(mail.getRecipients());
         long start = System.currentTimeMillis();
         MessagingException ex = null;
         TimeMetric timeMetric = metricFactory.timer(matcher.getClass().getSimpleName());
 
         try {
-            List<Mail> mails = new ArrayList<Mail>();
+            List<Mail> mails = new ArrayList<>();
             boolean fullMatch = false;
 
             try {
@@ -97,7 +97,7 @@ public class MatcherSplitter {
                 if (matchedRcpts == null) {
                     // In case the matcher returned null, create an empty
                     // Collection
-                    matchedRcpts = new ArrayList<MailAddress>(0);
+                    matchedRcpts = new ArrayList<>(0);
                 } else if (matchedRcpts != mail.getRecipients()) {
                     // Make sure all the objects are MailAddress objects
                     ProcessorUtil.verifyMailAddresses(matchedRcpts);
@@ -113,7 +113,7 @@ public class MatcherSplitter {
                 if (onMatchException.compareTo("nomatch") == 0) {
                     // In case the matcher returned null, create an empty
                     // Collection
-                    matchedRcpts = new ArrayList<MailAddress>(0);
+                    matchedRcpts = new ArrayList<>(0);
                 } else if (onMatchException.compareTo("matchall") == 0) {
                     matchedRcpts = mail.getRecipients();
                     // no need to verify addresses
@@ -124,7 +124,7 @@ public class MatcherSplitter {
 
             // check if the matcher matched
             if (matchedRcpts != null && !matchedRcpts.isEmpty()) {
-                List<MailAddress> rcpts = new ArrayList<MailAddress>(mail.getRecipients());
+                List<MailAddress> rcpts = new ArrayList<>(mail.getRecipients());
 
                 for (MailAddress matchedRcpt : matchedRcpts) {
                     // loop through the recipients and remove the recipients

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateCompositeProcessorListener.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateCompositeProcessorListener.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateCompositeProcessorListener.java
index b844867..f4839d1 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateCompositeProcessorListener.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateCompositeProcessorListener.java
@@ -43,8 +43,8 @@ public class JMXStateCompositeProcessorListener implements CompositeProcessorLis
 
     private final AbstractStateCompositeProcessor mList;
     private final MBeanServer mbeanserver;
-    private final List<ObjectName> mbeans = new ArrayList<ObjectName>();
-    private final Map<MailProcessor, MailProcessorManagement> mMap = new HashMap<MailProcessor, MailProcessorManagement>();
+    private final List<ObjectName> mbeans = new ArrayList<>();
+    private final Map<MailProcessor, MailProcessorManagement> mMap = new HashMap<>();
 
     public JMXStateCompositeProcessorListener(AbstractStateCompositeProcessor mList) throws JMException {
         this.mList = mList;
@@ -57,7 +57,7 @@ public class JMXStateCompositeProcessorListener implements CompositeProcessorLis
      * Unregister all JMX MBeans
      */
     private void unregisterMBeans() {
-        List<ObjectName> unregistered = new ArrayList<ObjectName>();
+        List<ObjectName> unregistered = new ArrayList<>();
         for (ObjectName name : mbeans) {
             try {
                 mbeanserver.unregisterMBean(name);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateMailetProcessorListener.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateMailetProcessorListener.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateMailetProcessorListener.java
index 1a826cf..f304cbd 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateMailetProcessorListener.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/JMXStateMailetProcessorListener.java
@@ -48,9 +48,9 @@ public class JMXStateMailetProcessorListener implements MailetProcessorListener,
 
     private final AbstractStateMailetProcessor processor;
     private final MBeanServer mbeanserver;
-    private final List<ObjectName> mbeans = new ArrayList<ObjectName>();
-    private final Map<Mailet, MailetManagement> mailetMap = new HashMap<Mailet, MailetManagement>();
-    private final Map<Matcher, MatcherManagement> matcherMap = new HashMap<Matcher, MatcherManagement>();
+    private final List<ObjectName> mbeans = new ArrayList<>();
+    private final Map<Mailet, MailetManagement> mailetMap = new HashMap<>();
+    private final Map<Matcher, MatcherManagement> matcherMap = new HashMap<>();
 
     private final String name;
 
@@ -177,7 +177,7 @@ public class JMXStateMailetProcessorListener implements MailetProcessorListener,
      * Unregister all JMX MBeans
      */
     private void unregisterMBeans() {
-        List<ObjectName> unregistered = new ArrayList<ObjectName>();
+        List<ObjectName> unregistered = new ArrayList<>();
         for (ObjectName name : mbeans) {
             try {
                 mbeanserver.unregisterMBean(name);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/MailetManagement.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/MailetManagement.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/MailetManagement.java
index e379732..a9fc452 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/MailetManagement.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/jmx/MailetManagement.java
@@ -75,7 +75,7 @@ public final class MailetManagement extends StandardMBean implements MailetManag
      * @see org.apache.james.mailetcontainer.api.jmx.MailetManagementMBean#getMailetParameters()
      */
     public String[] getMailetParameters() {
-        List<String> parameterList = new ArrayList<String>();
+        List<String> parameterList = new ArrayList<>();
         Iterator<String> iterator = config.getInitParameterNames();
         while (iterator.hasNext()) {
             String name = iterator.next();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/GenericCompositeMatcher.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/GenericCompositeMatcher.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/GenericCompositeMatcher.java
index 7158ef2..4fe2acf 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/GenericCompositeMatcher.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/GenericCompositeMatcher.java
@@ -52,6 +52,6 @@ public abstract class GenericCompositeMatcher extends GenericMatcher implements
     }
 
     // the collection used to store the child-matchers
-    private final Collection<Matcher> matchers = new ArrayList<Matcher>();
+    private final Collection<Matcher> matchers = new ArrayList<>();
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Not.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Not.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Not.java
index e7a8baf..8ce5a23 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Not.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Not.java
@@ -43,7 +43,7 @@ import com.google.common.collect.Lists;
 public class Not extends GenericCompositeMatcher {
 
     public Collection<MailAddress> match(Mail mail) throws MessagingException {
-        Collection<MailAddress> finalResult = Optional.fromNullable(Lists.newArrayList(mail.getRecipients())).or(new ArrayList<MailAddress>());
+        Collection<MailAddress> finalResult = Optional.fromNullable(Lists.newArrayList(mail.getRecipients())).or(new ArrayList<>());
         for (Matcher matcher : getMatchers()) {
             Collection<MailAddress> matcherResult = matcher.match(mail);
             if (matcherResult != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Or.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Or.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Or.java
index 6ba1e85..47bb7c6 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Or.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Or.java
@@ -38,7 +38,7 @@ import org.apache.mailet.Matcher;
 public class Or extends GenericCompositeMatcher {
 
     public Collection<MailAddress> match(Mail mail) throws MessagingException {
-        HashSet<MailAddress> result = new HashSet<MailAddress>();
+        HashSet<MailAddress> result = new HashSet<>();
         for (Matcher matcher : getMatchers()) {
             Collection<MailAddress> matchResult = matcher.match(mail);
             if (matchResult != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Xor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Xor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Xor.java
index 963273f..87bd63e 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Xor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/matchers/Xor.java
@@ -19,12 +19,13 @@
 
 package org.apache.james.mailetcontainer.impl.matchers;
 
-import java.util.Collection;
 import java.util.ArrayList;
+import java.util.Collection;
 
-import org.apache.mailet.MailAddress;
-import org.apache.mailet.Mail;
 import javax.mail.MessagingException;
+
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
 import org.apache.mailet.Matcher;
 
 import com.google.common.base.Optional;
@@ -45,7 +46,7 @@ public class Xor extends GenericCompositeMatcher {
         Collection<MailAddress> finalResult = null;
         boolean first = true;
         for (Matcher matcher: getMatchers()) {
-            Collection<MailAddress> matchedAddresses = Optional.fromNullable(matcher.match(mail)).or(new ArrayList<MailAddress>());
+            Collection<MailAddress> matchedAddresses = Optional.fromNullable(matcher.match(mail)).or(new ArrayList<>());
 
             if (first) {
                 finalResult = matchedAddresses;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
index 330b38b..b68e93f 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
@@ -45,7 +45,7 @@ import org.slf4j.Logger;
 public abstract class AbstractStateCompositeProcessor implements MailProcessor, Configurable, LogEnabled {
 
     private final List<CompositeProcessorListener> listeners = Collections.synchronizedList(new ArrayList<CompositeProcessorListener>());
-    private final Map<String, MailProcessor> processors = new HashMap<String, MailProcessor>();
+    private final Map<String, MailProcessor> processors = new HashMap<>();
     protected Logger logger;
     protected HierarchicalConfiguration config;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
index 7912568..e3070ac 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
@@ -71,7 +71,7 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
     private Logger logger;
     private HierarchicalConfiguration config;
     private MailetLoader mailetLoader;
-    private final List<MatcherMailetPair> pairs = new ArrayList<MatcherMailetPair>();
+    private final List<MatcherMailetPair> pairs = new ArrayList<>();
     private String state;
 
     public void setMatcherLoader(MatcherLoader matcherLoader) {
@@ -260,7 +260,7 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
      * @throws NotCompliantMBeanException
      */
     private List<Matcher> loadCompositeMatchers(String state, Map<String, Matcher> compMap, List<HierarchicalConfiguration> compMatcherConfs) throws ConfigurationException, MessagingException {
-        List<Matcher> matchers = new ArrayList<Matcher>();
+        List<Matcher> matchers = new ArrayList<>();
 
         for (HierarchicalConfiguration c : compMatcherConfs) {
             String compName = c.getString("[@name]", null);
@@ -310,7 +310,7 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
     private void parseConfiguration() throws MessagingException, ConfigurationException {
 
         // load composite matchers if there are any
-        Map<String, Matcher> compositeMatchers = new HashMap<String, Matcher>();
+        Map<String, Matcher> compositeMatchers = new HashMap<>();
         loadCompositeMatchers(getState(), compositeMatchers, config.configurationsAt("matcher"));
 
         final List<HierarchicalConfiguration> mailetConfs = config.configurationsAt("mailet");

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java
index dc396be..b5c60b2 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java
@@ -18,17 +18,18 @@
  ****************************************************************/
 package org.apache.james.mailetcontainer.impl;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import static org.junit.Assert.assertEquals;
-import org.junit.Before;
-import org.junit.Test;
 
 import java.io.ByteArrayInputStream;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.junit.Before;
+import org.junit.Test;
+
 public class MailetConfigImplTest {
 
     private DefaultConfigurationBuilder builder;
@@ -86,7 +87,7 @@ public class MailetConfigImplTest {
         assertEquals("whatever", param);
         assertEquals(" some text ", config.getInitParameter(param));
 
-        List<String> params = new ArrayList<String>();
+        List<String> params = new ArrayList<>();
         Iterator<String> iter = config.getInitParameterNames();
         while (iter.hasNext()) {
             params.add(iter.next());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java
index 76d56c7..b89cc39 100755
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/AbstractRecipientRewriteTable.java
@@ -80,12 +80,12 @@ public abstract class AbstractRecipientRewriteTable extends GenericMailet {
             return;
         }
 
-        Collection<MailAddress> recipientsToRemove = new HashSet<MailAddress>();
-        Collection<MailAddress> recipientsToAddLocal = new ArrayList<MailAddress>();
-        Collection<MailAddress> recipientsToAddForward = new ArrayList<MailAddress>();
+        Collection<MailAddress> recipientsToRemove = new HashSet<>();
+        Collection<MailAddress> recipientsToAddLocal = new ArrayList<>();
+        Collection<MailAddress> recipientsToAddForward = new ArrayList<>();
 
         Collection<MailAddress> recipients = mail.getRecipients();
-        Map<MailAddress, String> recipientsMap = new HashMap<MailAddress, String>(recipients.size());
+        Map<MailAddress, String> recipientsMap = new HashMap<>(recipients.size());
 
         for (MailAddress address : recipients) {
             // Assume all addresses are non-virtual at start

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/FromRepository.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/FromRepository.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/FromRepository.java
index 9fd9433..57592e1 100755
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/FromRepository.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/FromRepository.java
@@ -95,7 +95,7 @@ public class FromRepository extends GenericMailet {
      */
     public void service(Mail trigger) throws MessagingException {
         trigger.setState(Mail.GHOST);
-        Collection<String> processed = new ArrayList<String>();
+        Collection<String> processed = new ArrayList<>();
         Iterator<String> list = repository.list();
         while (list.hasNext()) {
             String key = (String) list.next();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/JDBCAlias.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/JDBCAlias.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/JDBCAlias.java
index cb69606..df89bd5 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/JDBCAlias.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/JDBCAlias.java
@@ -123,8 +123,8 @@ public class JDBCAlias extends GenericMailet {
         ResultSet mappingRS = null;
 
         Collection<MailAddress> recipients = mail.getRecipients();
-        Collection<MailAddress> recipientsToRemove = new Vector<MailAddress>();
-        Collection<MailAddress> recipientsToAdd = new Vector<MailAddress>();
+        Collection<MailAddress> recipientsToRemove = new Vector<>();
+        Collection<MailAddress> recipientsToAdd = new Vector<>();
         try {
             conn = datasource.getConnection();
             mappingStmt = conn.prepareStatement(query);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java
index 2af44bd..2a16dfa 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WhiteListManager.java
@@ -53,9 +53,9 @@ import org.apache.james.util.sql.SqlResources;
 import org.apache.mailet.Experimental;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.DateFormats;
 import org.apache.mailet.base.GenericMailet;
 import org.apache.mailet.base.RFC2822Headers;
-import org.apache.mailet.base.DateFormats;
 
 /**
  * <p>
@@ -157,7 +157,7 @@ public class WhiteListManager extends GenericMailet {
     private final SqlResources sqlQueries = new SqlResources();
 
     /** Holds value of property sqlParameters. */
-    private final Map<String, String> sqlParameters = new HashMap<String, String>();
+    private final Map<String, String> sqlParameters = new HashMap<>();
 
     @Inject
     public void setDataSource(DataSource datasource) {
@@ -698,7 +698,7 @@ public class WhiteListManager extends GenericMailet {
             reply.setHeader(RFC2822Headers.CONTENT_TYPE, multipart.getContentType());
 
             // Create the list of recipients in our MailAddress format
-            Set<MailAddress> recipients = new HashSet<MailAddress>();
+            Set<MailAddress> recipients = new HashSet<>();
             recipients.add(senderMailAddress);
 
             // Set additional headers

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java
index a599c21..1afe6be 100755
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/XMLRecipientRewriteTable.java
@@ -79,7 +79,7 @@ public class XMLRecipientRewriteTable extends AbstractRecipientRewriteTable {
     /**
      * Holds the configured mappings
      */
-    private Map<String, String> mappings = new HashMap<String, String>();
+    private Map<String, String> mappings = new HashMap<>();
 
     /**
      * Initialize the mailet

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
index fedd867..7125cb1 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailDispatcher.java
@@ -116,7 +116,7 @@ public class MailDispatcher {
     }
 
     private Collection<MailAddress> deliver(Mail mail, MimeMessage message) {
-        Collection<MailAddress> errors = new Vector<MailAddress>();
+        Collection<MailAddress> errors = new Vector<>();
         for (MailAddress recipient : mail.getRecipients()) {
             try {
                 Map<String, List<String>> savedHeaders = saveHeaders(mail, recipient);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionDispatcher.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionDispatcher.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionDispatcher.java
index a270f36..4621ecb 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionDispatcher.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/ActionDispatcher.java
@@ -19,6 +19,11 @@
 
 package org.apache.james.transport.mailets.jsieve;
 
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+import javax.mail.MessagingException;
+
 import org.apache.jsieve.mail.Action;
 import org.apache.jsieve.mail.ActionDiscard;
 import org.apache.jsieve.mail.ActionFileInto;
@@ -28,10 +33,6 @@ import org.apache.jsieve.mail.ActionReject;
 import org.apache.jsieve.mail.optional.ActionVacation;
 import org.apache.mailet.Mail;
 
-import javax.mail.MessagingException;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
 /**
  * Dynamically dispatches an Action depending on the type of Action received at runtime.
  * <h4>Thread Safety</h4>
@@ -84,7 +85,7 @@ public class ActionDispatcher {
      * @return Map
      */
     private ConcurrentMap<Class<?>, MailAction> defaultMethodMap() {
-        final ConcurrentMap<Class<?>, MailAction> actionMap = new ConcurrentHashMap<Class<?>, MailAction>(4);
+        final ConcurrentMap<Class<?>, MailAction> actionMap = new ConcurrentHashMap<>(4);
         actionMap.put(ActionFileInto.class, new FileIntoAction());
         actionMap.put(ActionKeep.class, new KeepAction());
         actionMap.put(ActionRedirect.class, new RedirectAction());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RedirectAction.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RedirectAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RedirectAction.java
index e8931af..127125c 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RedirectAction.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RedirectAction.java
@@ -57,7 +57,7 @@ public class RedirectAction implements MailAction {
     public void execute(ActionRedirect anAction, Mail aMail, ActionContext context) throws MessagingException
     {
         ActionUtils.detectAndHandleLocalLooping(aMail, context, "redirect");
-        Collection<MailAddress> recipients = new ArrayList<MailAddress>(1);
+        Collection<MailAddress> recipients = new ArrayList<>(1);
         recipients.add(new MailAddress(new InternetAddress(anAction.getAddress())));
         MailAddress sender = aMail.getSender();
         context.post(sender, recipients, aMail.getMessage());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java
index ecd6f9a..94c3666 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/RejectAction.java
@@ -126,7 +126,7 @@ public class RejectAction implements MailAction {
         Address[] recipientAddresses = reply.getAllRecipients();
         if (null != recipientAddresses)
         {
-            Collection<MailAddress> recipients = new ArrayList<MailAddress>(recipientAddresses.length);
+            Collection<MailAddress> recipients = new ArrayList<>(recipientAddresses.length);
             for (Address recipientAddress : recipientAddresses) {
                 recipients.add(new MailAddress(
                         (InternetAddress) recipientAddress));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
index 1e8b56f..a8a4fd8 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
@@ -153,7 +153,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      */
     protected List<Action> computeActions()
     {
-        return new ArrayList<Action>();
+        return new ArrayList<>();
     }
     /**
      * Returns the List of actions.
@@ -217,7 +217,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
         try
         {
             String[] headers = getMessage().getHeader(name);
-            return (headers == null ? new ArrayList<String>(0) : Arrays.asList(headers));
+            return (headers == null ? new ArrayList<>(0) : Arrays.asList(headers));
         }
         catch (MessagingException ex)
         {
@@ -230,14 +230,14 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      */
     public List<String> getHeaderNames() throws SieveMailException
     {
-        Set<String> headerNames = new HashSet<String>();
+        Set<String> headerNames = new HashSet<>();
         try
         {
             Enumeration<?> allHeaders = getMessage().getAllHeaders();
             while (allHeaders.hasMoreElements()) {
                 headerNames.add(((Header) allHeaders.nextElement()).getName());
             }
-            return new ArrayList<String>(headerNames);
+            return new ArrayList<>(headerNames);
         }
         catch (MessagingException ex)
         {
@@ -275,7 +275,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      */
     protected Map<String, String> getEnvelopes()
     {
-        Map<String, String> envelopes = new HashMap<String, String>(2);
+        Map<String, String> envelopes = new HashMap<>(2);
         if (null != getEnvelopeFrom())
             envelopes.put("From", getEnvelopeFrom());
         if (null != getEnvelopeTo())
@@ -287,7 +287,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      */
     public List<String> getEnvelope(String name) throws SieveMailException
     {
-        List<String> values = new ArrayList<String>(1);
+        List<String> values = new ArrayList<>(1);
         String value = getEnvelopes().get(name);
         if (null != value)
             values.add(value);
@@ -299,7 +299,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      */
     public List<String> getEnvelopeNames() throws SieveMailException
     {
-        return new ArrayList<String>(getEnvelopes().keySet());
+        return new ArrayList<>(getEnvelopes().keySet());
     }
     
     /**
@@ -307,7 +307,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
      */
     public List<String> getMatchingEnvelope(String name) throws SieveMailException
     {
-        final List<String> matchedEnvelopeValues = new ArrayList<String>(32);
+        final List<String> matchedEnvelopeValues = new ArrayList<>(32);
         for (String envelopeName: getEnvelopeNames()) {
             if (envelopeName.trim().equalsIgnoreCase(name))
                 matchedEnvelopeValues.addAll(getEnvelope(envelopeName));
@@ -413,7 +413,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
     public Address[] parseAddresses(String arg) throws SieveMailException, InternetAddressException {
         try {
             List<String> headerValues = getHeader(arg);
-            List<MailboxList> mailboxes = new ArrayList<MailboxList>();
+            List<MailboxList> mailboxes = new ArrayList<>();
             int size = 0;
             for(String headerValue : headerValues) {
                 MailboxList mailboxList = new AddressList(DefaultAddressParser.DEFAULT.parseAddressList(headerValue), true).flatten();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/AbstractSQLWhitelistMatcher.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/AbstractSQLWhitelistMatcher.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/AbstractSQLWhitelistMatcher.java
index f23d7d1..f429b15 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/AbstractSQLWhitelistMatcher.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/AbstractSQLWhitelistMatcher.java
@@ -62,7 +62,7 @@ public abstract class AbstractSQLWhitelistMatcher extends GenericMatcher {
     protected JDBCUtil jdbcUtil;
 
     /** Holds value of property sqlParameters. */
-    private final Map<String, String> sqlParameters = new HashMap<String, String>();
+    private final Map<String, String> sqlParameters = new HashMap<>();
 
 
     @Inject
@@ -151,7 +151,7 @@ public abstract class AbstractSQLWhitelistMatcher extends GenericMatcher {
 
         Collection<MailAddress> recipients = mail.getRecipients();
 
-        Collection<MailAddress> inWhiteList = new java.util.HashSet<MailAddress>();
+        Collection<MailAddress> inWhiteList = new java.util.HashSet<>();
 
         for (MailAddress recipientMailAddress : recipients) {
             String recipientUser = recipientMailAddress.getLocalPart().toLowerCase(Locale.US);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsOverQuota.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsOverQuota.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsOverQuota.java
index c8216b4..d63b015 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsOverQuota.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/IsOverQuota.java
@@ -19,6 +19,13 @@
 
 package org.apache.james.transport.matchers;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.mail.MessagingException;
+
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -34,12 +41,6 @@ import org.apache.mailet.base.GenericMatcher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.inject.Inject;
-import javax.mail.MessagingException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * This matcher will check if the incoming email will make recipients exceed their quotas.
  *
@@ -75,7 +76,7 @@ public class IsOverQuota extends GenericMatcher {
     @Override
     public Collection<MailAddress> match(Mail mail) throws MessagingException {
         try {
-            List<MailAddress> result = new ArrayList<MailAddress>();
+            List<MailAddress> result = new ArrayList<>();
             for (MailAddress mailAddress : mail.getRecipients()) {
                 String userName = usersRepository.getUser(mailAddress);
                 MailboxSession mailboxSession = mailboxManager.createSystemSession(userName, LOGGER);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/NetworkIsInWhitelist.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/NetworkIsInWhitelist.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/NetworkIsInWhitelist.java
index e7b98ac..ef64e21 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/NetworkIsInWhitelist.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/NetworkIsInWhitelist.java
@@ -93,7 +93,7 @@ public class NetworkIsInWhitelist extends AbstractSQLWhitelistMatcher {
                 conn = datasource.getConnection();
             }
 
-            List<String> nets = new ArrayList<String>();
+            List<String> nets = new ArrayList<>();
             try {
                 if (selectStmt == null) {
                     selectStmt = conn.prepareStatement(selectNetworks);
@@ -117,7 +117,7 @@ public class NetworkIsInWhitelist extends AbstractSQLWhitelistMatcher {
                     selectStmt.setString(1, "*");
                     selectStmt.setString(2, recipientHost);
                     selectRS = selectStmt.executeQuery();
-                    nets = new ArrayList<String>();
+                    nets = new ArrayList<>();
                     while (selectRS.next()) {
                         nets.add(selectRS.getString(1));
                     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecordingMailContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecordingMailContext.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecordingMailContext.java
index 36d264d..9b55dd1 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecordingMailContext.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/RecordingMailContext.java
@@ -41,7 +41,7 @@ import org.slf4j.Logger;
 @SuppressWarnings("deprecation")
 public class RecordingMailContext implements MailetContext {
 
-    private final List<SendMailEvent> sendmails = new LinkedList<SendMailEvent>();
+    private final List<SendMailEvent> sendmails = new LinkedList<>();
     private final FakeMailContext context;
 
     public RecordingMailContext() {


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


[07/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Convert to lambas"

Posted by bt...@apache.org.
JAMES-2107 Run IntelliJ inspection: "Convert to lambas"


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

Branch: refs/heads/master
Commit: 855a3c87e7a903649f986aeff8a5e03c63fd8db5
Parents: f40ce32
Author: benwa <bt...@linagora.com>
Authored: Tue Aug 1 17:22:01 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Aug 16 16:44:07 2017 +0700

----------------------------------------------------------------------
 .../james/backends/jpa/JpaTestCluster.java      |  12 +-
 .../james/mailbox/MailboxManagerStressTest.java |  43 +-
 .../mailbox/hbase/mail/HBaseMessageMapper.java  |   9 +-
 .../mailbox/hbase/HBaseClusterSingleton.java    |  14 +-
 .../mailbox/jpa/mail/JPAAnnotationMapper.java   |  84 +--
 .../mailbox/jpa/mail/JPAMessageMapper.java      |   8 +-
 .../jpa/mail/TransactionalMailboxMapper.java    |   7 +-
 .../jpa/mail/TransactionalMessageMapper.java    |  32 +-
 .../lucene/search/LuceneMessageSearchIndex.java |  15 +-
 .../james/mailbox/maildir/MaildirFolder.java    | 596 +++++++++----------
 .../mailbox/maildir/MaildirMessageName.java     |   9 +-
 .../james/mailbox/maildir/MaildirStore.java     |  10 +-
 .../maildir/mail/MaildirMailboxMapper.java      |   8 +-
 .../inmemory/InMemoryMessageIdManager.java      |  43 +-
 .../inmemory/mail/InMemoryAnnotationMapper.java |  45 +-
 .../InMemoryMessageIdManagerTestSystem.java     |   9 +-
 .../quota/InMemoryCurrentQuotaManagerTest.java  |  30 +-
 .../mailbox/store/StoreMailboxManager.java      | 139 ++---
 .../mailbox/store/StoreMessageIdManager.java    |  62 +-
 .../mailbox/store/StoreMessageManager.java      | 136 ++---
 .../store/event/AsynchronousEventDelivery.java  |  14 +-
 .../dto/MailboxSessionDataTransferObject.java   |  26 +-
 .../dto/MessageMetaDataDataTransferObject.java  |   8 +-
 .../mail/AbstractLockingModSeqProvider.java     |  12 +-
 .../store/mail/AbstractLockingUidProvider.java  |  12 +-
 .../store/mail/AbstractMessageMapper.java       |  10 +-
 .../store/mail/model/impl/MessageParser.java    |  54 +-
 .../store/mail/model/impl/PropertyBuilder.java  |  13 +-
 .../mail/utils/ApplicableFlagCalculator.java    |  12 +-
 .../store/quota/CurrentQuotaCalculator.java     |  14 +-
 .../store/quota/DefaultQuotaRootResolver.java   |  11 +-
 .../mailbox/store/search/MessageSearches.java   |  14 +-
 .../store/search/SimpleMessageSearchIndex.java  |  51 +-
 .../search/comparator/CombinedComparator.java   |   7 +-
 .../store/AbstractCombinationManagerTest.java   |   7 +-
 .../AbstractMessageIdManagerStorageTest.java    |  41 +-
 .../james/mailbox/store/MessageBatcherTest.java |  19 +-
 .../StoreMailboxManagerAnnotationTest.java      |  10 +-
 .../StoreMailboxMessageResultIteratorTest.java  |  10 +-
 .../store/TestMailboxSessionMapperFactory.java  |  67 +--
 .../DefaultDelegatingMailboxListenerTest.java   |  11 +-
 .../store/event/MixedEventDeliveryTest.java     |  27 +-
 .../BroadcastDelegatingMailboxListenerTest.java |  94 +--
 .../DistantMailboxPathRegisterTest.java         | 102 ++--
 ...RegisteredDelegatingMailboxListenerTest.java | 111 +---
 .../store/mail/model/ListMailboxAssert.java     |  12 +-
 .../store/mail/model/ListMessageAssert.java     |  19 +-
 .../mail/model/ListMessagePropertiesAssert.java |   7 +-
 .../store/mail/model/MessageIdMapperTest.java   |  22 +-
 .../store/mail/model/MessageMapperTest.java     |  20 +-
 .../quota/DefaultQuotaRootResolverTest.java     |  18 +-
 .../mailbox/store/quota/QuotaCheckerTest.java   | 108 +---
 .../store/quota/StoreQuotaManagerTest.java      |  77 +--
 .../james/mailbox/copier/MailboxCopierTest.java |  19 +-
 .../mailbox/indexer/ReIndexerImplTest.java      |  45 +-
 .../org/apache/mailet/PerRecipientHeaders.java  |  11 +-
 .../mailet/base/MailetPipelineLogging.java      |  21 +-
 .../mailet/base/test/MimeMessageBuilder.java    |  13 +-
 .../james/mailet/AbstractMailetdocsReport.java  |   9 +-
 .../mailet/DefaultDescriptorsExtractor.java     |  12 +-
 .../transport/mailets/RecipientToLowerCase.java |  22 +-
 .../transport/mailets/UseHeaderRecipients.java  |  22 +-
 .../utils/MailAddressCollectionReader.java      |  22 +-
 .../mailets/RecipientToLowerCaseTest.java       |  10 +-
 .../transport/mailets/StripAttachmentTest.java  |   9 +-
 .../james/mpt/session/ExternalSession.java      |  12 +-
 .../james/mpt/testsuite/HaveSpaceTest.java      |  10 +-
 .../api/AbstractProtocolTransport.java          |  11 +-
 .../api/handler/CommandDispatcher.java          |  28 +-
 .../api/AbstractProtocolTransportTest.java      |  35 +-
 .../james/imap/api/ImapConfiguration.java       |  17 +-
 .../imap/decode/parser/SearchCommandParser.java |  18 +-
 .../parser/SetAnnotationCommandParser.java      |   6 +-
 .../imap/processor/AuthenticateProcessor.java   |  19 +-
 .../imap/processor/GetAnnotationProcessor.java  |  44 +-
 .../processor/base/SelectedMailboxImplTest.java |  40 +-
 .../processor/base/UidMsnConverterTest.java     |  27 +-
 .../james/managesieve/core/CoreProcessor.java   | 129 ++--
 .../AllButStartTlsDelimiterChannelHandler.java  |  17 +-
 .../smtp/core/ReceivedDataLineFilter.java       |  37 +-
 .../protocols/smtp/AbstractSMTPServerTest.java  |   8 +-
 .../org/apache/james/DockerCassandraRule.java   |   2 +-
 .../java/org/apache/james/ESReporterTest.java   |   6 +-
 .../james/utils/ConfigurationsPerformer.java    |   2 +-
 .../org/apache/james/JPAJamesServerMain.java    |   2 +-
 .../james/onami/lifecycle/LifeCycleModule.java  |  25 +-
 .../onami/lifecycle/LifeCycleStageModule.java   |  11 +-
 .../james/onami/lifecycle/StageableMethod.java  |   9 +-
 .../onami/lifecycle/DefaultStagerTestCase.java  |  42 +-
 ...AbstractOSGIAnnotationBeanPostProcessor.java |  10 +-
 .../util/mime/MessageContentExtractor.java      |   2 +-
 .../concurrency/ConcurrentTestRunnerTest.java   |  64 +-
 .../mailrepository/jcr/JCRMailRepository.java   |  19 +-
 .../org/apache/james/rrt/lib/MappingsImpl.java  |  15 +-
 .../rrt/memory/MemoryRecipientRewriteTable.java |  35 +-
 .../user/memory/MemoryUsersRepository.java      |  19 +-
 .../dnsservice/api/InMemoryDNSService.java      |  14 +-
 .../library/netmatcher/NetMatcher.java          |   6 +-
 .../mailetcontainer/impl/JamesMailSpooler.java  |  62 +-
 .../mailets/RecipientRewriteTableProcessor.java | 117 +---
 .../transport/mailets/jsieve/DiscardAction.java |  13 +-
 .../mailets/jsieve/SieveMailAdapter.java        |  47 +-
 .../mailets/jsieve/VacationAction.java          |   7 +-
 .../transport/mailets/jsieve/VacationReply.java |  25 +-
 ...ddressesArrayToMailAddressListConverter.java |  37 +-
 .../remoteDelivery/DeliveryRunnable.java        |   7 +-
 .../EnhancedMessagingException.java             |   7 +-
 .../InternetAddressConverter.java               |  10 +-
 .../james/transport/util/MailAddressUtils.java  |   9 +-
 .../remoteDelivery/DeliveryRunnableTest.java    |   7 +-
 .../RemoteDeliveryRunningTest.java              |  13 +-
 .../cassandra/cucumber/CassandraStepdefs.java   |   2 +-
 .../cucumber/GetMessagesMethodStepdefs.java     |   2 +-
 .../james/jmap/JWTAuthenticationStrategy.java   |   2 +-
 ...ameterAccessTokenAuthenticationStrategy.java |   2 +-
 .../james/jmap/mailet/VacationMailet.java       |   5 +-
 .../methods/SetMailboxesCreationProcessor.java  |   2 +-
 .../methods/SetMessagesCreationProcessor.java   |   2 +-
 .../methods/SetMessagesUpdateProcessor.java     |   2 +-
 .../james/jmap/model/MessageProperties.java     |   2 +-
 .../SetMessagesCreationProcessorTest.java       |   5 +-
 .../james/jmap/model/FilterOperatorTest.java    |   6 +-
 .../apache/james/jmap/send/MailSpoolTest.java   |   9 +-
 .../apache/james/jwt/PublicKeyProviderTest.java |   2 +-
 .../apache/james/pop3server/POP3ServerTest.java |  30 +-
 .../james/queue/api/mock/MockMailQueue.java     |  17 +-
 .../apache/james/queue/file/FileMailQueue.java  |  40 +-
 .../queue/jms/AbstractJMSMailQueueTest.java     |  20 +-
 128 files changed, 1212 insertions(+), 2606 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
----------------------------------------------------------------------
diff --git a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
index 018d492..6baaa31 100644
--- a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
+++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
@@ -27,7 +27,6 @@ import javax.persistence.EntityManagerFactory;
 
 import org.apache.openjpa.persistence.OpenJPAPersistence;
 
-import com.google.common.base.Function;
 import com.google.common.base.Joiner;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
@@ -52,20 +51,11 @@ public class JpaTestCluster {
         properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
             Joiner.on(";").join(
                 FluentIterable.from(clazz)
-                    .transform(toFQDN()))
+                    .transform(Class::getName))
             + ")");
         return new JpaTestCluster(OpenJPAPersistence.getEntityManagerFactory(properties));
     }
 
-    private static Function<Class<?>, String> toFQDN() {
-        return new Function<Class<?>, String>() {
-            @Override
-            public String apply(Class<?> input) {
-                return input.getName();
-            }
-        };
-    }
-
     private final EntityManagerFactory entityManagerFactory;
 
     private JpaTestCluster(EntityManagerFactory entityManagerFactory) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
index f92cb11..d8276fe 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
@@ -93,37 +93,34 @@ public abstract class MailboxManagerStressTest {
 
         // fire of 1000 append operations
         for (int i = 0; i < APPEND_OPERATIONS; i++) {
-            pool.execute(new Runnable() {
-
-                public void run() {
-                    if (fail.get()) {
-                        latch.countDown();
-                        return;
-                    }
+            pool.execute(() -> {
+                if (fail.get()) {
+                    latch.countDown();
+                    return;
+                }
 
 
-                    try {
-                        MailboxSession session = mailboxManager.createSystemSession(username, LoggerFactory.getLogger("Test"));
+                try {
+                    MailboxSession mailboxSession = mailboxManager.createSystemSession(username, LoggerFactory.getLogger("Test"));
 
-                        mailboxManager.startProcessingRequest(session);
-                        MessageManager m = mailboxManager.getMailbox(path, session);
-                        ComposedMessageId messageId = m.appendMessage(new ByteArrayInputStream("Subject: test\r\n\r\ntestmail".getBytes()), new Date(), session, false, new Flags());
+                    mailboxManager.startProcessingRequest(mailboxSession);
+                    MessageManager m = mailboxManager.getMailbox(path, mailboxSession);
+                    ComposedMessageId messageId = m.appendMessage(new ByteArrayInputStream("Subject: test\r\n\r\ntestmail".getBytes()), new Date(), mailboxSession, false, new Flags());
 
-                        System.out.println("Append message with uid=" + messageId.getUid());
-                        if (uids.put(messageId.getUid(), new Object()) != null) {
-                            fail.set(true);
-                        }
-                        mailboxManager.endProcessingRequest(session);
-                        mailboxManager.logout(session, false);
-                    } catch (Exception e) {
-                        e.printStackTrace();
+                    System.out.println("Append message with uid=" + messageId.getUid());
+                    if (uids.put(messageId.getUid(), new Object()) != null) {
                         fail.set(true);
-                    } finally {
-                        latch.countDown();
                     }
+                    mailboxManager.endProcessingRequest(mailboxSession);
+                    mailboxManager.logout(mailboxSession, false);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    fail.set(true);
+                } finally {
+                    latch.countDown();
+                }
 
 
-                }
             });
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
index 6c0843f..b18579a 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
@@ -85,7 +85,6 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.mail.utils.ApplicableFlagCalculator;
 import org.apache.james.mailbox.store.transaction.NonTransactionalMapper;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Iterators;
@@ -98,12 +97,6 @@ import com.google.common.collect.Iterators;
 public class HBaseMessageMapper extends NonTransactionalMapper implements MessageMapper {
 
     private static final int UNLIMITED = -1;
-    private static final Function<MailboxMessage, MessageUid> TO_UID = new Function<MailboxMessage, MessageUid>() {
-        @Override
-        public MessageUid apply(MailboxMessage mailboxMessage) {
-            return mailboxMessage.getUid();
-        }
-    };
 
     private final Configuration conf;
     private final MailboxSession mailboxSession;
@@ -133,7 +126,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
 
     @Override
     public Iterator<MessageUid> listAllMessageUids(final Mailbox mailbox) throws MailboxException {
-        return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), TO_UID);
+        return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), MailboxMessage::getUid);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
index 42f1835..a69a9b8 100644
--- a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
+++ b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
@@ -103,15 +103,11 @@ public final class HBaseClusterSingleton {
         } finally {
             if (hbaseCluster != null) {
                 // add a shutdown hook for shuting down the minicluster.
-                Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
-
-                    @Override
-                    public void run() {
-                        try {
-                            hbaseCluster.shutdown();
-                        } catch (IOException e) {
-                            throw new RuntimeException("Exception shuting down cluster.");
-                        }
+                Runtime.getRuntime().addShutdownHook(new Thread(() -> {
+                    try {
+                        hbaseCluster.shutdown();
+                    } catch (IOException e) {
+                        throw new RuntimeException("Exception shuting down cluster.");
                     }
                 }));
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
index 9aba4c6..84a78c6 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
@@ -26,9 +26,6 @@ import javax.persistence.EntityManagerFactory;
 import javax.persistence.NoResultException;
 import javax.persistence.PersistenceException;
 
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Throwables;
 import org.apache.james.mailbox.jpa.JPAId;
 import org.apache.james.mailbox.jpa.JPATransactionalMapper;
 import org.apache.james.mailbox.jpa.mail.model.JPAMailboxAnnotation;
@@ -41,7 +38,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
 import com.google.common.base.Predicate;
+import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
@@ -51,12 +51,8 @@ public class JPAAnnotationMapper extends JPATransactionalMapper implements Annot
 
     private static final Logger LOGGER = LoggerFactory.getLogger(JPAAnnotationMapper.class);
 
-    public static final Function<JPAMailboxAnnotation, MailboxAnnotation> READ_ROW = new Function<JPAMailboxAnnotation, MailboxAnnotation>() {
-        @Override
-        public MailboxAnnotation apply(JPAMailboxAnnotation input) {
-            return MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue());
-        }
-    };
+    public static final Function<JPAMailboxAnnotation, MailboxAnnotation> READ_ROW =
+        input -> MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue());
 
     public JPAAnnotationMapper(EntityManagerFactory entityManagerFactory) {
         super(entityManagerFactory);
@@ -74,17 +70,13 @@ public class JPAAnnotationMapper extends JPATransactionalMapper implements Annot
     public List<MailboxAnnotation> getAnnotationsByKeys(MailboxId mailboxId, Set<MailboxAnnotationKey> keys) {
         try {
             final JPAId jpaId = (JPAId) mailboxId;
-            return ImmutableList.copyOf(Iterables.transform(keys, new Function<MailboxAnnotationKey, MailboxAnnotation>() {
-                @Override
-                public MailboxAnnotation apply(MailboxAnnotationKey input) {
-                    return READ_ROW.apply(
-                        getEntityManager()
-                            .createNamedQuery("retrieveByKey", JPAMailboxAnnotation.class)
-                            .setParameter("idParam", jpaId.getRawId())
-                            .setParameter("keyParam", input.asString())
-                            .getSingleResult());
-                }
-            }));
+            return ImmutableList.copyOf(Iterables.transform(keys,
+                input -> READ_ROW.apply(
+                    getEntityManager()
+                        .createNamedQuery("retrieveByKey", JPAMailboxAnnotation.class)
+                        .setParameter("idParam", jpaId.getRawId())
+                        .setParameter("keyParam", input.asString())
+                        .getSingleResult())));
         } catch (NoResultException e) {
             return ImmutableList.of();
         }
@@ -94,54 +86,32 @@ public class JPAAnnotationMapper extends JPATransactionalMapper implements Annot
     public List<MailboxAnnotation> getAnnotationsByKeysWithOneDepth(MailboxId mailboxId, Set<MailboxAnnotationKey> keys) {
         return getFilteredLikes((JPAId) mailboxId,
             keys,
-            new Function<MailboxAnnotationKey, Predicate<MailboxAnnotation>>() {
-                @Override
-                public Predicate<MailboxAnnotation> apply(final MailboxAnnotationKey key) {
-                    return new Predicate<MailboxAnnotation>() {
-                        @Override
-                        public boolean apply(MailboxAnnotation input) {
-                            return key.isParentOrIsEqual(input.getKey());
-                        }
-                    };
-                }
-            });
+            key ->
+                annotation ->
+                    key.isParentOrIsEqual(annotation.getKey()));
     }
 
     @Override
     public List<MailboxAnnotation> getAnnotationsByKeysWithAllDepth(MailboxId mailboxId, Set<MailboxAnnotationKey> keys) {
         return getFilteredLikes((JPAId) mailboxId,
             keys,
-            new Function<MailboxAnnotationKey, Predicate<MailboxAnnotation>>() {
-                @Override
-                public Predicate<MailboxAnnotation> apply(final MailboxAnnotationKey key) {
-                    return new Predicate<MailboxAnnotation>() {
-                        @Override
-                        public boolean apply(MailboxAnnotation input) {
-                            return key.isAncestorOrIsEqual(input.getKey());
-                        }
-                    };
-                }
-            });
+            key ->
+                annotation -> key.isAncestorOrIsEqual(annotation.getKey()));
     }
 
     private List<MailboxAnnotation> getFilteredLikes(final JPAId jpaId, Set<MailboxAnnotationKey> keys, final Function<MailboxAnnotationKey, Predicate<MailboxAnnotation>> predicateFunction) {
         try {
             return flatMapToList(Iterables.transform(keys,
-                new Function<MailboxAnnotationKey, List<MailboxAnnotation>>() {
-                    @Override
-                    public List<MailboxAnnotation> apply(final MailboxAnnotationKey key) {
-                        return ImmutableList.copyOf(
-                            Iterables.filter(
-                                Iterables.transform(
-                                    getEntityManager()
-                                        .createNamedQuery("retrieveByKeyLike", JPAMailboxAnnotation.class)
-                                        .setParameter("idParam", jpaId.getRawId())
-                                        .setParameter("keyParam", key.asString() + '%')
-                                        .getResultList(),
-                                    READ_ROW),
-                                predicateFunction.apply(key)));
-                    }
-                }));
+                key -> ImmutableList.copyOf(
+                    Iterables.filter(
+                        Iterables.transform(
+                            getEntityManager()
+                                .createNamedQuery("retrieveByKeyLike", JPAMailboxAnnotation.class)
+                                .setParameter("idParam", jpaId.getRawId())
+                                .setParameter("keyParam", key.asString() + '%')
+                                .getResultList(),
+                            READ_ROW),
+                        predicateFunction.apply(key)))));
         } catch (NoResultException e) {
             return ImmutableList.of();
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
index b2d8c2a..3cf6cf3 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
@@ -66,12 +66,6 @@ import com.google.common.collect.Iterators;
 public class JPAMessageMapper extends JPATransactionalMapper implements MessageMapper {
     private static final int UNLIMIT_MAX_SIZE = -1;
     private static final int UNLIMITED = -1;
-    private static final Function<MailboxMessage, MessageUid> TO_UID = new Function<MailboxMessage, MessageUid>() {
-        @Override
-        public MessageUid apply(MailboxMessage mailboxMessage) {
-            return mailboxMessage.getUid();
-        }
-    };
 
     private final MessageUtils messageMetadataMapper;
 
@@ -90,7 +84,7 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
 
     @Override
     public Iterator<MessageUid> listAllMessageUids(final Mailbox mailbox) throws MailboxException {
-        return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), TO_UID);
+        return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), MailboxMessage::getUid);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java
index 36ea643..6e8ba66 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java
@@ -49,12 +49,7 @@ public class TransactionalMailboxMapper implements MailboxMapper {
 
     @Override
     public MailboxId save(final Mailbox mailbox) throws MailboxException {
-        return wrapped.execute(new Transaction<MailboxId>() {
-                @Override
-                public MailboxId run() throws MailboxException {
-                    return wrapped.save(mailbox);
-                }
-            });
+        return wrapped.execute(() -> wrapped.save(mailbox));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
index ab234c9..8b57d05 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
@@ -77,12 +77,8 @@ public class TransactionalMessageMapper implements MessageMapper {
     @Override
     public Map<MessageUid, MessageMetaData> expungeMarkedForDeletionInMailbox(final Mailbox mailbox, final MessageRange set)
             throws MailboxException {
-        Map<MessageUid, MessageMetaData> data = messageMapper.execute(new Transaction<Map<MessageUid, MessageMetaData>>() {
-            @Override
-            public Map<MessageUid, MessageMetaData> run() throws MailboxException {
-                return messageMapper.expungeMarkedForDeletionInMailbox(mailbox, set);
-            }
-        });
+        Map<MessageUid, MessageMetaData> data = messageMapper.execute(
+            () -> messageMapper.expungeMarkedForDeletionInMailbox(mailbox, set));
         return data;
     }
 
@@ -118,35 +114,23 @@ public class TransactionalMessageMapper implements MessageMapper {
 
     @Override
     public MessageMetaData add(final Mailbox mailbox, final MailboxMessage message) throws MailboxException {
-        MessageMetaData data = messageMapper.execute(new Transaction<MessageMetaData>() {
-            @Override
-            public MessageMetaData run() throws MailboxException {
-                return messageMapper.add(mailbox, message);
-            }
-        });
+        MessageMetaData data = messageMapper.execute(
+            () -> messageMapper.add(mailbox, message));
         return data;
     }
 
     @Override
     public Iterator<UpdatedFlags> updateFlags(final Mailbox mailbox, final FlagsUpdateCalculator flagsUpdateCalculator,
             final MessageRange set) throws MailboxException {
-        Iterator<UpdatedFlags> data = messageMapper.execute(new Transaction<Iterator<UpdatedFlags>>() {
-            @Override
-            public Iterator<UpdatedFlags> run() throws MailboxException {
-                return messageMapper.updateFlags(mailbox, flagsUpdateCalculator, set);
-            }
-        });
+        Iterator<UpdatedFlags> data = messageMapper.execute(
+            () -> messageMapper.updateFlags(mailbox, flagsUpdateCalculator, set));
         return data;
     }
 
     @Override
     public MessageMetaData copy(final Mailbox mailbox, final MailboxMessage original) throws MailboxException {
-        MessageMetaData data = messageMapper.execute(new Transaction<MessageMetaData>() {
-            @Override
-            public MessageMetaData run() throws MailboxException {
-                return messageMapper.copy(mailbox, original);
-            }
-        });
+        MessageMetaData data = messageMapper.execute(
+            () -> messageMapper.copy(mailbox, original));
         return data;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
index e2c0f57..50c4ad3 100644
--- a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
+++ b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
@@ -120,7 +120,6 @@ import org.apache.lucene.store.LockObtainFailedException;
 import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.Version;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.FluentIterable;
@@ -465,12 +464,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
             .build();
 
         return FluentIterable.from(searchMultimap(multimailboxesSearchQuery, session))
-            .transform(new Function<SearchResult, MessageUid>() {
-                @Override
-                public MessageUid apply(SearchResult input) {
-                    return input.getMessageUid();
-                }
-            })
+            .transform(SearchResult::getMessageUid)
             .iterator();
     }
 
@@ -478,12 +472,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
     public List<MessageId> search(MailboxSession session, MultimailboxesSearchQuery searchQuery, long limit) throws MailboxException {
         Preconditions.checkArgument(session != null, "'session' is mandatory");
         return FluentIterable.from(searchMultimap(searchQuery, session))
-            .transform(new Function<SearchResult, MessageId>() {
-                @Override
-                public MessageId apply(SearchResult input) {
-                    return input.getMessageId().get();
-                }
-            })
+            .transform(searchResult -> searchResult.getMessageId().get())
             .filter(SearchUtil.distinct())
             .limit(Long.valueOf(limit).intValue())
             .toList();

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
index 12e0d4c..03c0639 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
@@ -54,7 +54,6 @@ import org.apache.james.mailbox.model.MailboxACL.MailboxACLRights;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.SimpleMailboxACL;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 
 public class MaildirFolder {
@@ -188,11 +187,7 @@ public class MaildirFolder {
      * Returns the nextUid value and increases it.
      */
     private MessageUid getNextUid() {
-        MessageUid nextUid = lastUid.transform(new Function<MessageUid, MessageUid>() {
-            @Override
-            public MessageUid apply(MessageUid input) {
-                return input.next();
-            }}).or(MessageUid.MIN_VALUE);
+        MessageUid nextUid = lastUid.transform(MessageUid::next).or(MessageUid.MIN_VALUE);
         lastUid = Optional.of(nextUid);
         return nextUid;
     }
@@ -223,28 +218,25 @@ public class MaildirFolder {
      * @throws MailboxException if there are problems with the uidList file
      */
     private void readLastUid(MailboxSession session) throws MailboxException {
-        locker.executeWithLock(session, path, new LockAwareExecution<Void>() {
-            
-            @Override
-            public Void execute() throws MailboxException {
-                File uidList = uidFile;
-                FileReader fileReader = null;
-                BufferedReader reader = null;
-                try {
-                    if (!uidList.exists())
-                        createUidFile();
-                    fileReader = new FileReader(uidList);
-                    reader = new BufferedReader(fileReader);
-                    String line = reader.readLine();
-                    if (line != null)
-                        readUidListHeader(line);
-                    return null;
-                } catch (IOException e) {
-                    throw new MailboxException("Unable to read last uid", e);
-                } finally {
-                    IOUtils.closeQuietly(reader);
-                    IOUtils.closeQuietly(fileReader);
-                }                
+        locker.executeWithLock(session, path,
+            (LockAwareExecution<Void>) () -> {
+            File uidList = uidFile;
+            FileReader fileReader = null;
+            BufferedReader reader = null;
+            try {
+                if (!uidList.exists())
+                    createUidFile();
+                fileReader = new FileReader(uidList);
+                reader = new BufferedReader(fileReader);
+                String line = reader.readLine();
+                if (line != null)
+                    readUidListHeader(line);
+                return null;
+            } catch (IOException e) {
+                throw new MailboxException("Unable to read last uid", e);
+            } finally {
+                IOUtils.closeQuietly(reader);
+                IOUtils.closeQuietly(fileReader);
             }
         }, true);
         
@@ -337,42 +329,38 @@ public class MaildirFolder {
      */
     public MaildirMessageName getMessageNameByUid(final MailboxSession session, final MessageUid uid) throws MailboxException {
        
-        return locker.executeWithLock(session, path, new LockAwareExecution<MaildirMessageName>() {
-            
-            @Override
-            public MaildirMessageName execute() throws MailboxException {
-                FileReader fileReader = null;
-                BufferedReader reader = null;
-                File uidList = uidFile;
-                try {
-                    fileReader = new FileReader(uidList);
-                    reader = new BufferedReader(fileReader);
-                    String uidString = String.valueOf(uid.asLong());
-                    String line = reader.readLine(); // the header
-                    int lineNumber = 1;
-                    while ((line = reader.readLine()) != null) {
-                        if (!line.equals("")) {
-                            int gap = line.indexOf(" ");
-                            if (gap == -1) {
-                                // there must be some issues in the file if no gap can be found
-                            	session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
-                                continue;
-                            }
-                            
-                            if (line.substring(0, gap).equals(uidString)) {
-                                return newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1));
-                            }
+        return locker.executeWithLock(session, path, () -> {
+            FileReader fileReader = null;
+            BufferedReader reader = null;
+            File uidList = uidFile;
+            try {
+                fileReader = new FileReader(uidList);
+                reader = new BufferedReader(fileReader);
+                String uidString = String.valueOf(uid.asLong());
+                String line = reader.readLine(); // the header
+                int lineNumber = 1;
+                while ((line = reader.readLine()) != null) {
+                    if (!line.equals("")) {
+                        int gap = line.indexOf(" ");
+                        if (gap == -1) {
+                            // there must be some issues in the file if no gap can be found
+                            session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
+                            continue;
+                        }
+
+                        if (line.substring(0, gap).equals(uidString)) {
+                            return newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1));
                         }
                     }
-                    
-                    // TODO: Is this right!?
-                    return null;
-                } catch (IOException e) {
-                    throw new MailboxException("Unable to read messagename for uid " + uid, e);
-                } finally {
-                    IOUtils.closeQuietly(reader);
-                    IOUtils.closeQuietly(fileReader);
-                }                
+                }
+
+                // TODO: Is this right!?
+                return null;
+            } catch (IOException e) {
+                throw new MailboxException("Unable to read messagename for uid " + uid, e);
+            } finally {
+                IOUtils.closeQuietly(reader);
+                IOUtils.closeQuietly(fileReader);
             }
         }, true);
     }
@@ -389,34 +377,30 @@ public class MaildirFolder {
      */
     public SortedMap<MessageUid, MaildirMessageName> getUidMap(final MailboxSession session, final MessageUid from, final MessageUid to)
     throws MailboxException {
-        return locker.executeWithLock(session, path, new LockAwareExecution<SortedMap<MessageUid, MaildirMessageName>>() {
-            
-            @Override
-            public SortedMap<MessageUid, MaildirMessageName> execute() throws MailboxException {
-                final SortedMap<MessageUid, MaildirMessageName> uidMap = new TreeMap<MessageUid, MaildirMessageName>();
+        return locker.executeWithLock(session, path, () -> {
+            final SortedMap<MessageUid, MaildirMessageName> uidMap = new TreeMap<>();
 
-                File uidList = uidFile;
+            File uidList = uidFile;
 
-                if (uidList.isFile()) {
-                    if (isModified()) {
-                        try {
-                            uidMap.putAll(truncateMap(updateUidFile(), from, to));
-                        } catch (MailboxException e) {
-                            // weird case if someone deleted the uidlist after
-                            // checking its
-                            // existence and before trying to update it.
-                            uidMap.putAll(truncateMap(createUidFile(), from, to));
-                        }
-                    } else {
-                        // the uidList is up to date
-                        uidMap.putAll(readUidFile(session, from, to));
+            if (uidList.isFile()) {
+                if (isModified()) {
+                    try {
+                        uidMap.putAll(truncateMap(updateUidFile(), from, to));
+                    } catch (MailboxException e) {
+                        // weird case if someone deleted the uidlist after
+                        // checking its
+                        // existence and before trying to update it.
+                        uidMap.putAll(truncateMap(createUidFile(), from, to));
                     }
                 } else {
-                    // the uidList does not exist
-                    uidMap.putAll(truncateMap(createUidFile(), from, to));
+                    // the uidList is up to date
+                    uidMap.putAll(readUidFile(session, from, to));
                 }
-                return uidMap;
+            } else {
+                // the uidList does not exist
+                uidMap.putAll(truncateMap(createUidFile(), from, to));
             }
+            return uidMap;
         }, true);
     }
     
@@ -471,84 +455,80 @@ public class MaildirFolder {
      */
     public SortedMap<MessageUid, MaildirMessageName> getRecentMessages(final MailboxSession session) throws MailboxException {
         final String[] recentFiles = getNewFolder().list();
-        final LinkedList<String> lines = new LinkedList<String>();
+        final LinkedList<String> lines = new LinkedList<>();
         final int theLimit = recentFiles.length;
-        return locker.executeWithLock(session, path, new LockAwareExecution<SortedMap<MessageUid, MaildirMessageName>>() {
-            
-            @Override
-            public SortedMap<MessageUid, MaildirMessageName> execute() throws MailboxException {
-                final SortedMap<MessageUid, MaildirMessageName> recentMessages = new TreeMap<MessageUid, MaildirMessageName>();
-
-                File uidList = uidFile;
-
+        return locker.executeWithLock(session, path, () -> {
+            final SortedMap<MessageUid, MaildirMessageName> recentMessages = new TreeMap<>();
+
+            File uidList = uidFile;
+
+            try {
+                if (!uidList.isFile()) {
+                    if (!uidList.createNewFile())
+                        throw new IOException("Could not create file " + uidList);
+                    String[] curFiles = curFolder.list();
+                    String[] newFiles = newFolder.list();
+                    messageCount = curFiles.length + newFiles.length;
+                    String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
+                    for (String file : allFiles)
+                        lines.add(String.valueOf(getNextUid().asLong()) + " " + file);
+                    PrintWriter pw = new PrintWriter(uidList);
+                    try {
+                        pw.println(createUidListHeader());
+                        for (String line : lines)
+                        pw.println(line);
+                    } finally {
+                        IOUtils.closeQuietly(pw);
+                    }
+                }
+                else {
+                    FileReader fileReader = null;
+                    BufferedReader reader = null;
                 try {
-                    if (!uidList.isFile()) {
-                        if (!uidList.createNewFile())
-                            throw new IOException("Could not create file " + uidList);
-                        String[] curFiles = curFolder.list();
-                        String[] newFiles = newFolder.list();
-                        messageCount = curFiles.length + newFiles.length;
-                        String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
-                        for (String file : allFiles)
-                            lines.add(String.valueOf(getNextUid().asLong()) + " " + file);
-                        PrintWriter pw = new PrintWriter(uidList);
-                        try {
-                            pw.println(createUidListHeader());
-                            for (String line : lines)
-                            pw.println(line);
-                        } finally {
-                            IOUtils.closeQuietly(pw);
-                        }
+                        fileReader = new FileReader(uidList);
+                        reader = new BufferedReader(fileReader);
+                        String line = reader.readLine();
+                        // the first line in the file contains the next uid and message count
+                        while ((line = reader.readLine()) != null)
+                            lines.add(line);
+                    } finally {
+                        IOUtils.closeQuietly(reader);
+                        IOUtils.closeQuietly(fileReader);
                     }
-                    else {
-                        FileReader fileReader = null;
-                        BufferedReader reader = null;
+                }
+                int counter = 0;
+                String line;
+                while (counter < theLimit) {
+                    // walk backwards as recent files are supposedly recent
                     try {
-                            fileReader = new FileReader(uidList);
-                            reader = new BufferedReader(fileReader);
-                            String line = reader.readLine();
-                            // the first line in the file contains the next uid and message count
-                            while ((line = reader.readLine()) != null)
-                                lines.add(line);
-                        } finally {
-                            IOUtils.closeQuietly(reader);
-                            IOUtils.closeQuietly(fileReader);
-                        }
+                        line = lines.removeLast();
+                    } catch (NoSuchElementException e) {
+                        break; // the list is empty
                     }
-                    int counter = 0;
-                    String line;
-                    while (counter < theLimit) {
-                        // walk backwards as recent files are supposedly recent
-                        try {
-                            line = lines.removeLast();
-                        } catch (NoSuchElementException e) {
-                            break; // the list is empty
+                    if (!line.equals("")) {
+                        int gap = line.indexOf(" ");
+                        if (gap == -1) {
+                            // there must be some issues in the file if no gap can be found
+                            // there must be some issues in the file if no gap can be found
+                            session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lines.size());
+                            continue;
                         }
-                        if (!line.equals("")) {
-                            int gap = line.indexOf(" ");
-                            if (gap == -1) {
-                                // there must be some issues in the file if no gap can be found
-                                // there must be some issues in the file if no gap can be found
-                            	session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lines.size());
-                                continue;
-                            }
-                            
-                            MessageUid uid = MessageUid.of(Long.valueOf(line.substring(0, gap)));
-                            String name = line.substring(gap + 1, line.length());
-                            for (String recentFile : recentFiles) {
-                                if (recentFile.equals(name)) {
-                                    recentMessages.put(uid, newMaildirMessageName(MaildirFolder.this, recentFile));
-                                    counter++;
-                                    break;
-                                }
+
+                        MessageUid uid = MessageUid.of(Long.valueOf(line.substring(0, gap)));
+                        String name = line.substring(gap + 1, line.length());
+                        for (String recentFile : recentFiles) {
+                            if (recentFile.equals(name)) {
+                                recentMessages.put(uid, newMaildirMessageName(MaildirFolder.this, recentFile));
+                                counter++;
+                                break;
                             }
                         }
                     }
-                } catch (IOException e) {
-                    throw new MailboxException("Unable to read recent messages", e);
-                }   
-                return recentMessages;
+                }
+            } catch (IOException e) {
+                throw new MailboxException("Unable to read recent messages", e);
             }
+            return recentMessages;
         }, true);
     }
     
@@ -726,13 +706,7 @@ public class MaildirFolder {
      * @return the line which ought to be the header
      */
     private String createUidListHeader() {
-        Long last = lastUid.transform(new Function<MessageUid, Long>() {
-            @Override
-            public Long apply(MessageUid input) {
-                return input.asLong();
-            }
-            
-        }).or(0L);
+        Long last = lastUid.transform(MessageUid::asLong).or(0L);
         return "1 " + String.valueOf(last) + " " + String.valueOf(messageCount);
     }
     
@@ -757,67 +731,63 @@ public class MaildirFolder {
      * @return The uid of the message
      */
     public MessageUid appendMessage(MailboxSession session, final String name) throws MailboxException {
-        return locker.executeWithLock(session, path, new LockAwareExecution<MessageUid>() {
-            
-            @Override
-            public MessageUid execute() throws MailboxException {
-                File uidList = uidFile;
-                MessageUid uid = null;
-                FileReader fileReader = null;
-                BufferedReader reader = null;
-                PrintWriter pw = null;
-                try {
-                    if (uidList.isFile()) {
-                        fileReader = new FileReader(uidList);
-                        reader = new BufferedReader(fileReader);
-                        String line = reader.readLine();
-                        // the first line in the file contains the next uid and message count
-                        if (line != null)
-                            readUidListHeader(line);
-                        ArrayList<String> lines = new ArrayList<String>();
-                        while ((line = reader.readLine()) != null)
-                            lines.add(line);
-                        uid = getNextUid();
-                        lines.add(String.valueOf(uid.asLong()) + " " + name);
-                        messageCount++;
-                        pw = new PrintWriter(uidList);
-                        pw.println(createUidListHeader());
-                        for (String entry : lines)
-                            pw.println(entry);
-                    }
-                    else {
-                        // create the file
-                        if (!uidList.createNewFile())
-                            throw new IOException("Could not create file " + uidList);
-                        String[] curFiles = curFolder.list();
-                        String[] newFiles = newFolder.list();
-                        messageCount = curFiles.length + newFiles.length;
-                        ArrayList<String> lines = new ArrayList<String>();
-                        String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
-                        for (String file : allFiles) {
-                            MessageUid theUid = getNextUid();
-                            lines.add(String.valueOf(theUid.asLong()) + " " + file);
-                            // the listed names already include the message to append
-                            if (file.equals(name))
-                                uid = theUid;
-                        }
-                        pw = new PrintWriter(uidList);
-                        pw.println(createUidListHeader());
-                        for (String line : lines)
-                            pw.println(line);
-                    }
-                } catch (IOException e) {
-                    throw new MailboxException("Unable to append msg", e);
-                } finally {
-                    IOUtils.closeQuietly(pw);
-                    IOUtils.closeQuietly(reader);
-                    IOUtils.closeQuietly(fileReader);
+        return locker.executeWithLock(session, path, () -> {
+            File uidList = uidFile;
+            MessageUid uid = null;
+            FileReader fileReader = null;
+            BufferedReader reader = null;
+            PrintWriter pw = null;
+            try {
+                if (uidList.isFile()) {
+                    fileReader = new FileReader(uidList);
+                    reader = new BufferedReader(fileReader);
+                    String line = reader.readLine();
+                    // the first line in the file contains the next uid and message count
+                    if (line != null)
+                        readUidListHeader(line);
+                    ArrayList<String> lines = new ArrayList<String>();
+                    while ((line = reader.readLine()) != null)
+                        lines.add(line);
+                    uid = getNextUid();
+                    lines.add(String.valueOf(uid.asLong()) + " " + name);
+                    messageCount++;
+                    pw = new PrintWriter(uidList);
+                    pw.println(createUidListHeader());
+                    for (String entry : lines)
+                        pw.println(entry);
                 }
-                if (uid == null) {
-                    throw new MailboxException("Unable to append msg");
-                } else {
-                   return uid;
+                else {
+                    // create the file
+                    if (!uidList.createNewFile())
+                        throw new IOException("Could not create file " + uidList);
+                    String[] curFiles = curFolder.list();
+                    String[] newFiles = newFolder.list();
+                    messageCount = curFiles.length + newFiles.length;
+                    ArrayList<String> lines = new ArrayList<String>();
+                    String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
+                    for (String file : allFiles) {
+                        MessageUid theUid = getNextUid();
+                        lines.add(String.valueOf(theUid.asLong()) + " " + file);
+                        // the listed names already include the message to append
+                        if (file.equals(name))
+                            uid = theUid;
+                    }
+                    pw = new PrintWriter(uidList);
+                    pw.println(createUidListHeader());
+                    for (String line : lines)
+                        pw.println(line);
                 }
+            } catch (IOException e) {
+                throw new MailboxException("Unable to append msg", e);
+            } finally {
+                IOUtils.closeQuietly(pw);
+                IOUtils.closeQuietly(reader);
+                IOUtils.closeQuietly(fileReader);
+            }
+            if (uid == null) {
+                throw new MailboxException("Unable to append msg");
+            } else {
+               return uid;
             }
         }, true);
 
@@ -831,39 +801,35 @@ public class MaildirFolder {
      * @throws MailboxException
      */
     public void update(MailboxSession session, final MessageUid uid, final String messageName) throws MailboxException {
-        locker.executeWithLock(session, path, new LockAwareExecution<Void>() {
-            
-            @Override
-            public Void execute() throws MailboxException {
-                File uidList = uidFile;
-                FileReader fileReader = null;
-                BufferedReader reader = null;
-                PrintWriter writer = null;
-                try {
-                    fileReader = new FileReader(uidList);
-                    reader = new BufferedReader(fileReader);
-                    String line = reader.readLine();
-                    readUidListHeader(line);
-                    ArrayList<String> lines = new ArrayList<String>();
-                    while ((line = reader.readLine()) != null) {
-                        if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
-                            line = String.valueOf(uid.asLong()) + " " + messageName;
-                        }
-                        lines.add(line);
+        locker.executeWithLock(session, path, (LockAwareExecution<Void>) () -> {
+            File uidList = uidFile;
+            FileReader fileReader = null;
+            BufferedReader reader = null;
+            PrintWriter writer = null;
+            try {
+                fileReader = new FileReader(uidList);
+                reader = new BufferedReader(fileReader);
+                String line = reader.readLine();
+                readUidListHeader(line);
+                ArrayList<String> lines = new ArrayList<String>();
+                while ((line = reader.readLine()) != null) {
+                    if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
+                        line = String.valueOf(uid.asLong()) + " " + messageName;
                     }
-                    writer = new PrintWriter(uidList);
-                    writer.println(createUidListHeader());
-                    for (String entry : lines)
-                        writer.println(entry);
-                } catch (IOException e) {
-                    throw new MailboxException("Unable to update msg with uid " + uid, e);
-                } finally {
-                    IOUtils.closeQuietly(writer);
-                    IOUtils.closeQuietly(reader);
-                    IOUtils.closeQuietly(fileReader);
-                }    
-                return null;
+                    lines.add(line);
+                }
+                writer = new PrintWriter(uidList);
+                writer.println(createUidListHeader());
+                for (String entry : lines)
+                    writer.println(entry);
+            } catch (IOException e) {
+                throw new MailboxException("Unable to update msg with uid " + uid, e);
+            } finally {
+                IOUtils.closeQuietly(writer);
+                IOUtils.closeQuietly(reader);
+                IOUtils.closeQuietly(fileReader);
             }
+            return null;
         }, true);
 
     }
@@ -876,56 +842,52 @@ public class MaildirFolder {
      * @throws MailboxException If the file cannot be deleted of there is a problem with the uid list
      */
     public MaildirMessageName delete(final MailboxSession session, final MessageUid uid) throws MailboxException {        
-        return locker.executeWithLock(session, path, new LockAwareExecution<MaildirMessageName>() {
-            
-            @Override
-            public MaildirMessageName execute() throws MailboxException {
-                File uidList = uidFile;
-                FileReader fileReader = null;
-                BufferedReader reader = null;
-                PrintWriter writer = null;
-                MaildirMessageName deletedMessage = null;
-                try {
-                    fileReader = new FileReader(uidList);
-                    reader = new BufferedReader(fileReader);
-                    readUidListHeader(reader.readLine());
-                    
-                    // It may be possible that message count is 0 so we should better not try to calculate the size of the ArrayList
-                    ArrayList<String> lines = new ArrayList<String>();
-                    String line;
-                    int lineNumber = 1;
-                    while ((line = reader.readLine()) != null) {
-                        int gap = line.indexOf(" ");
-                        if (gap == -1) {
-                            // there must be some issues in the file if no gap can be found
-                        	session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
-                            continue;
-                        }
-                        
-                        if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
-                            deletedMessage = newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1, line.length()));
-                            messageCount--;
-                        }
-                        else {
-                            lines.add(line);
-                        }
-                    }
-                    if (deletedMessage != null) {
-                        FileUtils.forceDelete(deletedMessage.getFile());
-                        writer = new PrintWriter(uidList);
-                        writer.println(createUidListHeader());
-                        for (String entry : lines)
-                            writer.println(entry);
+        return locker.executeWithLock(session, path, () -> {
+            File uidList = uidFile;
+            FileReader fileReader = null;
+            BufferedReader reader = null;
+            PrintWriter writer = null;
+            MaildirMessageName deletedMessage = null;
+            try {
+                fileReader = new FileReader(uidList);
+                reader = new BufferedReader(fileReader);
+                readUidListHeader(reader.readLine());
+
+                // It may be possible that message count is 0 so we should better not try to calculate the size of the ArrayList
+                ArrayList<String> lines = new ArrayList<String>();
+                String line;
+                int lineNumber = 1;
+                while ((line = reader.readLine()) != null) {
+                    int gap = line.indexOf(" ");
+                    if (gap == -1) {
+                        // there must be some issues in the file if no gap can be found
+                        session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
+                        continue;
                     }
-                    return deletedMessage;
 
-                } catch (IOException e) {
-                    throw new MailboxException("Unable to delete msg with uid " + uid, e);
-                } finally {
-                    IOUtils.closeQuietly(writer);
-                    IOUtils.closeQuietly(reader);
-                    IOUtils.closeQuietly(fileReader);
-                }   
+                    if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
+                        deletedMessage = newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1, line.length()));
+                        messageCount--;
+                    }
+                    else {
+                        lines.add(line);
+                    }
+                }
+                if (deletedMessage != null) {
+                    FileUtils.forceDelete(deletedMessage.getFile());
+                    writer = new PrintWriter(uidList);
+                    writer.println(createUidListHeader());
+                    for (String entry : lines)
+                        writer.println(entry);
+                }
+                return deletedMessage;
+
+            } catch (IOException e) {
+                throw new MailboxException("Unable to delete msg with uid " + uid, e);
+            } finally {
+                IOUtils.closeQuietly(writer);
+                IOUtils.closeQuietly(reader);
+                IOUtils.closeQuietly(fileReader);
             }
         }, true);
         
@@ -955,30 +917,26 @@ public class MaildirFolder {
      */
     private MailboxACL readACL(MailboxSession session) throws MailboxException {
         // FIXME Do we need this locking?
-        return locker.executeWithLock(session, path, new LockAwareExecution<MailboxACL>() {
-            
-            @Override
-            public MailboxACL execute() throws MailboxException {
-                File f = aclFile;
-                InputStream in = null;
-                Properties props = new Properties();
-                if (f.exists()) {
-                    try {
-                        in = new FileInputStream(f);
-                        props.load(in);
-                    } catch (FileNotFoundException e) {
-                        throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
-                    } catch (IOException e) {
-                        throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
-                    }
-                    finally {
-                        IOUtils.closeQuietly(in);
-                    }
+        return locker.executeWithLock(session, path, (LockAwareExecution<MailboxACL>) () -> {
+            File f = aclFile;
+            InputStream in = null;
+            Properties props = new Properties();
+            if (f.exists()) {
+                try {
+                    in = new FileInputStream(f);
+                    props.load(in);
+                } catch (FileNotFoundException e) {
+                    throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
+                } catch (IOException e) {
+                    throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
+                }
+                finally {
+                    IOUtils.closeQuietly(in);
                 }
-                
-                return new SimpleMailboxACL(props);
-
             }
+
+            return new SimpleMailboxACL(props);
+
         }, true);
         
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
index 8865e8b..6446dba 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
@@ -453,12 +453,9 @@ public class MaildirMessageName {
     }
     
     public static FilenameFilter createRegexFilter(final Pattern pattern) {
-        return new FilenameFilter() {
-            @Override
-            public boolean accept(File dir, String name) {
-                Matcher matcher = pattern.matcher(name);
-                return matcher.matches();
-            }
+        return (dir, name) -> {
+            Matcher matcher = pattern.matcher(name);
+            return matcher.matches();
         };
     }
     

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java
index bbb9244..bdc0c15 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java
@@ -37,7 +37,6 @@ import org.apache.james.mailbox.store.mail.UidProvider;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 
 public class MaildirStore implements UidProvider, ModSeqProvider {
@@ -246,12 +245,9 @@ public class MaildirStore implements UidProvider, ModSeqProvider {
     @Override
     public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
         try {
-            return createMaildirFolder(mailbox).getLastUid(session).transform(new Function<MessageUid, MessageUid>() {
-                @Override
-                public MessageUid apply(MessageUid input) {
-                    return input.next();
-                }
-            }).or(MessageUid.MIN_VALUE);
+            return createMaildirFolder(mailbox).getLastUid(session)
+                .transform(MessageUid::next)
+                .or(MessageUid.MIN_VALUE);
         } catch (MailboxException e) {
             throw new MailboxException("Unable to generate next uid", e);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
index 5661b91..b7f5d9e 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
@@ -19,7 +19,6 @@
 package org.apache.james.mailbox.maildir.mail;
 
 import java.io.File;
-import java.io.FileFilter;
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -317,12 +316,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
             
             // List all INBOX sub folders.
             
-            File[] mailboxes = user.listFiles(new FileFilter() {
-                @Override
-                public boolean accept(File pathname) {
-                    return pathname.getName().startsWith(".");
-                }
-            });
+            File[] mailboxes = user.listFiles(pathname -> pathname.getName().startsWith("."));
             
             for (File mailbox: mailboxes) {
                

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
index 4de6ba9..896ebb9 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
@@ -124,16 +124,8 @@ public class InMemoryMessageIdManager implements MessageIdManager {
 
     private List<MailboxId> getUsersMailboxIds(final MailboxSession mailboxSession) throws MailboxException {
         return FluentIterable.from(mailboxManager.search(userMailboxes(mailboxSession), mailboxSession))
-            .transform(getMailboxIdFromMetadata()).toList();
-    }
-
-    private Function<MailboxMetaData, MailboxId> getMailboxIdFromMetadata() {
-        return new Function<MailboxMetaData, MailboxId>() {
-            @Override
-            public MailboxId apply(MailboxMetaData input) {
-                return input.getId();
-            }
-        };
+            .transform(MailboxMetaData::getId)
+            .toList();
     }
 
     private MailboxQuery userMailboxes(MailboxSession mailboxSession) {
@@ -165,26 +157,19 @@ public class InMemoryMessageIdManager implements MessageIdManager {
     }
 
     private Predicate<MailboxId> findMailboxBelongsToAnotherSession(final MailboxSession mailboxSession) {
-        return new Predicate<MailboxId>() {
-            @Override
-            public boolean apply(MailboxId input) {
-                try {
-                    MailboxPath currentMailbox = mailboxManager.getMailbox(input, mailboxSession).getMailboxPath();
-                    return !mailboxSession.getUser().isSameUser(currentMailbox.getUser());
-                } catch (MailboxException e) {
-                    return true;
-                }
+        return input -> {
+            try {
+                MailboxPath currentMailbox = mailboxManager.getMailbox(input, mailboxSession).getMailboxPath();
+                return !mailboxSession.getUser().isSameUser(currentMailbox.getUser());
+            } catch (MailboxException e) {
+                return true;
             }
         };
     }
 
     private FluentIterable<MailboxId> currentMailboxes(List<MessageResult> messages) {
-        return FluentIterable.from(messages).transform(new Function<MessageResult, MailboxId>() {
-            @Override
-            public MailboxId apply(MessageResult message) {
-                return message.getMailboxId();
-            }
-        });
+        return FluentIterable.from(messages)
+            .transform(MessageResult::getMailboxId);
     }
 
     private Optional<MessageResult> findMessageWithId(MailboxId mailboxId, MessageId messageId, FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxException {
@@ -194,13 +179,7 @@ public class InMemoryMessageIdManager implements MessageIdManager {
     }
 
     private Predicate<MessageResult> filterByMessageId(final MessageId messageId) {
-        return new Predicate<MessageResult>() {
-
-            @Override
-            public boolean apply(MessageResult messageResult) {
-                return messageResult.getMessageId().equals(messageId);
-            }
-        };
+        return messageResult -> messageResult.getMessageId().equals(messageId);
     }
 
     private ImmutableList<MessageResult> retrieveAllMessages(MailboxId mailboxId, FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
index 3325f9d..514578e 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
@@ -20,8 +20,6 @@
 package org.apache.james.mailbox.inmemory.mail;
 
 import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -34,7 +32,6 @@ import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.store.mail.AnnotationMapper;
 
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.collect.HashBasedTable;
@@ -65,12 +62,7 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
         try {
             return Iterables.transform(
                 mailboxesAnnotations.row(mailboxId).entrySet(),
-                new Function<Map.Entry<String, String>, MailboxAnnotation>() {
-                    @Override
-                    public MailboxAnnotation apply(Entry<String, String> input) {
-                        return MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue());
-                    }
-                });
+                input -> MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue()));
         } finally {
             lock.readLock().unlock();
         }
@@ -85,12 +77,7 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
     public List<MailboxAnnotation> getAnnotationsByKeys(MailboxId mailboxId, final Set<MailboxAnnotationKey> keys) {
         return ImmutableList.copyOf(
             Iterables.filter(retrieveAllAnnotations((InMemoryId)mailboxId),
-                new Predicate<MailboxAnnotation>() {
-                    @Override
-                    public boolean apply(MailboxAnnotation input) {
-                        return keys.contains(input.getKey());
-                    }
-            }));
+                input -> keys.contains(input.getKey())));
     }
 
     @Override
@@ -104,39 +91,19 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
     }
 
     private Predicate<MailboxAnnotation> getPredicateFilterByAll(final Set<MailboxAnnotationKey> keys) {
-        return new Predicate<MailboxAnnotation>() {
-            @Override
-            public boolean apply(final MailboxAnnotation input) {
-                return Iterables.tryFind(keys, filterAnnotationsByPrefix(input)).isPresent();
-            }
-        };
+        return input -> Iterables.tryFind(keys, filterAnnotationsByPrefix(input)).isPresent();
     }
 
     private Predicate<MailboxAnnotation> getPredicateFilterByOne(final Set<MailboxAnnotationKey> keys) {
-        return new Predicate<MailboxAnnotation>() {
-            @Override
-            public boolean apply(final MailboxAnnotation input) {
-                return Iterables.tryFind(keys, filterAnnotationsByParentKey(input.getKey())).isPresent();
-            }
-        };
+        return input -> Iterables.tryFind(keys, filterAnnotationsByParentKey(input.getKey())).isPresent();
     }
 
     private Predicate<MailboxAnnotationKey> filterAnnotationsByParentKey(final MailboxAnnotationKey input) {
-        return new Predicate<MailboxAnnotationKey>() {
-            @Override
-            public boolean apply(MailboxAnnotationKey key) {
-                return input.countComponents() <= (key.countComponents() + 1);
-            }
-        };
+        return key -> input.countComponents() <= (key.countComponents() + 1);
     }
 
     private Predicate<MailboxAnnotationKey> filterAnnotationsByPrefix(final MailboxAnnotation input) {
-        return new Predicate<MailboxAnnotationKey>() {
-            @Override
-            public boolean apply(MailboxAnnotationKey key) {
-                return key.equals(input.getKey()) || StringUtils.startsWith(input.getKey().asString(), key.asString() + "/");
-            }
-        };
+        return key -> key.equals(input.getKey()) || StringUtils.startsWith(input.getKey().asString(), key.asString() + "/");
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
index 1bd6068..5e823ef 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
@@ -39,7 +39,6 @@ import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
 
 import com.google.common.base.Charsets;
 import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
 import com.google.common.base.Throwables;
 import com.google.common.collect.FluentIterable;
 
@@ -99,13 +98,7 @@ public class InMemoryMessageIdManagerTestSystem extends MessageIdManagerTestSyst
     private Optional<MailboxMetaData> retrieveMailbox(final MailboxId mailboxId, MailboxSession mailboxSession) throws MailboxException {
         MailboxQuery userMailboxesQuery = MailboxQuery.builder(mailboxSession).expression("*").build();
         return FluentIterable.from(mailboxManager.search(userMailboxesQuery, mailboxSession))
-            .filter(new Predicate<MailboxMetaData>() {
-
-                @Override
-                public boolean apply(MailboxMetaData mailboxMetaData) {
-                    return mailboxMetaData.getId().equals(mailboxId);
-                }
-            })
+            .filter(mailboxMetaData -> mailboxMetaData.getId().equals(mailboxId))
             .first();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
index 524ee1e..9a82bc7 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
@@ -29,8 +29,6 @@ import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
 import org.apache.james.mailbox.store.quota.QuotaRootImpl;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 public class InMemoryCurrentQuotaManagerTest {
 
@@ -48,35 +46,27 @@ public class InMemoryCurrentQuotaManagerTest {
 
     @Test
     public void getCurrentMessageCountShouldReturnRecalculateMessageCountWhenEntryIsNotInitialized() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null)).thenAnswer(new Answer<CurrentQuotaCalculator.CurrentQuotas>() {
-            @Override
-            public CurrentQuotaCalculator.CurrentQuotas answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return new CurrentQuotaCalculator.CurrentQuotas(18, 512);
-            }
-        });
+        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
+            .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+
         assertThat(testee.getCurrentMessageCount(QUOTA_ROOT)).isEqualTo(18);
     }
 
     @Test
     public void getCurrentStorageShouldReturnRecalculateSizeWhenEntryIsNotInitialized() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null)).thenAnswer(new Answer<CurrentQuotaCalculator.CurrentQuotas>() {
-            @Override
-            public CurrentQuotaCalculator.CurrentQuotas answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return new CurrentQuotaCalculator.CurrentQuotas(18, 512);
-            }
-        });
+        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
+            .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+
         assertThat(testee.getCurrentStorage(QUOTA_ROOT)).isEqualTo(512);
     }
 
     @Test
     public void getCurrentStorageShouldReRetrieveStoredQuotasWhenCalculateOnUnknownQuotaIsTrue() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null)).thenAnswer(new Answer<CurrentQuotaCalculator.CurrentQuotas>() {
-            @Override
-            public CurrentQuotaCalculator.CurrentQuotas answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return new CurrentQuotaCalculator.CurrentQuotas(18, 512);
-            }
-        });
+        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
+            .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+
         testee.increase(QUOTA_ROOT, 10, 100);
+
         assertThat(testee.getCurrentMessageCount(QUOTA_ROOT)).isEqualTo(28);
         assertThat(testee.getCurrentStorage(QUOTA_ROOT)).isEqualTo(612);
     }


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


[14/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
index 813401e..3808835 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandlerTest.java
@@ -22,16 +22,14 @@
 
 package org.apache.james.protocols.smtp.core.fastfail;
 
+import static junit.framework.Assert.assertEquals;
+
 import java.util.HashMap;
 import java.util.Map;
 
-
-import static junit.framework.Assert.*;
-
 import org.apache.james.protocols.smtp.MailAddress;
 import org.apache.james.protocols.smtp.MailAddressException;
 import org.apache.james.protocols.smtp.SMTPSession;
-import org.apache.james.protocols.smtp.core.fastfail.MaxRcptHandler;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.junit.Test;
@@ -42,7 +40,7 @@ public class MaxRcptHandlerTest {
     
     private SMTPSession setupMockedSession(final int rcptCount) {
         return new BaseFakeSMTPSession() {
-            HashMap<String,Object> state = new HashMap<String,Object>();
+            HashMap<String,Object> state = new HashMap<>();
 
             public Map<String,Object> getState() {
                 return state;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
index 27e1774..0df0aeb 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandlerTest.java
@@ -20,25 +20,24 @@
 
 package org.apache.james.protocols.smtp.core.fastfail;
 
+import static junit.framework.Assert.assertEquals;
+
 import java.util.HashMap;
 import java.util.Map;
 
-
 import org.apache.james.protocols.smtp.MailAddressException;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.junit.Test;
 
-import static junit.framework.Assert.*;
-
 public class MaxUnknownCmdHandlerTest {
 
     
     @Test
     public void testRejectAndClose() throws MailAddressException {
         SMTPSession session = new BaseFakeSMTPSession() {
-            private final HashMap<String,Object> map = new HashMap<String,Object>();
+            private final HashMap<String,Object> map = new HashMap<>();
 
             public Map<String,Object> getState() {
                 return map;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
index 94ede21..782ce18 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandlerTest.java
@@ -21,19 +21,19 @@
 
 package org.apache.james.protocols.smtp.core.fastfail;
 
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertNull;
+
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.HashMap;
 import java.util.Map;
 
-
-import static junit.framework.Assert.*;
-
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.smtp.MailAddress;
 import org.apache.james.protocols.smtp.MailAddressException;
 import org.apache.james.protocols.smtp.SMTPSession;
-import org.apache.james.protocols.smtp.core.fastfail.ResolvableEhloHeloHandler;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.junit.Test;
@@ -50,8 +50,8 @@ public class ResolvableEhloHeloHandlerTest {
 
         return new BaseFakeSMTPSession() {
 
-            HashMap<String,Object> connectionMap = new HashMap<String,Object>();
-            HashMap<String,Object> map = new HashMap<String,Object>();
+            HashMap<String,Object> connectionMap = new HashMap<>();
+            HashMap<String,Object> map = new HashMap<>();
 
             public boolean isAuthSupported() {
                 return authRequired;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
index f4c6c8c..d339a98 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandlerTest.java
@@ -20,19 +20,19 @@
 
 package org.apache.james.protocols.smtp.core.fastfail;
 
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.fail;
+
 import java.net.InetSocketAddress;
 import java.util.ArrayList;
 
 import org.apache.james.protocols.smtp.MailAddress;
 import org.apache.james.protocols.smtp.MailAddressException;
 import org.apache.james.protocols.smtp.SMTPSession;
-import org.apache.james.protocols.smtp.core.fastfail.SpamTrapHandler;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.junit.Test;
 
-import static junit.framework.Assert.*;
-
 public class SpamTrapHandlerTest {
     private static final String SPAM_TRAP_RECIP1 = "spamtrap1@localhost";
     private static final String RECIP1 = "recip@localhost";
@@ -57,7 +57,7 @@ public class SpamTrapHandlerTest {
         String ip2 = "192.168.100.2";
         long blockTime = 2000;
     
-        ArrayList<String> rcpts = new ArrayList<String>();
+        ArrayList<String> rcpts = new ArrayList<>();
         rcpts.add(SPAM_TRAP_RECIP1);
     
         SpamTrapHandler handler = new SpamTrapHandler();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
index ec5ba2b..436528b 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
@@ -61,7 +61,7 @@ public class ValidSenderDomainHandlerTest {
     
     private SMTPSession setupMockedSession(final MailAddress sender) {
         return new BaseFakeSMTPSession() {
-            HashMap<String,Object> map = new HashMap<String,Object>();
+            HashMap<String,Object> map = new HashMap<>();
 
             public Map<String,Object> getState() {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java
index 0623356..f8ba661 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java
@@ -31,7 +31,7 @@ import org.apache.james.protocols.smtp.hook.MessageHook;
 
 public class TestMessageHook implements MessageHook {
 
-    private final CopyOnWriteArrayList<MailEnvelope> queued = new CopyOnWriteArrayList<MailEnvelope>();
+    private final CopyOnWriteArrayList<MailEnvelope> queued = new CopyOnWriteArrayList<>();
     
     public HookResult onMessage(SMTPSession session, MailEnvelope mail) {
         queued.add(mail);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java
----------------------------------------------------------------------
diff --git a/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java b/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java
index f8281b2..9609f54 100644
--- a/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java
+++ b/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java
@@ -41,7 +41,6 @@ import org.apache.james.mailbox.store.probe.MailboxProbe;
 import org.apache.james.mailbox.store.probe.QuotaProbe;
 import org.apache.james.mailbox.store.probe.SieveProbe;
 import org.apache.james.probe.DataProbe;
-import org.apache.james.rrt.lib.Mappings;
 import org.apache.james.rrt.lib.MappingsImpl;
 import org.easymock.IMocksControl;
 import org.junit.Before;
@@ -172,7 +171,7 @@ public class ServerCmdTest {
         String[] arguments = { "-h", "127.0.0.1", "-p", "9999", CmdType.LISTMAPPINGS.getCommand()};
         CommandLine commandLine = ServerCmd.parseCommandLine(arguments);
 
-        expect(dataProbe.listMappings()).andReturn(new HashMap<String, Mappings>());
+        expect(dataProbe.listMappings()).andReturn(new HashMap<>());
 
         control.replay();
         testee.executeCommandLine(commandLine);
@@ -356,7 +355,7 @@ public class ServerCmdTest {
         String[] arguments = { "-h", "127.0.0.1", "-p", "9999", CmdType.LISTUSERMAILBOXES.getCommand(), user};
         CommandLine commandLine = ServerCmd.parseCommandLine(arguments);
 
-        expect(mailboxProbe.listUserMailboxes(user)).andReturn(new ArrayList<String>());
+        expect(mailboxProbe.listUserMailboxes(user)).andReturn(new ArrayList<>());
 
         control.replay();
         testee.executeCommandLine(commandLine);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/core/src/main/java/org/apache/james/core/MailImpl.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/core/MailImpl.java b/server/container/core/src/main/java/org/apache/james/core/MailImpl.java
index c0cbdeb..857302a 100644
--- a/server/container/core/src/main/java/org/apache/james/core/MailImpl.java
+++ b/server/container/core/src/main/java/org/apache/james/core/MailImpl.java
@@ -19,19 +19,6 @@
 
 package org.apache.james.core;
 
-import org.apache.james.lifecycle.api.Disposable;
-import org.apache.james.lifecycle.api.LifecycleUtil;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
-import org.apache.mailet.PerRecipientHeaders;
-import org.apache.mailet.PerRecipientHeaders.Header;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.ParseException;
-
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -49,6 +36,19 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.UUID;
 
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.ParseException;
+
+import org.apache.james.lifecycle.api.Disposable;
+import org.apache.james.lifecycle.api.LifecycleUtil;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.PerRecipientHeaders;
+import org.apache.mailet.PerRecipientHeaders.Header;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 /**
  * <p>
  * Wraps a MimeMessage adding routing information (from SMTP) and some simple
@@ -127,7 +127,7 @@ public class MailImpl implements Disposable, Mail {
      */
     public MailImpl() {
         setState(Mail.DEFAULT);
-        attributes = new HashMap<String, Object>();
+        attributes = new HashMap<>();
         perRecipientSpecificHeaders = new PerRecipientHeaders();
     }
 
@@ -147,7 +147,7 @@ public class MailImpl implements Disposable, Mail {
 
         // Copy the recipient list
         if (recipients != null) {
-            this.recipients = new ArrayList<MailAddress>();
+            this.recipients = new ArrayList<>();
             this.recipients.addAll(recipients);
         }
     }
@@ -177,7 +177,7 @@ public class MailImpl implements Disposable, Mail {
             if (mail instanceof MailImpl) {
                 setAttributesRaw((HashMap<String, Object>) cloneSerializableObject(((MailImpl) mail).getAttributesRaw()));
             } else {
-                HashMap<String, Object> attribs = new HashMap<String, Object>();
+                HashMap<String, Object> attribs = new HashMap<>();
                 for (Iterator<String> i = mail.getAttributeNames(); i.hasNext(); ) {
                     String hashKey = i.next();
                     attribs.put(hashKey, cloneSerializableObject(mail.getAttribute(hashKey)));
@@ -186,10 +186,10 @@ public class MailImpl implements Disposable, Mail {
             }
         } catch (IOException e) {
             LOGGER.error("Error while deserializing attributes", e);
-            setAttributesRaw(new HashMap<String, Object>());
+            setAttributesRaw(new HashMap<>());
         } catch (ClassNotFoundException e) {
             LOGGER.error("Error while deserializing attributes", e);
-            setAttributesRaw(new HashMap<String, Object>());
+            setAttributesRaw(new HashMap<>());
         }
     }
 
@@ -520,7 +520,7 @@ public class MailImpl implements Disposable, Mail {
             attributes = (HashMap<String, Object>) in.readObject();
         } catch (OptionalDataException ode) {
             if (ode.eof) {
-                attributes = new HashMap<String, Object>();
+                attributes = new HashMap<>();
             } else {
                 throw ode;
             }
@@ -582,7 +582,7 @@ public class MailImpl implements Disposable, Mail {
      * @since 2.2.0
      */
     public void setAttributesRaw(HashMap<String, Object> attr) {
-        this.attributes = (attr == null) ? new HashMap<String, Object>() : attr;
+        this.attributes = (attr == null) ? new HashMap<>() : attr;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/core/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java b/server/container/core/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
index 531529a..46d1afd 100644
--- a/server/container/core/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
+++ b/server/container/core/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
@@ -42,7 +42,7 @@ import org.apache.james.lifecycle.api.Disposable;
  */
 public class MimeMessageInputStreamSource extends MimeMessageSource implements Disposable {
 
-    private final List<InputStream> streams = new ArrayList<InputStream>();
+    private final List<InputStream> streams = new ArrayList<>();
 
     /**
      * A temporary file used to hold the message stream

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/core/src/test/java/org/apache/james/core/MailImplTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/core/MailImplTest.java b/server/container/core/src/test/java/org/apache/james/core/MailImplTest.java
index 57a8ae1..aa82d0b 100644
--- a/server/container/core/src/test/java/org/apache/james/core/MailImplTest.java
+++ b/server/container/core/src/test/java/org/apache/james/core/MailImplTest.java
@@ -18,17 +18,22 @@
  ****************************************************************/
 package org.apache.james.core;
 
-import org.apache.mailet.base.test.MailUtil;
-import org.apache.mailet.MailAddress;
-import org.apache.mailet.Mail;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+
+import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
 
 import javax.mail.MessagingException;
 import javax.mail.Session;
 import javax.mail.internet.MimeMessage;
 
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import static org.junit.Assert.*;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.test.MailUtil;
 import org.junit.Test;
 
 public class MailImplTest extends MailTestAllImplementations {
@@ -53,7 +58,7 @@ public class MailImplTest extends MailTestAllImplementations {
 
     @Test
     public void testConstr2() throws MessagingException {
-        ArrayList<MailAddress> recepients = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> recepients = new ArrayList<>();
         String name = MailUtil.newId();
         String sender = "sender@localhost";
         MailAddress senderMailAddress = new MailAddress(sender);
@@ -71,7 +76,7 @@ public class MailImplTest extends MailTestAllImplementations {
 
     @Test
     public void testConstr3() throws MessagingException {
-        ArrayList<MailAddress> recepients = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> recepients = new ArrayList<>();
         String name = MailUtil.newId();
         String sender = "sender@localhost";
         MailAddress senderMailAddress = new MailAddress(sender);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/core/src/test/java/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java b/server/container/core/src/test/java/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java
index c9c2e42..36c678b 100644
--- a/server/container/core/src/test/java/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java
+++ b/server/container/core/src/test/java/org/apache/james/core/MimeMessageCopyOnWriteProxyTest.java
@@ -18,6 +18,14 @@
  ****************************************************************/
 package org.apache.james.core;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 import java.util.ArrayList;
 import java.util.Properties;
 
@@ -29,7 +37,6 @@ import javax.mail.util.SharedByteArrayInputStream;
 import org.apache.james.lifecycle.api.LifecycleUtil;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
-import static org.junit.Assert.*;
 import org.junit.Test;
 
 public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
@@ -48,7 +55,7 @@ public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
 
     @Test
     public void testMessageCloning1() throws Exception {
-        ArrayList<MailAddress> r = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> r = new ArrayList<>();
         r.add(new MailAddress("recipient@test.com"));
         MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(
                 content + sep + body);
@@ -74,7 +81,7 @@ public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
 
     @Test
     public void testMessageCloning2() throws Exception {
-        ArrayList<MailAddress> r = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> r = new ArrayList<>();
         r.add(new MailAddress("recipient@test.com"));
         MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(
                 content + sep + body);
@@ -124,7 +131,7 @@ public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
      */
     @Test
     public void testMessageAvoidCloning() throws Exception {
-        ArrayList<MailAddress> r = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> r = new ArrayList<>();
         r.add(new MailAddress("recipient@test.com"));
         MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(
                 content + sep + body);
@@ -160,7 +167,7 @@ public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
      */
     @Test
     public void testMessageCloning3() throws Exception {
-        ArrayList<MailAddress> r = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> r = new ArrayList<>();
         r.add(new MailAddress("recipient@test.com"));
         MimeMessage m = new MimeMessage(Session.getDefaultInstance(new Properties(null)));
         m.setText("CIPS");
@@ -181,7 +188,7 @@ public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
 
     @Test
     public void testMessageDisposing() throws Exception {
-        ArrayList<MailAddress> r = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> r = new ArrayList<>();
         r.add(new MailAddress("recipient@test.com"));
         MimeMessageCopyOnWriteProxy messageFromSources = (MimeMessageCopyOnWriteProxy) getMessageFromSources(
                 content + sep + body);
@@ -203,7 +210,7 @@ public class MimeMessageCopyOnWriteProxyTest extends MimeMessageFromStreamTest {
 
     @Test
     public void testNPE1() throws MessagingException, InterruptedException {
-        ArrayList<MailAddress> recipients = new ArrayList<MailAddress>();
+        ArrayList<MailAddress> recipients = new ArrayList<>();
         recipients.add(new MailAddress("recipient@test.com"));
         MimeMessageCopyOnWriteProxy mw = new MimeMessageCopyOnWriteProxy(new MimeMessageInputStreamSource("test",
                 new SharedByteArrayInputStream(("Return-path: return@test.com\r\n" + "Content-Transfer-Encoding: plain\r\n" + "Subject: test\r\n\r\n" + "Body Text testNPE1\r\n").

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/guice/jpa-guice/src/main/java/org/apache/james/modules/mailbox/JPAMailboxModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-guice/src/main/java/org/apache/james/modules/mailbox/JPAMailboxModule.java b/server/container/guice/jpa-guice/src/main/java/org/apache/james/modules/mailbox/JPAMailboxModule.java
index 83c147f..228ffe6 100644
--- a/server/container/guice/jpa-guice/src/main/java/org/apache/james/modules/mailbox/JPAMailboxModule.java
+++ b/server/container/guice/jpa-guice/src/main/java/org/apache/james/modules/mailbox/JPAMailboxModule.java
@@ -123,7 +123,7 @@ public class JPAMailboxModule extends AbstractModule {
     @Provides
     @Singleton
     public EntityManagerFactory provideEntityManagerFactory(JPAConfiguration jpaConfiguration) {
-        HashMap<String, String> properties = new HashMap<String, String>();
+        HashMap<String, String> properties = new HashMap<>();
         
         properties.put("openjpa.ConnectionDriverName", jpaConfiguration.getDriverName());
         properties.put("openjpa.ConnectionURL", jpaConfiguration.getDriverURL());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java
index 982f767..b0b204a 100644
--- a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java
+++ b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java
@@ -55,7 +55,7 @@ public class DefaultStager<A extends Annotation> implements DisposingStager<A> {
         Queue<Stageable> localStageables;
         switch (mode) {
             case FIRST_IN_FIRST_OUT: {
-                localStageables = new ArrayDeque<Stageable>();
+                localStageables = new ArrayDeque<>();
                 break;
             }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/PreDestroyModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/PreDestroyModule.java b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/PreDestroyModule.java
index 09bcd8d..98861e3 100644
--- a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/PreDestroyModule.java
+++ b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/PreDestroyModule.java
@@ -32,7 +32,7 @@ import com.google.inject.TypeLiteral;
  */
 public class PreDestroyModule extends LifeCycleStageModule {
 
-    private final DisposingStager<PreDestroy> stager = new DefaultStager<PreDestroy>(PreDestroy.class, DefaultStager.Order.FIRST_IN_LAST_OUT);
+    private final DisposingStager<PreDestroy> stager = new DefaultStager<>(PreDestroy.class, DefaultStager.Order.FIRST_IN_LAST_OUT);
 
     @Override
     protected void configureBindings() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java b/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
index 156c5f1..856231b 100644
--- a/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
+++ b/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/DefaultStagerTestCase.java
@@ -28,7 +28,7 @@ public class DefaultStagerTestCase {
 
     @Test
     public void stagerShouldStageObjectsRegisteredWhileStaging() {
-        final Stager<TestAnnotationA> stager = new DefaultStager<TestAnnotationA>(TestAnnotationA.class);
+        final Stager<TestAnnotationA> stager = new DefaultStager<>(TestAnnotationA.class);
         final AtomicBoolean staged = new AtomicBoolean();
         stager.register(stageHandler1 -> stager
             .register(stageHandler2 ->
@@ -48,7 +48,7 @@ public class DefaultStagerTestCase {
     @Test
     public void stagerShouldNotDeadlockWhileStagingObjectChains() {
         final AtomicBoolean staged = new AtomicBoolean();
-        final Stager<TestAnnotationA> stager = new DefaultStager<TestAnnotationA>(TestAnnotationA.class);
+        final Stager<TestAnnotationA> stager = new DefaultStager<>(TestAnnotationA.class);
         stager.register(stageHandler1 -> {
             Thread thread = new Thread(
                 () -> stager.register(stageHandler2 -> staged.set(true)));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/StagingOrderTestCase.java
----------------------------------------------------------------------
diff --git a/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/StagingOrderTestCase.java b/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/StagingOrderTestCase.java
index 3f4201d..5b0788d 100644
--- a/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/StagingOrderTestCase.java
+++ b/server/container/guice/onami/src/test/java/org/apache/james/onami/lifecycle/StagingOrderTestCase.java
@@ -50,7 +50,7 @@ public class StagingOrderTestCase {
         Stageable stageable2 = stageHandler -> order.add(2);
         Stageable stageable3 = stageHandler -> order.add(3);
 
-        DefaultStager<TestAnnotationA> stager = new DefaultStager<TestAnnotationA>(TestAnnotationA.class, stagingOrder);
+        DefaultStager<TestAnnotationA> stager = new DefaultStager<>(TestAnnotationA.class, stagingOrder);
         stager.register(stageable1);
         stager.register(stageable2);
         stager.register(stageable3);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxCopierManagement.java
----------------------------------------------------------------------
diff --git a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxCopierManagement.java b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxCopierManagement.java
index c4e61b3..7be2847 100644
--- a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxCopierManagement.java
+++ b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxCopierManagement.java
@@ -60,7 +60,7 @@ public class MailboxCopierManagement implements MailboxCopierManagementMBean {
      * #getMailboxManagerBeans()
      */
     public Map<String, String> getMailboxManagerBeans() {
-        Map<String, String> bMap = new HashMap<String, String>();
+        Map<String, String> bMap = new HashMap<>();
         Map<String, MailboxManager> beans = resolver.getMailboxManagerBeans();
 
         for (Map.Entry<String, MailboxManager> entry : beans.entrySet()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
----------------------------------------------------------------------
diff --git a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
index 8afca6a..29415cf 100644
--- a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
+++ b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
@@ -101,7 +101,7 @@ public class MailboxManagerManagement extends StandardMBean implements MailboxMa
     @Override
     public List<String> listMailboxes(String username) {
         checkString(username, "Username");
-        List<String> boxes = new ArrayList<String>();
+        List<String> boxes = new ArrayList<>();
         MailboxSession session = null;
         try {
             session = mailboxManager.createSystemSession(username, log);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
index 3ef99be..e809afe 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
@@ -18,6 +18,13 @@
  ****************************************************************/
 package org.apache.james.container.spring.bean.factory.mailrepositorystore;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+
 import org.apache.commons.collections.map.ReferenceMap;
 import org.apache.commons.configuration.CombinedConfiguration;
 import org.apache.commons.configuration.ConfigurationException;
@@ -31,13 +38,6 @@ import org.apache.james.mailrepository.api.MailRepositoryStore;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
 
-import javax.annotation.PostConstruct;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 /**
  * Provides a registry of mail repositories. A mail repository is uniquely
  * identified by its destinationURL, type and model.
@@ -83,8 +83,8 @@ public class MailRepositoryStoreBeanFactory extends AbstractBeanFactory implemen
         getLogger().info("JamesMailStore init...");
 
         repositories = new ReferenceMap();
-        classes = new HashMap<String, String>();
-        defaultConfigs = new HashMap<String, HierarchicalConfiguration>();
+        classes = new HashMap<>();
+        defaultConfigs = new HashMap<>();
         List<HierarchicalConfiguration> registeredClasses = configuration.configurationsAt("mailrepositories.mailrepository");
         for (HierarchicalConfiguration registeredClass : registeredClasses) {
             registerRepository(registeredClass);
@@ -227,7 +227,7 @@ public class MailRepositoryStoreBeanFactory extends AbstractBeanFactory implemen
      * @see org.apache.james.mailrepository.api.MailRepositoryStore#getUrls()
      */
     public synchronized List<String> getUrls() {
-        return new ArrayList<String>(repositories.keySet());
+        return new ArrayList<>(repositories.keySet());
     }
 
     public void setLog(Logger logger) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java
index 65060f8..7ee950a 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java
@@ -39,7 +39,7 @@ public class ConfigurationProviderImpl implements ConfigurationProvider, Resourc
     /**
      * A map of loaded configuration per bean.
      */
-    private final Map<String, HierarchicalConfiguration> configurations = new HashMap<String, HierarchicalConfiguration>();
+    private final Map<String, HierarchicalConfiguration> configurations = new HashMap<>();
 
     /**
      * Mappings for bean names associated with their related

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/LogProviderImpl.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/LogProviderImpl.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/LogProviderImpl.java
index 6a9690d..cdd60dd 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/LogProviderImpl.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/LogProviderImpl.java
@@ -34,7 +34,7 @@ import org.springframework.beans.factory.InitializingBean;
  */
 public class LogProviderImpl implements LogProvider, InitializingBean, LogProviderManagementMBean {
 
-    private final ConcurrentHashMap<String, Logger> logMap = new ConcurrentHashMap<String, Logger>();
+    private final ConcurrentHashMap<String, Logger> logMap = new ConcurrentHashMap<>();
     private Map<String, String> logs;
     private final static String PREFIX = "james.";
 
@@ -93,7 +93,7 @@ public class LogProviderImpl implements LogProvider, InitializingBean, LogProvid
      * @see LogProviderManagementMBean#getLogLevels()
      */
     public Map<String, String> getLogLevels() {
-        TreeMap<String, String> levels = new TreeMap<String, String>();
+        TreeMap<String, String> levels = new TreeMap<>();
         for (String name : logMap.keySet()) {
             String level = getLogLevel(name);
             if (level != null)

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java b/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java
index 24f27d2..a81b09a 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java
@@ -19,6 +19,10 @@
 
 package org.apache.james.container.spring.mailbox;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
@@ -26,10 +30,6 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.quota.MaxQuotaManager;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 public class MaxQuotaConfigurationReader implements Configurable {
 
     private final MaxQuotaManager maxQuotaManager;
@@ -56,7 +56,7 @@ public class MaxQuotaConfigurationReader implements Configurable {
 
     private  Map<String, Long> parseMaxMessageConfiguration(HierarchicalConfiguration config, String entry) {
         List<HierarchicalConfiguration> maxMessageConfiguration = config.configurationAt("maxQuotaManager").configurationsAt(entry);
-        Map<String, Long> result = new HashMap<String, Long>();
+        Map<String, Long> result = new HashMap<>();
         for (HierarchicalConfiguration conf : maxMessageConfiguration) {
             result.put(conf.getString("quotaRoot"), conf.getLong("value"));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/IteratorWrapper.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/IteratorWrapper.java b/server/container/util/src/main/java/org/apache/james/util/IteratorWrapper.java
index 486e796..4dcd8b0 100644
--- a/server/container/util/src/main/java/org/apache/james/util/IteratorWrapper.java
+++ b/server/container/util/src/main/java/org/apache/james/util/IteratorWrapper.java
@@ -34,7 +34,7 @@ public class IteratorWrapper<U> implements Iterator<U> {
     public IteratorWrapper(Iterator<U> underlying) {
         Preconditions.checkNotNull(underlying);
         this.underlying = underlying;
-        this.entriesSeen = new ArrayList<U>();
+        this.entriesSeen = new ArrayList<>();
     }
 
     public List<U> getEntriesSeen() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/RestrictingRMISocketFactory.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/RestrictingRMISocketFactory.java b/server/container/util/src/main/java/org/apache/james/util/RestrictingRMISocketFactory.java
index f0f706d..4dcee20 100644
--- a/server/container/util/src/main/java/org/apache/james/util/RestrictingRMISocketFactory.java
+++ b/server/container/util/src/main/java/org/apache/james/util/RestrictingRMISocketFactory.java
@@ -34,7 +34,7 @@ public class RestrictingRMISocketFactory extends RMISocketFactory {
 
     private final String address;
 
-    private final List<ServerSocket> sockets = new ArrayList<ServerSocket>();
+    private final List<ServerSocket> sockets = new ArrayList<>();
 
     public RestrictingRMISocketFactory(String address) {
         this.address = address;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/TimeConverter.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/TimeConverter.java b/server/container/util/src/main/java/org/apache/james/util/TimeConverter.java
index 162fef5..dbc68fe 100644
--- a/server/container/util/src/main/java/org/apache/james/util/TimeConverter.java
+++ b/server/container/util/src/main/java/org/apache/james/util/TimeConverter.java
@@ -25,7 +25,7 @@ import java.util.regex.Pattern;
 
 public class TimeConverter {
 
-    private static final HashMap<String, Integer> multipliers = new HashMap<String, Integer>(10);
+    private static final HashMap<String, Integer> multipliers = new HashMap<>(10);
 
     private static final String PATTERN_STRING = "\\s*([0-9]+)\\s*([a-z,A-Z]*)\\s*";
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java b/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
index d775a75..4f1f5d6 100644
--- a/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
+++ b/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
@@ -111,12 +111,12 @@ public class BayesianAnalyzer {
     /**
      * Map of ham tokens and their occurrences.
      */
-    private Map<String, Integer> hamTokenCounts = new HashMap<String, Integer>();
+    private Map<String, Integer> hamTokenCounts = new HashMap<>();
 
     /**
      * Map of spam tokens and their occurrences.
      */
-    private Map<String, Integer> spamTokenCounts = new HashMap<String, Integer>();
+    private Map<String, Integer> spamTokenCounts = new HashMap<>();
 
     /**
      * Number of ham messages analyzed.
@@ -131,7 +131,7 @@ public class BayesianAnalyzer {
     /**
      * Final token/probability corpus.
      */
-    private Map<String, Double> corpus = new HashMap<String, Double>();
+    private Map<String, Double> corpus = new HashMap<>();
 
     /**
      * Inner class for managing Token Probability Strengths during the
@@ -295,10 +295,10 @@ public class BayesianAnalyzer {
      */
     public void buildCorpus() {
         // Combine the known ham & spam tokens.
-        Set<String> set = new HashSet<String>(hamTokenCounts.size() + spamTokenCounts.size());
+        Set<String> set = new HashSet<>(hamTokenCounts.size() + spamTokenCounts.size());
         set.addAll(hamTokenCounts.keySet());
         set.addAll(spamTokenCounts.keySet());
-        Map<String, Double> tempCorpus = new HashMap<String, Double>(set.size());
+        Map<String, Double> tempCorpus = new HashMap<>(set.size());
 
         // Iterate through all the tokens and compute their new
         // individual probabilities.
@@ -408,7 +408,7 @@ public class BayesianAnalyzer {
      * @return Set
      */
     private Set<String> parse(Reader stream) throws java.io.IOException {
-        Set<String> tokens = new HashSet<String>();
+        Set<String> tokens = new HashSet<>();
         String token;
         String header = "";
 
@@ -573,7 +573,7 @@ public class BayesianAnalyzer {
      */
     private SortedSet<TokenProbabilityStrength> getTokenProbabilityStrengths(Set<String> tokens, Map<String, Double> workCorpus) {
         // Convert to a SortedSet of token probability strengths.
-        SortedSet<TokenProbabilityStrength> tokenProbabilityStrengths = new TreeSet<TokenProbabilityStrength>();
+        SortedSet<TokenProbabilityStrength> tokenProbabilityStrengths = new TreeSet<>();
 
         for (String token : tokens) {
             TokenProbabilityStrength tps = new TokenProbabilityStrength();
@@ -621,7 +621,7 @@ public class BayesianAnalyzer {
     }
 
     private Collection<String> buildDegenerated(String fullToken) {
-        ArrayList<String> tokens = new ArrayList<String>();
+        ArrayList<String> tokens = new ArrayList<>();
         String header;
         String token;
         String tokenLower;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/bayesian/JDBCBayesianAnalyzer.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/bayesian/JDBCBayesianAnalyzer.java b/server/container/util/src/main/java/org/apache/james/util/bayesian/JDBCBayesianAnalyzer.java
index 0987b73..34530b5 100644
--- a/server/container/util/src/main/java/org/apache/james/util/bayesian/JDBCBayesianAnalyzer.java
+++ b/server/container/util/src/main/java/org/apache/james/util/bayesian/JDBCBayesianAnalyzer.java
@@ -19,21 +19,19 @@
 
 package org.apache.james.util.bayesian;
 
-import org.apache.james.util.sql.JDBCUtil;
-import org.apache.james.util.sql.SqlResources;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
 import java.io.File;
-
 import java.sql.Connection;
+import java.sql.DatabaseMetaData;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.sql.DatabaseMetaData;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.james.util.sql.JDBCUtil;
+import org.apache.james.util.sql.SqlResources;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Manages the persistence of the spam bayesian analysis corpus using a JDBC
@@ -79,7 +77,7 @@ abstract public class JDBCBayesianAnalyzer extends BayesianAnalyzer {
     private String sqlFileName;
 
     /** Holds value of property sqlParameters. */
-    private Map<String, String> sqlParameters = new HashMap<String, String>();
+    private Map<String, String> sqlParameters = new HashMap<>();
 
     /** Holds value of property lastDatabaseUpdateTime. */
     private static long lastDatabaseUpdateTime;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/concurrency/ConcurrentTestRunner.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrency/ConcurrentTestRunner.java b/server/container/util/src/main/java/org/apache/james/util/concurrency/ConcurrentTestRunner.java
index ff50490..134c069 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrency/ConcurrentTestRunner.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrency/ConcurrentTestRunner.java
@@ -86,7 +86,7 @@ public class ConcurrentTestRunner {
         this.countDownLatch = new CountDownLatch(threadCount);
         this.biConsumer = biConsumer;
         this.executorService = Executors.newFixedThreadPool(threadCount);
-        this.futures = new ArrayList<Future<?>>();
+        this.futures = new ArrayList<>();
     }
 
     public ConcurrentTestRunner run() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
index 3c94bf7..2940290 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
@@ -36,7 +36,7 @@ public class JMXEnabledScheduledThreadPoolExecutor extends ScheduledThreadPoolEx
 
     private final String jmxPath;
     private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<Runnable>());
-    private final ThreadLocal<Long> startTime = new ThreadLocal<Long>();
+    private final ThreadLocal<Long> startTime = new ThreadLocal<>();
     private long totalTime;
     private int totalTasks;
     private MBeanServer mbeanServer;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
index b023078..e4110ba 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
@@ -38,7 +38,7 @@ public class JMXEnabledThreadPoolExecutor extends ThreadPoolExecutor implements
 
     private final String jmxPath;
     private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<Runnable>());
-    private final ThreadLocal<Long> startTime = new ThreadLocal<Long>();
+    private final ThreadLocal<Long> startTime = new ThreadLocal<>();
     private long totalTime;
     private int totalTasks;
     private MBeanServer mbeanServer;
@@ -163,7 +163,7 @@ public class JMXEnabledThreadPoolExecutor extends ThreadPoolExecutor implements
      * 
      */
     public static JMXEnabledThreadPoolExecutor newCachedThreadPool(String jmxPath, String name) {
-        return new JMXEnabledThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(), new NamedThreadFactory(name), jmxPath);
+        return new JMXEnabledThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<>(), new NamedThreadFactory(name), jmxPath);
 
     }
 
@@ -176,11 +176,11 @@ public class JMXEnabledThreadPoolExecutor extends ThreadPoolExecutor implements
      * @return pool
      */
     public static JMXEnabledThreadPoolExecutor newCachedThreadPool(String jmxPath, NamedThreadFactory factory) {
-        return new JMXEnabledThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(), factory, jmxPath);
+        return new JMXEnabledThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<>(), factory, jmxPath);
     }
     
     public static JMXEnabledThreadPoolExecutor newFixedThreadPool(String jmxPath, int nThreads, NamedThreadFactory threadFactory) {
-        return new JMXEnabledThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(), threadFactory, jmxPath);
+        return new JMXEnabledThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(), threadFactory, jmxPath);
     }
     
     public static JMXEnabledThreadPoolExecutor newFixedThreadPool(String jmxPath, String name, int nThreads) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
index f006acd..6ea131a 100644
--- a/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
+++ b/server/container/util/src/main/java/org/apache/james/util/scanner/SpamAssassinInvoker.java
@@ -19,21 +19,21 @@
 
 package org.apache.james.util.scanner;
 
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-
-import com.google.common.io.Closeables;
-
-import java.net.Socket;
-import java.net.UnknownHostException;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
+import java.net.Socket;
+import java.net.UnknownHostException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.StringTokenizer;
 
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
+import com.google.common.io.Closeables;
+
 /**
  * Sends the message through daemonized SpamAssassin (spamd), visit <a
  * href="SpamAssassin.org">SpamAssassin.org</a> for info on configuration.
@@ -54,7 +54,7 @@ public class SpamAssassinInvoker {
 
     private String required = "?";
 
-    private final Map<String, String> headers = new HashMap<String, String>();
+    private final Map<String, String> headers = new HashMap<>();
 
     /**
      * Init the spamassassin invoker

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java b/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java
index 7af213e..519b7d8 100644
--- a/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java
+++ b/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java
@@ -19,14 +19,6 @@
 
 package org.apache.james.util.sql;
 
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.NodeList;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
 import java.io.File;
 import java.io.InputStream;
 import java.sql.Connection;
@@ -35,6 +27,15 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.regex.Pattern;
 
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
 /**
  * Provides a set of SQL String resources (eg SQL Strings) to use for a database
  * connection.<br>
@@ -45,10 +46,10 @@ import java.util.regex.Pattern;
  */
 public class SqlResources {
     /** A map of statement types to SQL statements */
-    private final Map<String, String> m_sql = new HashMap<String, String>();
+    private final Map<String, String> m_sql = new HashMap<>();
 
     /** A map of engine specific options */
-    private final Map<String, String> m_dbOptions = new HashMap<String, String>();
+    private final Map<String, String> m_dbOptions = new HashMap<>();
 
     /** A set of all used String values */
     static private final Map<String, String> stringTable = java.util.Collections.synchronizedMap(new HashMap<String, String>());
@@ -170,7 +171,7 @@ public class SqlResources {
 
         // Get parameters defined within the file as defaults,
         // and use supplied parameters as overrides.
-        Map<String, String> parameters = new HashMap<String, String>();
+        Map<String, String> parameters = new HashMap<>();
         // First read from the <params> element, if it exists.
         Element parametersElement = (Element) (sectionElement.getElementsByTagName("parameters").item(0));
         if (parametersElement != null) {
@@ -189,8 +190,8 @@ public class SqlResources {
         // 2 maps - one for storing default statements,
         // the other for statements with a "db" attribute matching this
         // connection.
-        Map<String, String> defaultSqlStatements = new HashMap<String, String>();
-        Map<String, String> dbProductSqlStatements = new HashMap<String, String>();
+        Map<String, String> defaultSqlStatements = new HashMap<>();
+        Map<String, String> dbProductSqlStatements = new HashMap<>();
 
         // Process each sql statement, replacing string parameters,
         // and adding to the appropriate map..

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/test/java/org/apache/james/util/IteratorWrapperTest.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/IteratorWrapperTest.java b/server/container/util/src/test/java/org/apache/james/util/IteratorWrapperTest.java
index 61d7f2d..aa29e92 100644
--- a/server/container/util/src/test/java/org/apache/james/util/IteratorWrapperTest.java
+++ b/server/container/util/src/test/java/org/apache/james/util/IteratorWrapperTest.java
@@ -35,7 +35,7 @@ public class IteratorWrapperTest {
     @Test
     public void getEntriesSeenShouldReturnEmptyWhenNotConsumed() {
         ImmutableList<Integer> originalData = ImmutableList.of(1, 2, 3);
-        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<Integer>(originalData.iterator());
+        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<>(originalData.iterator());
 
         assertThat(integerIteratorWrapper.getEntriesSeen()).isEmpty();
     }
@@ -43,7 +43,7 @@ public class IteratorWrapperTest {
     @Test
     public void getEntriesSeenShouldReturnViewOfConsumedData() {
         ImmutableList<Integer> originalData = ImmutableList.of(1, 2, 3);
-        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<Integer>(originalData.iterator());
+        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<>(originalData.iterator());
 
         consume(integerIteratorWrapper);
 
@@ -54,7 +54,7 @@ public class IteratorWrapperTest {
     @Test
     public void getEntriesSeenShouldReturnViewOfConsumedDataWhenPartiallyConsumed() {
         ImmutableList<Integer> originalData = ImmutableList.of(1, 2, 3);
-        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<Integer>(originalData.iterator());
+        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<>(originalData.iterator());
 
         integerIteratorWrapper.next();
         integerIteratorWrapper.next();
@@ -66,7 +66,7 @@ public class IteratorWrapperTest {
     @Test
     public void getEntriesSeenShouldReturnEmptyWhenSuppliedEmpty() {
         ImmutableList<Integer> originalData = ImmutableList.of();
-        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<Integer>(originalData.iterator());
+        IteratorWrapper<Integer> integerIteratorWrapper = new IteratorWrapper<>(originalData.iterator());
 
         consume(integerIteratorWrapper);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java b/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
index 8934b56..b0d2e0d 100644
--- a/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
+++ b/server/container/util/src/test/java/org/apache/james/util/concurrency/ConcurrentTestRunnerTest.java
@@ -110,7 +110,7 @@ public class ConcurrentTestRunnerTest {
     public void runShouldPerformAllOperations() throws Exception {
         int operationCount = 2;
         int threadCount = 2;
-        final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
+        final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<>();
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
             (threadNumber, step) -> queue.add(threadNumber + ":" + step))
@@ -167,7 +167,7 @@ public class ConcurrentTestRunnerTest {
     public void runShouldPerformAllOperationsEvenOnExceptions() throws Exception {
         int operationCount = 2;
         int threadCount = 2;
-        final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
+        final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<>();
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
             (threadNumber, step) -> {
@@ -184,7 +184,7 @@ public class ConcurrentTestRunnerTest {
     public void runShouldPerformAllOperationsEvenOnOccasionalExceptions() throws Exception {
         int operationCount = 2;
         int threadCount = 2;
-        final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
+        final ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<>();
 
         ConcurrentTestRunner concurrentTestRunner = new ConcurrentTestRunner(threadCount, operationCount,
             (threadNumber, step) -> {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java b/server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java
index fb3fc5a..6dad10b 100644
--- a/server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java
+++ b/server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java
@@ -19,14 +19,17 @@
  */
 package org.apache.james.util.retry;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 import java.util.ArrayList;
 import java.util.List;
+
 import javax.naming.Context;
 
 import org.apache.james.util.retry.api.ExceptionRetryingProxy;
 import org.apache.james.util.retry.api.RetryHandler;
 import org.apache.james.util.retry.api.RetrySchedule;
-import static org.junit.Assert.*;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -133,7 +136,7 @@ public class ExceptionRetryHandlerTest {
      */
     @Test
     public final void testPostFailure() {
-	final List<Exception> results = new ArrayList<Exception>();
+	final List<Exception> results = new ArrayList<>();
 	RetryHandler handler = new ExceptionRetryHandler(
 		_exceptionClasses, _proxy, _schedule, 7) {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
index 634e79e..1d2966e 100644
--- a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
+++ b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
@@ -39,7 +39,7 @@ import org.apache.james.lifecycle.api.Configurable;
 @Singleton
 public class XMLDomainList extends AbstractDomainList implements Configurable {
 
-    private final List<String> domainNames = new ArrayList<String>();
+    private final List<String> domainNames = new ArrayList<>();
     private boolean isConfigured = false;
 
     @Inject
@@ -55,7 +55,7 @@ public class XMLDomainList extends AbstractDomainList implements Configurable {
 
     @Override
     protected List<String> getDomainListInternal() {
-        return new ArrayList<String>(domainNames);
+        return new ArrayList<>(domainNames);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
index d92b20e..1b8a04f 100644
--- a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
@@ -111,11 +111,11 @@ public class FileMailRepository extends AbstractMailRepository {
                 keys = Collections.synchronizedSet(new HashSet<String>());
 
             // Finds non-matching pairs and deletes the extra files
-            HashSet<String> streamKeys = new HashSet<String>();
+            HashSet<String> streamKeys = new HashSet<>();
             for (Iterator<String> i = streamRepository.list(); i.hasNext(); ) {
                 streamKeys.add(i.next());
             }
-            HashSet<String> objectKeys = new HashSet<String>();
+            HashSet<String> objectKeys = new HashSet<>();
             for (Iterator<String> i = objectRepository.list(); i.hasNext(); ) {
                 objectKeys.add(i.next());
             }
@@ -264,10 +264,10 @@ public class FileMailRepository extends AbstractMailRepository {
         final ArrayList<String> clone;
         if (keys != null)
             synchronized (lock) {
-                clone = new ArrayList<String>(keys);
+                clone = new ArrayList<>(keys);
             }
         else {
-            clone = new ArrayList<String>();
+            clone = new ArrayList<>();
             for (Iterator<String> i = objectRepository.list(); i.hasNext(); ) {
                 clone.add(i.next());
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
index a8f2ae3..39f096b 100755
--- a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
@@ -500,7 +500,7 @@ public class MBoxMailRepository implements MailRepository, LogEnabled, Configura
             if (initialCapacity > Integer.MAX_VALUE) {
                 initialCapacity = Integer.MAX_VALUE - 1;
             }
-            this.mList = new Hashtable<String, Long>((int) initialCapacity);
+            this.mList = new Hashtable<>((int) initialCapacity);
             this.parseMboxFile(ins, new MessageAction() {
                 public boolean isComplete() {
                     return false;
@@ -523,7 +523,7 @@ public class MBoxMailRepository implements MailRepository, LogEnabled, Configura
             // System.out.println("Done Load keys!");
         } catch (FileNotFoundException e) {
             getLogger().error("Unable to save(open) file (File not found) " + mboxFile, e);
-            this.mList = new Hashtable<String, Long>((int) DEFAULTMLISTCAPACITY);
+            this.mList = new Hashtable<>((int) DEFAULTMLISTCAPACITY);
         } catch (IOException e) {
             getLogger().error("Unable to write file (General I/O problem) " + mboxFile, e);
         } finally {
@@ -585,7 +585,7 @@ public class MBoxMailRepository implements MailRepository, LogEnabled, Configura
      */
     public Iterator<String> list() {
         loadKeys();
-        ArrayList<String> keys = new ArrayList<String>(mList.keySet());
+        ArrayList<String> keys = new ArrayList<>(mList.keySet());
 
         if (!keys.isEmpty()) {
             // find the first message. This is a trick to make sure that if
@@ -632,7 +632,7 @@ public class MBoxMailRepository implements MailRepository, LogEnabled, Configura
      * @see org.apache.james.mailrepository.api.MailRepository#remove(Mail)
      */
     public void remove(Mail mail) {
-        ArrayList<Mail> remArray = new ArrayList<Mail>();
+        ArrayList<Mail> remArray = new ArrayList<>();
         remArray.add(mail);
         remove(remArray);
     }
@@ -779,7 +779,7 @@ public class MBoxMailRepository implements MailRepository, LogEnabled, Configura
             getLogger().error("Lock failed!", e);
             return; // No lock, so exit
         }
-        ArrayList<Mail> keys = new ArrayList<Mail>();
+        ArrayList<Mail> keys = new ArrayList<>();
         keys.add(retrieve(key));
 
         this.remove(keys);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java b/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
index 29184b0..6132f3f 100644
--- a/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
+++ b/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
@@ -80,7 +80,7 @@ public class XMLRecipientRewriteTable extends AbstractRecipientRewriteTable {
     @Override
     protected Map<String, Mappings> getAllMappingsInternal() throws RecipientRewriteTableException {
         if (mappings != null && mappings.size() > 0) {
-            Map<String, Mappings> mappingsNew = new HashMap<String, Mappings>();
+            Map<String, Mappings> mappingsNew = new HashMap<>();
             for (String key : mappings.keySet()) {
                 mappingsNew.put(key, MappingsImpl.fromRawString(mappings.get(key)));
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
index c6d315e..19274ee 100644
--- a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
@@ -211,7 +211,7 @@ public class SieveFileRepository implements SieveRepository {
 
     public List<ScriptSummary> listScripts(String user) throws StorageException {
         File[] files = getUserDirectory(user).listFiles();
-        List<ScriptSummary> summaries = new ArrayList<ScriptSummary>(files.length);
+        List<ScriptSummary> summaries = new ArrayList<>(files.length);
         File activeFile = null;
         try {
             activeFile = getActiveFile(user);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java b/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
index 448579b..1940e3b 100644
--- a/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
@@ -80,7 +80,7 @@ public class XMLDomainListTest {
     // See https://issues.apache.org/jira/browse/JAMES-998
     @Test
     public void testNoConfiguredDomains() throws Exception {
-        List<String> domains = new ArrayList<String>();
+        List<String> domains = new ArrayList<>();
         XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"));
         dom.setLog(LoggerFactory.getLogger("MockLog"));
         dom.configure(setUpConfiguration(false, false, domains));
@@ -90,7 +90,7 @@ public class XMLDomainListTest {
 
     @Test
     public void testGetDomains() throws Exception {
-        List<String> domains = new ArrayList<String>();
+        List<String> domains = new ArrayList<>();
         domains.add("domain1.");
         domains.add("domain2.");
 
@@ -103,7 +103,7 @@ public class XMLDomainListTest {
 
     @Test
     public void testGetDomainsAutoDetectNotLocalHost() throws Exception {
-        List<String> domains = new ArrayList<String>();
+        List<String> domains = new ArrayList<>();
         domains.add("domain1.");
 
         XMLDomainList dom = new XMLDomainList(setUpDNSServer("local"));
@@ -115,7 +115,7 @@ public class XMLDomainListTest {
 
     @Test
     public void testGetDomainsAutoDetectLocalHost() throws Exception {
-        List<String> domains = new ArrayList<String>();
+        List<String> domains = new ArrayList<>();
         domains.add("domain1.");
 
         XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"));
@@ -130,7 +130,7 @@ public class XMLDomainListTest {
     public void addDomainShouldFailWhenAlreadyConfigured() throws Exception {
         expectedException.expect(DomainListException.class);
 
-        List<String> domains = new ArrayList<String>();
+        List<String> domains = new ArrayList<>();
         domains.add("domain1");
 
         XMLDomainList testee = new XMLDomainList(setUpDNSServer("hostname"));
@@ -144,7 +144,7 @@ public class XMLDomainListTest {
     public void removeDomainShouldFailWhenAlreadyConfigured() throws Exception {
         expectedException.expect(DomainListException.class);
 
-        List<String> domains = new ArrayList<String>();
+        List<String> domains = new ArrayList<>();
         domains.add("domain1");
 
         XMLDomainList testee = new XMLDomainList(setUpDNSServer("localhost"));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
index e0d71d4..4d3aba6 100644
--- a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
@@ -128,7 +128,7 @@ public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableT
     }
 
     private void removeMappingsFromConfig(String user, String domain, Mappings mappings) {
-        List<String> stored = new ArrayList<String>();
+        List<String> stored = new ArrayList<>();
         for (String c : defaultConfiguration.getStringArray("mapping")) {
             String mapping = user + "@" + domain + "=" + mappings.serialize();
             if (!c.equalsIgnoreCase(mapping)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
index c09dd6d..e1289b8 100644
--- a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
+++ b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java
@@ -141,7 +141,7 @@ public class HBaseDomainList extends AbstractDomainList {
      */
     @Override
     protected List<String> getDomainListInternal() throws DomainListException {
-        List<String> list = new ArrayList<String>();
+        List<String> list = new ArrayList<>();
         HTableInterface table = null;
         ResultScanner resultScanner = null;
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java b/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
index 008b8f9..387af04 100644
--- a/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
+++ b/server/data/data-hbase/src/main/java/org/apache/james/rrt/hbase/HBaseRecipientRewriteTable.java
@@ -130,7 +130,7 @@ public class HBaseRecipientRewriteTable extends AbstractRecipientRewriteTable {
                     for (KeyValue keyValue : keyValues) {
                         String email = Bytes.toString(keyValue.getRow());
                         if (map == null) {
-                            map = new HashMap<String, Mappings>();
+                            map = new HashMap<>();
                         }
                         Mappings mappings = 
                                 MappingsImpl.from(

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java b/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
index b93b0e8..ac6f888 100644
--- a/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
+++ b/server/data/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
@@ -186,7 +186,7 @@ public class HBaseUsersRepository extends AbstractUsersRepository {
      */
     @Override
     public Iterator<String> list() throws UsersRepositoryException {
-        List<String> list = new ArrayList<String>();
+        List<String> list = new ArrayList<>();
         HTableInterface table = null;
         ResultScanner resultScanner = null;
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
index ed25df5..dae56e9 100644
--- a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
+++ b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
@@ -119,7 +119,7 @@ public class JCRMailRepository extends AbstractMailRepository implements MailRep
         try {
             Session session = login();
             try {
-                Collection<String> keys = new ArrayList<String>();
+                Collection<String> keys = new ArrayList<>();
                 QueryManager manager = session.getWorkspace().getQueryManager();
                 @SuppressWarnings("deprecation")
                 Query query = manager.createQuery("/jcr:root/" + MAIL_PATH + "//element(*,james:mail)", Query.XPATH);
@@ -435,7 +435,7 @@ public class JCRMailRepository extends AbstractMailRepository implements MailRep
     private Collection<MailAddress> getRecipients(Node node) throws MessagingException, RepositoryException {
         try {
             Value[] values = node.getProperty("james:recipients").getValues();
-            Collection<MailAddress> recipients = new ArrayList<MailAddress>(values.length);
+            Collection<MailAddress> recipients = new ArrayList<>(values.length);
             for (Value value : values) {
                 recipients.add(new MailAddress(value.getString()));
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java b/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java
index 665c02b..e45df56 100644
--- a/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java
+++ b/server/data/data-jcr/src/main/java/org/apache/james/user/jcr/JCRUsersRepository.java
@@ -328,7 +328,7 @@ public class JCRUsersRepository extends AbstractUsersRepository {
      * @throws UsersRepositoryException
      */
     public Iterator<String> list() throws UsersRepositoryException {
-        final Collection<String> userNames = new ArrayList<String>();
+        final Collection<String> userNames = new ArrayList<>();
         try {
             final Session session = login();
             try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
index eea1d57..20065b1 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
@@ -172,7 +172,7 @@ public class JDBCMailRepository extends AbstractMailRepository {
         // Parse the DestinationURL for the name of the datasource,
         // the table to use, and the (optional) repository Key.
         // Split on "/", starting after "db://"
-        List<String> urlParams = new ArrayList<String>();
+        List<String> urlParams = new ArrayList<>();
         int start = 5;
         if (destination.startsWith("dbfile")) {
             // this is dbfile:// instead of db://
@@ -295,7 +295,7 @@ public class JDBCMailRepository extends AbstractMailRepository {
             }
 
             // Build the statement parameters
-            Map<String, String> sqlParameters = new HashMap<String, String>();
+            Map<String, String> sqlParameters = new HashMap<>();
             if (tableName != null) {
                 sqlParameters.put("table", tableName);
             }
@@ -493,7 +493,7 @@ public class JDBCMailRepository extends AbstractMailRepository {
                             if (mc instanceof MailImpl) {
                                 oos.writeObject(((MailImpl) mc).getAttributesRaw());
                             } else {
-                                HashMap<String, Serializable> temp = new HashMap<String, Serializable>();
+                                HashMap<String, Serializable> temp = new HashMap<>();
                                 for (Iterator<String> i = mc.getAttributeNames(); i.hasNext();) {
                                     String hashKey = i.next();
                                     temp.put(hashKey, mc.getAttribute(hashKey));
@@ -575,7 +575,7 @@ public class JDBCMailRepository extends AbstractMailRepository {
                             if (mc instanceof MailImpl) {
                                 oos.writeObject(((MailImpl) mc).getAttributesRaw());
                             } else {
-                                HashMap<String, Serializable> temp = new HashMap<String, Serializable>();
+                                HashMap<String, Serializable> temp = new HashMap<>();
                                 for (Iterator<String> i = mc.getAttributeNames(); i.hasNext();) {
                                     String hashKey = i.next();
                                     temp.put(hashKey, mc.getAttribute(hashKey));
@@ -706,7 +706,7 @@ public class JDBCMailRepository extends AbstractMailRepository {
                 mc.setSender(new MailAddress(sender));
             }
             StringTokenizer st = new StringTokenizer(rsMessage.getString(4), "\r\n", false);
-            Set<MailAddress> recipients = new HashSet<MailAddress>();
+            Set<MailAddress> recipients = new HashSet<>();
             while (st.hasMoreTokens()) {
                 recipients.add(new MailAddress(st.nextToken()));
             }
@@ -771,7 +771,7 @@ public class JDBCMailRepository extends AbstractMailRepository {
             listMessages.setString(1, repositoryName);
             rsListMessages = listMessages.executeQuery();
 
-            List<String> messageList = new ArrayList<String>();
+            List<String> messageList = new ArrayList<>();
             while (rsListMessages.next() && !Thread.currentThread().isInterrupted()) {
                 messageList.add(rsListMessages.getString(1));
             }


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


[03/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Convert to lambas"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
index 4edf95b..0b45833 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTableProcessor.java
@@ -50,67 +50,19 @@ public class RecipientRewriteTableProcessor {
     private final DomainList domainList;
     private final MailetContext mailetContext;
 
-    private static final Predicate<RrtExecutionResult> recipientWithError = new Predicate<RrtExecutionResult>() {
-        @Override
-        public boolean apply(RrtExecutionResult mappingData) {
-            return mappingData.isError();
-        }
-    };
-
-    private static final Predicate<RrtExecutionResult> recipientWithoutError = new Predicate<RrtExecutionResult>() {
-        @Override
-        public boolean apply(RrtExecutionResult mappingData) {
-            return !mappingData.isError();
-        }
-    };
-
-    private static final Predicate<Mapping> noneDomain = new Predicate<Mapping>() {
-        @Override
-        public boolean apply(Mapping address) {
-            return !address.hasDomain();
-        }
-    };
-
-    private static final Predicate<Mapping> haveDomain = new Predicate<Mapping>() {
-        @Override
-        public boolean apply(Mapping address) {
-            return address.hasDomain();
-        }
-    };
-
-    private static final Function<RrtExecutionResult, List<MailAddress>> mailAddressesFromMappingData = new Function<RecipientRewriteTableProcessor.RrtExecutionResult, List<MailAddress>>() {
-        @Override
-        public List<MailAddress> apply(RrtExecutionResult mappingData) {
-            return mappingData.getNewRecipients()
-                .or(mappingData.getRecipientWithError()
-                    .or(ImmutableList.<MailAddress>of()));
-        }
-    };
-
-    private static final Function<Optional<MailAddress>, MailAddress> mailAddressFromOptional = new Function<Optional<MailAddress>, MailAddress>() {
-        @Override
-        public MailAddress apply(Optional<MailAddress> mailAddress) {
-            return mailAddress.get();
-        }
-    };
+    private static final Function<RrtExecutionResult, List<MailAddress>> mailAddressesFromMappingData =
+        mappingData -> mappingData.getNewRecipients()
+            .or(mappingData.getRecipientWithError()
+                .or(ImmutableList.of()));
 
-    private static final Predicate<Optional<MailAddress>> mailAddressPresent = new Predicate<Optional<MailAddress>>() {
-        @Override
-        public boolean apply(Optional<MailAddress> mailAddress) {
-            return mailAddress.isPresent();
-        }
-    };
-
-    private static final Function<Mapping, Optional<MailAddress>> mailAddressFromMapping = new Function<Mapping, Optional<MailAddress>>() {
-        @Override
-        public Optional<MailAddress> apply(Mapping addressMapping) {
+    private static final Function<Mapping, Optional<MailAddress>> mailAddressFromMapping =
+        addressMapping -> {
             try {
                 return Optional.of(new MailAddress(addressMapping.asString()));
             } catch (AddressException e) {
                 return Optional.absent();
             }
-        }
-    };
+        };
 
     public RecipientRewriteTableProcessor(RecipientRewriteTable virtualTableStore, DomainList domainList, MailetContext mailetContext) {
         this.virtualTableStore = virtualTableStore;
@@ -121,9 +73,9 @@ public class RecipientRewriteTableProcessor {
     public void processMail(Mail mail) throws MessagingException{
         ImmutableList<RrtExecutionResult> mappingDatas = toMappingDatas(mail);
 
-        ImmutableList<MailAddress> newRecipients = getRecipientsByCondition(mappingDatas, recipientWithoutError);
+        ImmutableList<MailAddress> newRecipients = getRecipientsByCondition(mappingDatas, mappingData -> !mappingData.isError());
 
-        ImmutableList<MailAddress> errorMailAddresses = getRecipientsByCondition(mappingDatas, recipientWithError);
+        ImmutableList<MailAddress> errorMailAddresses = getRecipientsByCondition(mappingDatas, RrtExecutionResult::isError);
 
         if (!errorMailAddresses.isEmpty()) {
             mailetContext.sendMail(mail.getSender(), errorMailAddresses, mail.getMessage(), Mail.ERROR);
@@ -144,14 +96,10 @@ public class RecipientRewriteTableProcessor {
     }
 
     private ImmutableList<RrtExecutionResult> toMappingDatas(final Mail mail) {
-        Function<MailAddress, RrtExecutionResult> convertToMappingData = new Function<MailAddress, RrtExecutionResult>() {
-            @Override
-            public RrtExecutionResult apply(MailAddress recipient) {
-                Preconditions.checkNotNull(recipient);
-
-                return getRrtExecutionResult(mail, recipient);
-            }
+        Function<MailAddress, RrtExecutionResult> convertToMappingData = recipient -> {
+            Preconditions.checkNotNull(recipient);
 
+            return getRrtExecutionResult(mail, recipient);
         };
 
         return FluentIterable.from(mail.getRecipients())
@@ -197,70 +145,43 @@ public class RecipientRewriteTableProcessor {
     private ImmutableList<Mapping> convertToNewMappings(final Mappings mappings,
             ImmutableList<Mapping> addressWithoutDomains) {
         return FluentIterable.from(mappings)
-            .filter(haveDomain)
+            .filter(Mapping::hasDomain)
             .append(addressWithoutDomains)
             .toList();
     }
 
     private ImmutableList<MailAddress> getLocalAddresses(ImmutableList<MailAddress> mailAddresses) {
         return FluentIterable.from(mailAddresses)
-            .filter(isLocalServer())
+            .filter(mailAddress -> mailetContext.isLocalServer(mailAddress.getDomain()))
             .toList();
     }
 
     private ImmutableList<MailAddress> buildMailAddressFromMappingAddress(ImmutableList<Mapping> newMappings) {
         return FluentIterable.from(newMappings)
             .transform(mailAddressFromMapping)
-            .filter(mailAddressPresent)
-            .transform(mailAddressFromOptional)
+            .filter(Optional::isPresent)
+            .transform(Optional::get)
             .toList();
     }
 
     private ImmutableList<Mapping> getAddressWithNoDomain(Mappings mappings, DomainList domainList) throws MessagingException {
         ImmutableList<Mapping> addressWithoutDomains = FluentIterable.from(mappings)
-            .filter(noneDomain)
+            .filter(address -> !address.hasDomain())
             .toList();
         
         if (!addressWithoutDomains.isEmpty()) {
             final String defaultDomain = getDefaultDomain(domainList);
 
             return FluentIterable.from(addressWithoutDomains)
-                .transform(appendDefaultDomain(defaultDomain))
+                .transform(address -> address.appendDomain(defaultDomain))
                 .toList();
         }
         return ImmutableList.of();
     }
 
-    private Function<Mapping, Mapping> appendDefaultDomain(final String defaultDomain) {
-        return new Function<Mapping, Mapping>() {
-            @Override
-            public Mapping apply(Mapping address) {
-                return address.appendDomain(defaultDomain);
-            }
-        };
-    }
-
-    private Predicate<MailAddress> isLocalServer() {
-        return new Predicate<MailAddress>() {
-            @Override
-            public boolean apply(MailAddress mailAddress) {
-                return mailetContext.isLocalServer(mailAddress.getDomain());
-            }
-        };
-    }
-
-    private Predicate<MailAddress> isNotLocalServer() {
-        return new Predicate<MailAddress>() {
-            @Override
-            public boolean apply(MailAddress mailAddress) {
-                return !mailetContext.isLocalServer(mailAddress.getDomain());
-            }
-        };
-    }
-
     private void forwardToRemoteAddress(MailAddress sender, MailAddress recipient, MimeMessage message, ImmutableList<MailAddress> mailAddresses) throws MessagingException {
         ImmutableList<MailAddress> remoteAddress = FluentIterable.from(mailAddresses)
-            .filter(isNotLocalServer())
+            .filter(mailAddress -> !mailetContext.isLocalServer(mailAddress.getDomain()))
             .toList();
 
         if (!remoteAddress.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java
index 9964780..f22b6ab 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java
@@ -23,9 +23,7 @@ import javax.mail.MessagingException;
 import org.apache.jsieve.mail.Action;
 import org.apache.jsieve.mail.ActionDiscard;
 import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
 
-import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
 
 public class DiscardAction extends FileIntoAction implements MailAction {
@@ -39,16 +37,7 @@ public class DiscardAction extends FileIntoAction implements MailAction {
 
     public static void removeRecipient(Mail mail, ActionContext context) {
         mail.setRecipients(FluentIterable.from(mail.getRecipients())
-            .filter(isNot(context.getRecipient()))
+            .filter(mailAddress -> !mailAddress.equals(context.getRecipient()))
             .toList());
     }
-
-    private static Predicate<MailAddress> isNot(final MailAddress recipient) {
-        return new Predicate<MailAddress>() {
-            @Override
-            public boolean apply(MailAddress input) {
-                return !input.equals(recipient);
-            }
-        };
-    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
index b046341..749504b 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java
@@ -18,8 +18,20 @@
  ****************************************************************/
 package org.apache.james.transport.mailets.jsieve;
 
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.mail.Header;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.james.mime4j.dom.address.AddressList;
@@ -42,18 +54,7 @@ import org.apache.mailet.MailAddress;
 import org.apache.mailet.MailetContext;
 import org.joda.time.DateTime;
 
-import javax.mail.Header;
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import com.google.common.collect.Lists;
 /**
  * <p>
  * Class <code>SieveMailAdapter</code> implements a <code>MailAdapter</code>
@@ -455,11 +456,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
                 .contentTypes(Lists.newArrayList("text/plain"))
                 .includeHeaders(false)
                 .caseInsensitive(false)
-                .searchContents(Lists.transform(phrasesCaseInsensitive, new Function<String, CharSequence>() {
-                    public CharSequence apply(String s) {
-                        return s;
-                    }
-                })).build()
+                .searchContents(Lists.transform(phrasesCaseInsensitive, s -> s)).build()
                 .messageMatches(getMail().getMessage().getInputStream());
         } catch (Exception e) {
             throw new SieveMailException("Error searching in the mail content", e);
@@ -472,11 +469,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
                 .includeHeaders(false)
                 .caseInsensitive(false)
                 .ignoringMime(true)
-                .searchContents(Lists.transform(phrasesCaseInsensitive, new Function<String, CharSequence>() {
-                    public CharSequence apply(String s) {
-                        return s;
-                    }
-                })).build()
+                .searchContents(Lists.transform(phrasesCaseInsensitive, s -> s)).build()
                 .messageMatches(getMail().getMessage().getInputStream());
         } catch (Exception e) {
             throw new SieveMailException("Error searching in the mail content", e);
@@ -489,11 +482,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC
                 .contentTypes(contentTypes)
                 .includeHeaders(false)
                 .caseInsensitive(false)
-                .searchContents(Lists.transform(phrasesCaseInsensitive, new Function<String, CharSequence>() {
-                    public CharSequence apply(String s) {
-                        return s;
-                    }
-                })).build()
+                .searchContents(Lists.transform(phrasesCaseInsensitive, s -> s)).build()
                 .messageMatches(getMail().getMessage().getInputStream());
         } catch (Exception e) {
             throw new SieveMailException("Error searching in the mail content", e);

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
index 6819364..f83126c 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java
@@ -31,7 +31,6 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.joda.time.Days;
 
-import com.google.common.base.Function;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
@@ -68,11 +67,7 @@ public class VacationAction implements MailAction {
     private boolean isValidForReply(final Mail mail, ActionVacation actionVacation, final ActionContext context) {
         Set<MailAddress> currentMailAddresses = ImmutableSet.copyOf(mail.getRecipients());
         Set<MailAddress> allowedMailAddresses = ImmutableSet.<MailAddress>builder().addAll(
-            Lists.transform(actionVacation.getAddresses(), new Function<String, MailAddress>() {
-                public MailAddress apply(String s) {
-                    return retrieveAddressFromString(s, context);
-                }
-            }))
+            Lists.transform(actionVacation.getAddresses(), s -> retrieveAddressFromString(s, context)))
             .add(context.getRecipient())
             .build();
         return !Sets.intersection(currentMailAddresses, allowedMailAddresses).isEmpty();

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java
index 6511924..12cc1f7 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java
@@ -19,12 +19,8 @@
 
 package org.apache.james.transport.mailets.jsieve;
 
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import java.io.IOException;
+import java.util.List;
 
 import javax.activation.DataHandler;
 import javax.mail.MessagingException;
@@ -34,8 +30,13 @@ import javax.mail.internet.MimeBodyPart;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
 import javax.mail.util.ByteArrayDataSource;
-import java.io.IOException;
-import java.util.List;
+
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
 
 public class VacationReply {
 
@@ -124,11 +125,9 @@ public class VacationReply {
         }
 
         private MailAddress retrieveOriginalSender() throws AddressException {
-            return Optional.fromNullable(from).transform(new Function<String, MailAddress>() {
-                public MailAddress apply(String address) {
-                    return retrieveAddressFromString(address, context);
-                }
-            }).or(context.getRecipient());
+            return Optional.fromNullable(from)
+                .transform(address -> retrieveAddressFromString(address, context))
+                .or(context.getRecipient());
         }
 
         private MailAddress retrieveAddressFromString(String address, ActionContext context) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
index 1f308bb..3390a8d 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java
@@ -28,9 +28,7 @@ import javax.mail.internet.AddressException;
 import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
 
@@ -40,27 +38,20 @@ public class AddressesArrayToMailAddressListConverter {
         if (addresses == null) {
             return ImmutableList.of();
         }
-        return FluentIterable.from(Arrays.asList(addresses)).transform(new Function<Address, Optional<MailAddress>>() {
-            @Override
-            public Optional<MailAddress> apply(Address input) {
-                try {
-                    return Optional.of(new MailAddress(input.toString()));
-                } catch (AddressException e) {
-                    logger.debug("Can't parse unsent address " + input, e);
-                    return Optional.absent();
-                }
-            }
-        }).filter(new Predicate<Optional<MailAddress>>() {
-            @Override
-            public boolean apply(Optional<MailAddress> input) {
-                return input.isPresent();
-            }
-        }).transform(new Function<Optional<MailAddress>, MailAddress>() {
-            @Override
-            public MailAddress apply(Optional<MailAddress> input) {
-                return input.get();
-            }
-        }).toList();
+        return FluentIterable.from(Arrays.asList(addresses))
+            .transform(address -> toMailAddress(logger, address))
+            .filter(Optional::isPresent)
+            .transform(Optional::get)
+            .toList();
+    }
+
+    private static Optional<MailAddress> toMailAddress(Logger logger, Address address) {
+        try {
+            return Optional.of(new MailAddress(address.toString()));
+        } catch (AddressException e) {
+            logger.debug("Can't parse unsent address " + address, e);
+            return Optional.absent();
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
index 150d089..7bab048 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java
@@ -39,12 +39,7 @@ import com.google.common.base.Supplier;
 
 public class DeliveryRunnable implements Runnable {
 
-    public static final Supplier<Date> CURRENT_DATE_SUPPLIER = new Supplier<Date>() {
-        @Override
-        public Date get() {
-            return new Date();
-        }
-    };
+    public static final Supplier<Date> CURRENT_DATE_SUPPLIER = Date::new;
     public static final AtomicBoolean DEFAULT_NOT_STARTED = new AtomicBoolean(false);
     private static final String OUTGOING_MAILS = "outgoingMails";
     public static final String REMOTE_DELIVERY_TRIAL = "RemoteDeliveryTrial";

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java
index 61a7152..180a0bf 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java
@@ -70,12 +70,7 @@ public class EnhancedMessagingException {
     }
 
     private Function<String, Boolean> startWith5() {
-        return new Function<String, Boolean>() {
-            @Override
-            public Boolean apply(String input) {
-                return input.startsWith("5");
-            }
-        };
+        return message -> message.startsWith("5");
     }
 
     private Optional<Integer> computeReturnCode() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java
index 52bd2a6..4e05b1d 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java
@@ -25,7 +25,6 @@ import javax.mail.internet.InternetAddress;
 
 import org.apache.mailet.MailAddress;
 
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.FluentIterable;
 
@@ -33,12 +32,9 @@ public class InternetAddressConverter {
 
     public static InternetAddress[] convert(Collection<MailAddress> recipients) {
         Preconditions.checkNotNull(recipients);
-        return FluentIterable.from(recipients).transform(new Function<MailAddress, InternetAddress>() {
-            @Override
-            public InternetAddress apply(MailAddress input) {
-                return input.toInternetAddress();
-            }
-        }).toArray(InternetAddress.class);
+        return FluentIterable.from(recipients)
+            .transform(MailAddress::toInternetAddress)
+            .toArray(InternetAddress.class);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java
index 89e1d4a..ca80c44 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java
@@ -26,7 +26,6 @@ import javax.mail.internet.InternetAddress;
 import org.apache.james.transport.mailets.redirect.SpecialAddress;
 import org.apache.mailet.MailAddress;
 
-import com.google.common.base.Function;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
 
@@ -56,13 +55,7 @@ public class MailAddressUtils {
 
     private static FluentIterable<InternetAddress> iterableOfInternetAddress(List<MailAddress> mailAddresses) {
         return FluentIterable.from(mailAddresses)
-            .transform(new Function<MailAddress, InternetAddress>() {
-
-                @Override
-                public InternetAddress apply(MailAddress mailAddress) {
-                    return mailAddress.toInternetAddress();
-                }
-            });
+            .transform(MailAddress::toInternetAddress);
     }
 
     public static boolean isUnalteredOrReversePathOrSender(MailAddress mailAddress) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java
index 09554e1..e056ef1 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java
@@ -51,12 +51,7 @@ public class DeliveryRunnableTest {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(DeliveryRunnableTest.class);
     public static final Date FIXED_DATE = new Date(1159599194961L);
-    public static final Supplier<Date> FIXED_DATE_SUPPLIER = new Supplier<Date>() {
-        @Override
-        public Date get() {
-            return FIXED_DATE;
-        }
-    };
+    public static final Supplier<Date> FIXED_DATE_SUPPLIER = () -> FIXED_DATE;
 
     @Rule
     public ExpectedException expectedException = ExpectedException.none();

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java
index 5c6abf7..54b0ee0 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java
@@ -36,8 +36,6 @@ import org.apache.mailet.base.test.FakeMailetConfig;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 public class RemoteDeliveryRunningTest {
 
@@ -59,13 +57,10 @@ public class RemoteDeliveryRunningTest {
 
     @Test
     public void remoteDeliveryShouldStart() throws Exception {
-        when(mailQueue.deQueue()).thenAnswer(new Answer<MailQueue.MailQueueItem>() {
-            @Override
-            public MailQueue.MailQueueItem answer(InvocationOnMock invocation) throws Throwable {
-                countDownLatch.countDown();
-                Thread.sleep(TimeUnit.SECONDS.toMillis(20));
-                return null;
-            }
+        when(mailQueue.deQueue()).thenAnswer(invocation -> {
+            countDownLatch.countDown();
+            Thread.sleep(TimeUnit.SECONDS.toMillis(20));
+            return null;
         });
         remoteDelivery.init(FakeMailetConfig.builder()
             .setProperty(RemoteDeliveryConfiguration.DELIVERY_THREADS, "1")

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
index 9f7ab70..d19bb2f 100644
--- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
+++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java
@@ -69,7 +69,7 @@ public class CassandraStepdefs {
 
     @After
     public void tearDown() {
-        ignoreFailures(() -> mainStepdefs.tearDown(),
+        ignoreFailures(mainStepdefs::tearDown,
                 () -> embeddedElasticSearch.after(),
                 () -> temporaryFolder.delete());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
index 97dbc64..1024bec 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
@@ -159,7 +159,7 @@ public class GetMessagesMethodStepdefs {
 
     private String serialize(Optional<Map<String,String>> headers) {
         return headers
-                .map(map -> map.entrySet())
+                .map(Map::entrySet)
                 .map(entriesToString())
                 .orElse("");
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java
index 9f4f609..2e155df 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java
@@ -69,7 +69,7 @@ public class JWTAuthenticationStrategy implements AuthenticationStrategy {
 
         return mailboxSessionStream
                 .findFirst()
-                .orElseThrow(() -> new NoValidAuthHeaderException());
+                .orElseThrow(NoValidAuthHeaderException::new);
     }
 
     private Stream<String> extractTokensFromAuthHeaders(Stream<String> authHeaders) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java
index 498ba91..6101834 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java
@@ -59,7 +59,7 @@ public class QueryParameterAccessTokenAuthenticationStrategy implements Authenti
             .filter(tokenManager::isValid)
             .map(AttachmentAccessToken::getUsername)
             .map(this::createSystemSession)
-            .orElseThrow(() -> new UnauthorizedException());
+            .orElseThrow(UnauthorizedException::new);
     }
 
     private MailboxSession createSystemSession(String username) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java
index 2aba067..2ec52b3 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java
@@ -21,6 +21,7 @@ package org.apache.james.jmap.mailet;
 
 import java.time.ZonedDateTime;
 import java.util.concurrent.CompletableFuture;
+import java.util.function.Function;
 
 import javax.inject.Inject;
 import javax.mail.MessagingException;
@@ -40,8 +41,6 @@ import org.apache.mailet.base.GenericMailet;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Functions;
-
 public class VacationMailet extends GenericMailet {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(VacationMailet.class);
@@ -88,7 +87,7 @@ public class VacationMailet extends GenericMailet {
                     RecipientId.fromMailAddress(processedMail.getSender())),
                 (vacation, alreadySent) ->
                     sendNotificationIfRequired(recipient, processedMail, processingDate, vacation, alreadySent))
-            .thenCompose(f -> f);
+            .thenCompose(Function.identity());
     }
 
     private CompletableFuture<Void> sendNotificationIfRequired(MailAddress recipient, Mail processedMail, ZonedDateTime processingDate, Vacation vacation, Boolean alreadySent) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
index 5f595c4..b88f282 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
@@ -77,7 +77,7 @@ public class SetMailboxesCreationProcessor implements SetMailboxesProcessor {
         this.metricFactory = metricFactory;
         this.sortingHierarchicalCollections =
             new SortingHierarchicalCollections<>(
-                x -> x.getKey(),
+                Map.Entry::getKey,
                 x -> x.getValue().getParentId());
         this.mailboxFactory = mailboxFactory;
         this.mailboxIdFactory = mailboxIdFactory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
index 434e19e..34bd029 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
@@ -249,7 +249,7 @@ public class SetMessagesCreationProcessor implements SetMessagesProcessor {
     
     private boolean isAppendToMailboxWithRole(Role role, CreationMessage entry, MailboxSession mailboxSession) throws MailboxException {
         return getMailboxWithRole(mailboxSession, role)
-                .map(box -> entry.isIn(box))
+                .map(entry::isIn)
                 .orElse(false);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
index 53d58d4..c303359 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java
@@ -132,7 +132,7 @@ public class SetMessagesUpdateProcessor implements SetMessagesProcessor {
         if (serializedMailboxIds.isPresent()) {
             List<MailboxId> mailboxIds = serializedMailboxIds.get()
                 .stream()
-                .map(mailboxId -> mailboxIdFactory.fromString(mailboxId))
+                .map(mailboxIdFactory::fromString)
                 .collect(Guavate.toImmutableList());
 
             messageIdManager.setInMailboxes(messageId, mailboxIds, mailboxSession);

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java
index d3f095b..f53fe5f 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java
@@ -71,7 +71,7 @@ public class MessageProperties {
     }
 
     private ImmutableSet<MessageProperty> buildOutputMessageProperties() {
-        return this.messageProperties.orElseGet(() -> MessageProperty.allOutputProperties());
+        return this.messageProperties.orElseGet(MessageProperty::allOutputProperties);
     }
 
     private MessageProperties usingProperties(Sets.SetView<MessageProperty> properties) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
index 7a36140..cc10186 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
@@ -67,6 +67,7 @@ import org.apache.james.mailbox.model.ComposedMessageId;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.metrics.api.NoopMetricFactory;
+import org.apache.james.util.OptionalConverter;
 import org.apache.james.util.mime.MessageContentExtractor;
 import org.apache.mailet.Mail;
 import org.junit.Before;
@@ -304,9 +305,9 @@ public class SetMessagesCreationProcessorTest {
         @Override
         public Stream<MessageManager> getMailboxByRole(Role aRole, MailboxSession session) {
             if (aRole.equals(Role.OUTBOX)) {
-                return outboxSupplier.get().map(o -> Stream.of(o)).orElse(Stream.empty());
+                return OptionalConverter.toStream(outboxSupplier.get());
             } else if (aRole.equals(Role.DRAFTS)) {
-                return draftsSupplier.get().map(d -> Stream.of(d)).orElse(Stream.empty());
+                return OptionalConverter.toStream(draftsSupplier.get());
             }
             return Stream.empty();
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
index f7646bb..4862137 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java
@@ -61,7 +61,7 @@ public class FilterOperatorTest {
 
     @Test
     public void andFactoryMethodShouldThrowWhenNoArgument() {
-        assertThatThrownBy(() -> FilterOperator.and()).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(FilterOperator::and).isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
@@ -74,7 +74,7 @@ public class FilterOperatorTest {
 
     @Test
     public void orFactoryMethodShouldThrowWhenNoArgument() {
-        assertThatThrownBy(() -> FilterOperator.or()).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(FilterOperator::or).isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test
@@ -87,7 +87,7 @@ public class FilterOperatorTest {
 
     @Test
     public void notFactoryMethodShouldThrowWhenNoArgument() {
-        assertThatThrownBy(() -> FilterOperator.not()).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(FilterOperator::not).isInstanceOf(IllegalArgumentException.class);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
index aa95a73..d6edfbd 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
@@ -28,7 +28,6 @@ import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.queue.api.MailQueue;
 import org.apache.james.queue.api.MailQueue.MailQueueException;
 import org.apache.james.queue.api.MailQueue.MailQueueItem;
-import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.mailet.Mail;
 import org.apache.mailet.base.test.FakeMail;
 import org.junit.Before;
@@ -43,13 +42,7 @@ public class MailSpoolTest {
     public void setup() {
         myQueue = new MyQueue();
 
-        mailSpool = new MailSpool(new MailQueueFactory() {
-
-            @Override
-            public MailQueue getQueue(String name) {
-                return myQueue;
-            }
-        });
+        mailSpool = new MailSpool(name -> myQueue);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java b/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java
index feb4b66..a48dc79 100644
--- a/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java
+++ b/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java
@@ -62,6 +62,6 @@ public class PublicKeyProviderTest {
 
         PublicKeyProvider sut = new PublicKeyProvider(configWithPEMKey, new PublicKeyReader());
 
-        assertThatThrownBy(() -> sut.get()).isExactlyInstanceOf(MissingOrInvalidKeyException.class);
+        assertThatThrownBy(sut::get).isExactlyInstanceOf(MissingOrInvalidKeyException.class);
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 46501c9..a91e1ab 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
@@ -50,7 +50,6 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
 import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.Authenticator;
 import org.apache.james.mailbox.store.Authorizator;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
@@ -728,23 +727,20 @@ public class POP3ServerTest {
         MailboxACLResolver aclResolver = new UnionMailboxACLResolver();
         GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver();
         MessageParser messageParser = new MessageParser();
-        mailboxManager = new StoreMailboxManager(factory, new Authenticator() {
-    
-            @Override
-            public boolean isAuthentic(String userid, CharSequence passwd) {
-                try {
-                    return usersRepository.test(userid, passwd.toString());
-                } catch (UsersRepositoryException e) {
-                    e.printStackTrace();
-                    return false;
-                }
-            }
-        }, new Authorizator() {
-            @Override
-            public AuthorizationState canLoginAsOtherUser(String userId, String otherUserId) {
-                return AuthorizationState.NOT_ADMIN;
+        mailboxManager = new StoreMailboxManager(factory, (userid, passwd) -> {
+            try {
+                return usersRepository.test(userid, passwd.toString());
+            } catch (UsersRepositoryException e) {
+                e.printStackTrace();
+                return false;
             }
-        }, aclResolver, groupMembershipResolver, messageParser, new DefaultMessageId.Factory(), MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE);
+        }, (userId, otherUserId) -> Authorizator.AuthorizationState.NOT_ADMIN,
+            aclResolver,
+            groupMembershipResolver,
+            messageParser,
+            new DefaultMessageId.Factory(),
+            MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX,
+            MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE);
         mailboxManager.init();
 
         protocolHandlerChain.put("mailboxmanager", MailboxManager.class, mailboxManager);

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
index 4ff7d13..3551fbb 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
@@ -27,6 +27,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
+
 import javax.mail.MessagingException;
 
 import org.apache.commons.io.IOUtils;
@@ -108,16 +109,12 @@ public class MockMailQueue implements MailQueue {
             throw new MailQueueException("Mock");
         }
 
-        scheduler.schedule(new Runnable() {
-
-            @Override
-            public void run() {
-                try {
-                    queue.put(MockMailQueue.this.cloneMail(mail));
-                } catch (InterruptedException e) {
-                    log.error("", e);
-                    throw new RuntimeException("Mock", e);
-                }
+        scheduler.schedule(() -> {
+            try {
+                queue.put(MockMailQueue.this.cloneMail(mail));
+            } catch (InterruptedException e) {
+                log.error("", e);
+                throw new RuntimeException("Mock", e);
             }
         }, delay, unit);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
index 50886ca..f5fd47c 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
@@ -22,7 +22,6 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
-import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.ObjectInputStream;
@@ -91,12 +90,7 @@ public class FileMailQueue implements ManageableMailQueue {
             File qDir = new File(queueDir, Integer.toString(i));
             FileUtils.forceMkdir(qDir);
 
-            String[] files = qDir.list(new FilenameFilter() {
-                @Override
-                public boolean accept(File dir, String name) {
-                    return name.endsWith(OBJECT_EXTENSION);
-                }
-            });
+            String[] files = qDir.list((dir, name) -> name.endsWith(OBJECT_EXTENSION));
 
             for (String name : files) {
 
@@ -129,16 +123,12 @@ public class FileMailQueue implements ManageableMailQueue {
 
                         // Schedule a task which will put the mail in the queue
                         // for processing after a given delay
-                        scheduler.schedule(new Runnable() {
-
-                            @Override
-                            public void run() {
-                                try {
-                                    inmemoryQueue.put(key);
-                                } catch (InterruptedException e) {
-                                    Thread.currentThread().interrupt();
-                                    throw new RuntimeException("Unable to init", e);
-                                }
+                        scheduler.schedule(() -> {
+                            try {
+                                inmemoryQueue.put(key);
+                            } catch (InterruptedException e) {
+                                Thread.currentThread().interrupt();
+                                throw new RuntimeException("Unable to init", e);
                             }
                         }, next - System.currentTimeMillis(), TimeUnit.MILLISECONDS);
                     }
@@ -192,17 +182,13 @@ public class FileMailQueue implements ManageableMailQueue {
 
             if (delay > 0) {
                 // The message should get delayed so schedule it for later
-                scheduler.schedule(new Runnable() {
-
-                    @Override
-                    public void run() {
-                        try {
-                            inmemoryQueue.put(key);
+                scheduler.schedule(() -> {
+                    try {
+                        inmemoryQueue.put(key);
 
-                        } catch (InterruptedException e) {
-                            Thread.currentThread().interrupt();
-                            throw new RuntimeException("Unable to init", e);
-                        }
+                    } catch (InterruptedException e) {
+                        Thread.currentThread().interrupt();
+                        throw new RuntimeException("Unable to init", e);
                     }
                 }, delay, unit);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java
index 1e8b0c5..2682014 100644
--- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java
+++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java
@@ -167,19 +167,15 @@ public abstract class AbstractJMSMailQueueTest {
 
         assertEquals(1, queue.getSize());
 
-        Thread flushThread = new Thread(new Runnable() {
-
-            @Override
-            public void run() {
-                try {
-                    // wait for 2 seconds then flush the queue
-                    TimeUnit.MILLISECONDS.sleep(4000);
-                    assertEquals(1, queue.flush());
-                } catch (Exception e) {
-                    throw new RuntimeException(e);
-                }
-
+        Thread flushThread = new Thread(() -> {
+            try {
+                // wait for 2 seconds then flush the queue
+                TimeUnit.MILLISECONDS.sleep(4000);
+                assertEquals(1, queue.flush());
+            } catch (Exception e) {
+                throw new RuntimeException(e);
             }
+
         });
         flushThread.start();
 


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


[10/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Optional::isPresent can be replaced by functional code"

Posted by bt...@apache.org.
JAMES-2107 Run IntelliJ inspection: "Optional::isPresent can be replaced by functional code"


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

Branch: refs/heads/master
Commit: 34d63025ee93a782ebd3b10dff9aa5e1898324f2
Parents: 89a58da
Author: benwa <bt...@linagora.com>
Authored: Wed Aug 9 11:16:21 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Aug 16 16:44:08 2017 +0700

----------------------------------------------------------------------
 .../cassandra/mail/CassandraMessageIdToImapUidDAO.java   | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/34d63025/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
index 7ca5349..169e32d 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAO.java
@@ -209,12 +209,11 @@ public class CassandraMessageIdToImapUidDAO {
     }
 
     private CompletableFuture<ResultSet> selectStatement(CassandraMessageId messageId, Optional<CassandraId> mailboxId) {
-        if (mailboxId.isPresent()) {
-            return cassandraAsyncExecutor.execute(select.bind()
+        return mailboxId
+            .map(cassandraId -> cassandraAsyncExecutor.execute(select.bind()
                 .setUUID(MESSAGE_ID, messageId.get())
-                .setUUID(MAILBOX_ID, mailboxId.get().asUuid()));
-        }
-        return cassandraAsyncExecutor.execute(selectAll.bind()
-                .setUUID(MESSAGE_ID, messageId.get()));
+                .setUUID(MAILBOX_ID, cassandraId.asUuid())))
+            .orElseGet(() -> cassandraAsyncExecutor.execute(selectAll.bind()
+                .setUUID(MESSAGE_ID, messageId.get())));
     }
 }


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


[05/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Convert to lambas"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerTest.java
index d61bf63..547ab39 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerTest.java
@@ -20,7 +20,6 @@
 package org.apache.james.mailbox.store.event.distributed;
 
 import static org.assertj.core.api.Assertions.assertThat;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -37,8 +36,6 @@ import org.apache.james.mailbox.store.publisher.Topic;
 import org.apache.james.mailbox.util.EventCollector;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 public class BroadcastDelegatingMailboxListenerTest {
 
@@ -72,13 +69,11 @@ public class BroadcastDelegatingMailboxListenerTest {
 
     @Test
     public void eventWithNoRegisteredListenersShouldWork() throws Exception {
-        when(mockedEventSerializer.serializeEvent(event)).thenAnswer(new Answer<byte[]>() {
-            @Override
-            public byte[] answer(InvocationOnMock invocation) throws Throwable {
-                return BYTES;
-            }
-        });
+        when(mockedEventSerializer.serializeEvent(event))
+            .thenReturn(BYTES);
+
         broadcastDelegatingMailboxListener.event(event);
+
         verify(mockedEventSerializer).serializeEvent(event);
         verify(mockedPublisher).publish(TOPIC, BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
@@ -87,13 +82,10 @@ public class BroadcastDelegatingMailboxListenerTest {
     @Test
     public void eventWithMailboxRegisteredListenerShouldWork() throws Exception {
         broadcastDelegatingMailboxListener.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
-        when(mockedEventSerializer.serializeEvent(event)).thenAnswer(new Answer<byte[]>() {
-            @Override
-            public byte[] answer(InvocationOnMock invocation) throws Throwable {
-                return BYTES;
-            }
-        });
+        when(mockedEventSerializer.serializeEvent(event)).thenReturn(BYTES);
+
         broadcastDelegatingMailboxListener.event(event);
+
         assertThat(mailboxEventCollector.getEvents()).isEmpty();
         verify(mockedEventSerializer).serializeEvent(event);
         verify(mockedPublisher).publish(TOPIC, BYTES);
@@ -103,14 +95,11 @@ public class BroadcastDelegatingMailboxListenerTest {
     @Test
     public void eventWithEachRegisteredListenerShouldWork() throws Exception {
         broadcastDelegatingMailboxListener.addGlobalListener(eachEventCollector, mailboxSession);
-        when(mockedEventSerializer.serializeEvent(event)).thenAnswer(new Answer<byte[]>() {
-            @Override
-            public byte[] answer(InvocationOnMock invocation) throws Throwable {
-                return BYTES;
-            }
-        });
+        when(mockedEventSerializer.serializeEvent(event)).thenReturn(BYTES);
+
         broadcastDelegatingMailboxListener.event(event);
         assertThat(eachEventCollector.getEvents()).isEmpty();
+
         verify(mockedEventSerializer).serializeEvent(event);
         verify(mockedPublisher).publish(TOPIC, BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
@@ -119,13 +108,10 @@ public class BroadcastDelegatingMailboxListenerTest {
     @Test
     public void eventWithOnceRegisteredListenerShouldWork() throws Exception {
         broadcastDelegatingMailboxListener.addGlobalListener(onceEventCollector, mailboxSession);
-        when(mockedEventSerializer.serializeEvent(event)).thenAnswer(new Answer<byte[]>() {
-            @Override
-            public byte[] answer(InvocationOnMock invocation) throws Throwable {
-                return BYTES;
-            }
-        });
+        when(mockedEventSerializer.serializeEvent(event)).thenReturn(BYTES);
+
         broadcastDelegatingMailboxListener.event(event);
+
         assertThat(onceEventCollector.getEvents()).containsOnly(event);
         verify(mockedEventSerializer).serializeEvent(event);
         verify(mockedPublisher).publish(TOPIC, BYTES);
@@ -134,13 +120,10 @@ public class BroadcastDelegatingMailboxListenerTest {
 
     @Test
     public void receiveSerializedEventShouldWorkWithNoRegisteredListeners() throws Exception {
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
+
         broadcastDelegatingMailboxListener.receiveSerializedEvent(BYTES);
+
         verify(mockedEventSerializer).deSerializeEvent(BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
     }
@@ -148,13 +131,10 @@ public class BroadcastDelegatingMailboxListenerTest {
     @Test
     public void receiveSerializedEventShouldWorkWithMailboxRegisteredListeners() throws Exception {
         broadcastDelegatingMailboxListener.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
+
         broadcastDelegatingMailboxListener.receiveSerializedEvent(BYTES);
+
         verify(mockedEventSerializer).deSerializeEvent(BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);
@@ -163,13 +143,10 @@ public class BroadcastDelegatingMailboxListenerTest {
     @Test
     public void receiveSerializedEventShouldWorkWithEachRegisteredListeners() throws Exception {
         broadcastDelegatingMailboxListener.addGlobalListener(eachEventCollector, mailboxSession);
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
+
         broadcastDelegatingMailboxListener.receiveSerializedEvent(BYTES);
+
         verify(mockedEventSerializer).deSerializeEvent(BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
         assertThat(eachEventCollector.getEvents()).containsOnly(event);
@@ -178,13 +155,10 @@ public class BroadcastDelegatingMailboxListenerTest {
     @Test
     public void receiveSerializedEventShouldWorkWithOnceRegisteredListeners() throws Exception {
         broadcastDelegatingMailboxListener.addGlobalListener(onceEventCollector, mailboxSession);
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
+
         broadcastDelegatingMailboxListener.receiveSerializedEvent(BYTES);
+
         verify(mockedEventSerializer).deSerializeEvent(BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
         assertThat(onceEventCollector.getEvents()).isEmpty();
@@ -194,13 +168,10 @@ public class BroadcastDelegatingMailboxListenerTest {
     public void deletionDistantEventsShouldBeWellHandled() throws Exception {
         final MailboxListener.Event event = new MailboxListener.MailboxDeletion(mailboxSession, MAILBOX_PATH);
         broadcastDelegatingMailboxListener.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
+
         broadcastDelegatingMailboxListener.receiveSerializedEvent(BYTES);
+
         verify(mockedEventSerializer).deSerializeEvent(BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);
@@ -214,14 +185,11 @@ public class BroadcastDelegatingMailboxListenerTest {
                 return MAILBOX_PATH_NEW;
             }
         };
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
+
         broadcastDelegatingMailboxListener.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
         broadcastDelegatingMailboxListener.receiveSerializedEvent(BYTES);
+
         verify(mockedEventSerializer).deSerializeEvent(BYTES);
         verifyNoMoreInteractions(mockedEventSerializer, mockedPublisher);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegisterTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegisterTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegisterTest.java
index 2227a79..896e9c3 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegisterTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegisterTest.java
@@ -20,7 +20,6 @@
 package org.apache.james.mailbox.store.event.distributed;
 
 import static org.assertj.core.api.Assertions.assertThat;
-
 import static org.assertj.core.api.Assertions.fail;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
@@ -29,20 +28,20 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.google.common.collect.Sets;
-import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.model.MailboxPath;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
 import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.mailbox.store.publisher.Topic;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.google.common.collect.Sets;
+
 public class DistantMailboxPathRegisterTest {
 
     private static final MailboxPath MAILBOX_PATH = new MailboxPath("namespace", "user", "name");
@@ -66,13 +65,8 @@ public class DistantMailboxPathRegisterTest {
 
     @Test
     public void getTopicsShouldWork() {
-        final HashSet<String> result = Sets.newHashSet(TOPIC);
-        when(mockedMapper.getTopics(MAILBOX_PATH)).thenAnswer(new Answer<Set<String>>() {
-            @Override
-            public Set<String> answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return result;
-            }
-        });
+        final Set<Topic> result = Sets.newHashSet(new Topic(TOPIC));
+        when(mockedMapper.getTopics(MAILBOX_PATH)).thenReturn(result);
         assertThat(register.getTopics(MAILBOX_PATH)).isEqualTo(result);
     }
 
@@ -255,18 +249,15 @@ public class DistantMailboxPathRegisterTest {
         final long increments = 100;
         ExecutorService executorService = Executors.newFixedThreadPool(numTask);
         for (int i = 0; i < numTask; i++) {
-            executorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        int j = 0;
-                        while (j < increments) {
-                            register.register(MAILBOX_PATH);
-                            j++;
-                        }
-                    } catch (Exception e) {
-                        fail("Exception caught in thread", e);
+            executorService.submit(() -> {
+                try {
+                    int j = 0;
+                    while (j < increments) {
+                        register.register(MAILBOX_PATH);
+                        j++;
                     }
+                } catch (Exception e) {
+                    fail("Exception caught in thread", e);
                 }
             });
         }
@@ -284,18 +275,15 @@ public class DistantMailboxPathRegisterTest {
         }
         ExecutorService executorService = Executors.newFixedThreadPool(numTask);
         for (int i = 0; i < numTask; i++) {
-            executorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        int j = 0;
-                        while (j < increments) {
-                            register.unregister(MAILBOX_PATH);
-                            j++;
-                        }
-                    } catch (Exception e) {
-                        fail("Exception caught in thread", e);
+            executorService.submit(() -> {
+                try {
+                    int j = 0;
+                    while (j < increments) {
+                        register.unregister(MAILBOX_PATH);
+                        j++;
                     }
+                } catch (Exception e) {
+                    fail("Exception caught in thread", e);
                 }
             });
         }
@@ -313,32 +301,26 @@ public class DistantMailboxPathRegisterTest {
         }
         ExecutorService executorService = Executors.newFixedThreadPool(2* numTask);
         for (int i = 0; i < numTask; i++) {
-            executorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        int j = 0;
-                        while (j < increments) {
-                            register.register(MAILBOX_PATH);
-                            j++;
-                        }
-                    } catch (Exception e) {
-                        fail("Exception caught in thread", e);
+            executorService.submit(() -> {
+                try {
+                    int j = 0;
+                    while (j < increments) {
+                        register.register(MAILBOX_PATH);
+                        j++;
                     }
+                } catch (Exception e) {
+                    fail("Exception caught in thread", e);
                 }
             });
-            executorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        int j = 0;
-                        while (j < increments) {
-                            register.unregister(MAILBOX_PATH);
-                            j++;
-                        }
-                    } catch (Exception e) {
-                        fail("Exception caught in thread", e);
+            executorService.submit(() -> {
+                try {
+                    int j = 0;
+                    while (j < increments) {
+                        register.unregister(MAILBOX_PATH);
+                        j++;
                     }
+                } catch (Exception e) {
+                    fail("Exception caught in thread", e);
                 }
             });
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListenerTest.java
index 438bc97..c01eda6 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListenerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListenerTest.java
@@ -20,14 +20,12 @@
 package org.apache.james.mailbox.store.event.distributed;
 
 import static org.assertj.core.api.Assertions.assertThat;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import com.google.common.collect.Sets;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -40,10 +38,8 @@ import org.apache.james.mailbox.store.publisher.Topic;
 import org.apache.james.mailbox.util.EventCollector;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
-import java.util.Set;
+import com.google.common.collect.Sets;
 
 public class RegisteredDelegatingMailboxListenerTest {
 
@@ -82,18 +78,8 @@ public class RegisteredDelegatingMailboxListenerTest {
     public void eventShouldBeLocallyDeliveredIfThereIsNoOtherRegisteredServers() throws Exception {
         testee.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
         verify(mockedMailboxPathRegister).register(MAILBOX_PATH);
-        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenAnswer(new Answer<Set<Topic>>() {
-            @Override
-            public Set<Topic> answer(InvocationOnMock invocation) throws Throwable {
-                return Sets.newHashSet(TOPIC);
-            }
-        });
-        when(mockedMailboxPathRegister.getLocalTopic()).thenAnswer(new Answer<Topic>() {
-            @Override
-            public Topic answer(InvocationOnMock invocation) throws Throwable {
-                return TOPIC;
-            }
-        });
+        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenReturn(Sets.newHashSet(TOPIC));
+        when(mockedMailboxPathRegister.getLocalTopic()).thenReturn(TOPIC);
         testee.event(event);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);
         verify(mockedMailboxPathRegister, times(2)).getLocalTopic();
@@ -107,24 +93,9 @@ public class RegisteredDelegatingMailboxListenerTest {
     public void eventShouldBeRemotelySent() throws Exception {
         testee.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
         verify(mockedMailboxPathRegister).register(MAILBOX_PATH);
-        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenAnswer(new Answer<Set<Topic>>() {
-            @Override
-            public Set<Topic> answer(InvocationOnMock invocation) throws Throwable {
-                return Sets.newHashSet(TOPIC, TOPIC_2);
-            }
-        });
-        when(mockedMailboxPathRegister.getLocalTopic()).thenAnswer(new Answer<Topic>() {
-            @Override
-            public Topic answer(InvocationOnMock invocation) throws Throwable {
-                return TOPIC;
-            }
-        });
-        when(mockedEventSerializer.serializeEvent(event)).thenAnswer(new Answer<byte[]>() {
-            @Override
-            public byte[] answer(InvocationOnMock invocation) throws Throwable {
-                return BYTES;
-            }
-        });
+        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenReturn(Sets.newHashSet(TOPIC, TOPIC_2));
+        when(mockedMailboxPathRegister.getLocalTopic()).thenReturn(TOPIC);
+        when(mockedEventSerializer.serializeEvent(event)).thenReturn(BYTES);
         testee.event(event);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);
         verify(mockedMailboxPathRegister, times(2)).getLocalTopic();
@@ -140,18 +111,8 @@ public class RegisteredDelegatingMailboxListenerTest {
     public void onceListenersShouldBeTriggered() throws Exception {
         MailboxListener.Event event = new MailboxListener.Event(mailboxSession, MAILBOX_PATH) {};
         testee.addGlobalListener(onceEventCollector, mailboxSession);
-        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenAnswer(new Answer<Set<Topic>>() {
-            @Override
-            public Set<Topic> answer(InvocationOnMock invocation) throws Throwable {
-                return Sets.newHashSet(TOPIC);
-            }
-        });
-        when(mockedMailboxPathRegister.getLocalTopic()).thenAnswer(new Answer<Topic>() {
-            @Override
-            public Topic answer(InvocationOnMock invocation) throws Throwable {
-                return TOPIC;
-            }
-        });
+        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenReturn(Sets.newHashSet(TOPIC));
+        when(mockedMailboxPathRegister.getLocalTopic()).thenReturn(TOPIC);
         testee.event(event);
         assertThat(onceEventCollector.getEvents()).containsOnly(event);
         verify(mockedMailboxPathRegister, times(2)).getLocalTopic();
@@ -170,12 +131,7 @@ public class RegisteredDelegatingMailboxListenerTest {
     public void distantEventShouldBeLocallyDelivered() throws Exception {
         testee.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
         verify(mockedMailboxPathRegister).register(MAILBOX_PATH);
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
         testee.receiveSerializedEvent(BYTES);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);
         verify(mockedMailboxPathRegister).getLocalTopic();
@@ -189,12 +145,7 @@ public class RegisteredDelegatingMailboxListenerTest {
     @Test
     public void distantEventShouldNotBeDeliveredToOnceGlobalListeners() throws Exception {
         testee.addGlobalListener(onceEventCollector, mailboxSession);
-        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenAnswer(new Answer<MailboxListener.Event>() {
-            @Override
-            public MailboxListener.Event answer(InvocationOnMock invocation) throws Throwable {
-                return event;
-            }
-        });
+        when(mockedEventSerializer.deSerializeEvent(BYTES)).thenReturn(event);
         testee.receiveSerializedEvent(BYTES);
         assertThat(onceEventCollector.getEvents()).isEmpty();
         verify(mockedMailboxPathRegister).getLocalTopic();
@@ -209,24 +160,9 @@ public class RegisteredDelegatingMailboxListenerTest {
         MailboxListener.Event event = new MailboxListener.MailboxDeletion(mailboxSession, MAILBOX_PATH);
         testee.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
         verify(mockedMailboxPathRegister).register(MAILBOX_PATH);
-        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenAnswer(new Answer<Set<Topic>>() {
-            @Override
-            public Set<Topic> answer(InvocationOnMock invocation) throws Throwable {
-                return Sets.newHashSet(TOPIC, TOPIC_2);
-            }
-        });
-        when(mockedMailboxPathRegister.getLocalTopic()).thenAnswer(new Answer<Topic>() {
-            @Override
-            public Topic answer(InvocationOnMock invocation) throws Throwable {
-                return TOPIC;
-            }
-        });
-        when(mockedEventSerializer.serializeEvent(event)).thenAnswer(new Answer<byte[]>() {
-            @Override
-            public byte[] answer(InvocationOnMock invocation) throws Throwable {
-                return BYTES;
-            }
-        });
+        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenReturn(Sets.newHashSet(TOPIC, TOPIC_2));
+        when(mockedMailboxPathRegister.getLocalTopic()).thenReturn(TOPIC);
+        when(mockedEventSerializer.serializeEvent(event)).thenReturn(BYTES);
         testee.event(event);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);
         verify(mockedMailboxPathRegister, times(2)).getLocalTopic();
@@ -249,24 +185,9 @@ public class RegisteredDelegatingMailboxListenerTest {
         };
         testee.addListener(MAILBOX_PATH, mailboxEventCollector, mailboxSession);
         verify(mockedMailboxPathRegister).register(MAILBOX_PATH);
-        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenAnswer(new Answer<Set<Topic>>() {
-            @Override
-            public Set<Topic> answer(InvocationOnMock invocation) throws Throwable {
-                return Sets.newHashSet(TOPIC, TOPIC_2);
-            }
-        });
-        when(mockedMailboxPathRegister.getLocalTopic()).thenAnswer(new Answer<Topic>() {
-            @Override
-            public Topic answer(InvocationOnMock invocation) throws Throwable {
-                return TOPIC;
-            }
-        });
-        when(mockedEventSerializer.serializeEvent(event)).thenAnswer(new Answer<byte[]>() {
-            @Override
-            public byte[] answer(InvocationOnMock invocation) throws Throwable {
-                return BYTES;
-            }
-        });
+        when(mockedMailboxPathRegister.getTopics(MAILBOX_PATH)).thenReturn(Sets.newHashSet(TOPIC, TOPIC_2));
+        when(mockedMailboxPathRegister.getLocalTopic()).thenReturn(TOPIC);
+        when(mockedEventSerializer.serializeEvent(event)).thenReturn(BYTES);
         testee.event(event);
         assertThat(mailboxEventCollector.getEvents()).containsOnly(event);
         verify(mockedMailboxPathRegister, times(2)).getLocalTopic();

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMailboxAssert.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMailboxAssert.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMailboxAssert.java
index 5590f12..74c6e85 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMailboxAssert.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMailboxAssert.java
@@ -25,7 +25,6 @@ import java.util.List;
 
 import org.apache.james.mailbox.model.MailboxId;
 
-import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.Lists;
@@ -35,13 +34,10 @@ public class ListMailboxAssert {
     private final List<Mailbox> actual;
 
     private final List<InnerMailbox> mailboxtoInnerMailbox(List<Mailbox> mailboxes) {
-        return FluentIterable.from(mailboxes).transform(new Function<Mailbox, InnerMailbox>() {
-            @Override
-            public InnerMailbox apply(Mailbox input) {
-                return new InnerMailbox(input.getMailboxId(), input.getUser(), input.getName(), input.getNamespace());
-            }
-            
-        }).toList();
+        return FluentIterable.from(mailboxes)
+            .transform(mailbox ->
+                new InnerMailbox(mailbox.getMailboxId(), mailbox.getUser(), mailbox.getName(), mailbox.getNamespace()))
+            .toList();
     }
 
     private ListMailboxAssert(List<Mailbox> actual) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java
index 7772ea1..ccb34f2 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java
@@ -30,7 +30,6 @@ import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MessageId;
 
-import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.base.Throwables;
 import com.google.common.collect.FluentIterable;
@@ -40,18 +39,14 @@ public class ListMessageAssert {
     private final List<MailboxMessage> actual;
 
     private final List<InnerMessage> messageToInnerMessage(List<MailboxMessage> messages) {
-        return FluentIterable.from(messages).transform(new Function<MailboxMessage, InnerMessage>() {
-            @Override
-            public InnerMessage apply(MailboxMessage input) {
-                try {
-                    return new InnerMessage(input.getMessageId(), input.getUid(), input.getMailboxId(), input.getInternalDate(), input.getBodyOctets(), 
-                            input.getFullContentOctets(), input.getMediaType(), input.getSubType(), IOUtils.toString(input.getFullContent()));
-                } catch (IOException e) {
-                    Throwables.propagate(e);
-                    return null;
-                }
+        return FluentIterable.from(messages).transform(message -> {
+            try {
+                return new InnerMessage(message.getMessageId(), message.getUid(), message.getMailboxId(), message.getInternalDate(), message.getBodyOctets(),
+                        message.getFullContentOctets(), message.getMediaType(), message.getSubType(), IOUtils.toString(message.getFullContent()));
+            } catch (IOException e) {
+                Throwables.propagate(e);
+                return null;
             }
-            
         }).toList();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessagePropertiesAssert.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessagePropertiesAssert.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessagePropertiesAssert.java
index 4c22bdd..7d974ff 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessagePropertiesAssert.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessagePropertiesAssert.java
@@ -35,12 +35,7 @@ public class ListMessagePropertiesAssert {
     }
 
     private final Function<Property, InnerProperty> propertyToInnerProperty() {
-        return new Function<Property, InnerProperty>() {
-            @Override
-            public InnerProperty apply(Property input) {
-                return new InnerProperty(input.getNamespace(), input.getLocalName(), input.getValue());
-            }
-        };
+        return property -> new InnerProperty(property.getNamespace(), property.getLocalName(), property.getValue());
     }
 
     public static ListMessagePropertiesAssert assertProperties(List<Property> actual) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
index cb3ba8b..9a51f12 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
@@ -680,15 +680,11 @@ public abstract class MessageIdMapperTest {
 
         int threadCount = 2;
         int updateCount = 10;
-        assertThat(new ConcurrentTestRunner(threadCount, updateCount, new ConcurrentTestRunner.BiConsumer() {
-            @Override
-            public void consume(int threadNumber, int step) throws Exception {
-                sut.setFlags(message1.getMessageId(),
-                    ImmutableList.of(message1.getMailboxId()),
-                    new Flags("custom-" + threadNumber + "-" + step),
-                    FlagsUpdateMode.ADD);
-            }
-        }).run()
+        assertThat(new ConcurrentTestRunner(threadCount, updateCount,
+            (threadNumber, step) -> sut.setFlags(message1.getMessageId(),
+                ImmutableList.of(message1.getMailboxId()),
+                new Flags("custom-" + threadNumber + "-" + step),
+                FlagsUpdateMode.ADD)).run()
             .awaitTermination(1, TimeUnit.MINUTES))
             .isTrue();
 
@@ -705,9 +701,8 @@ public abstract class MessageIdMapperTest {
 
         final int threadCount = 4;
         final int updateCount = 20;
-        assertThat(new ConcurrentTestRunner(threadCount, updateCount, new ConcurrentTestRunner.BiConsumer() {
-            @Override
-            public void consume(int threadNumber, int step) throws Exception {
+        assertThat(new ConcurrentTestRunner(threadCount, updateCount,
+            (threadNumber, step) -> {
                 if (step  < updateCount / 2) {
                     sut.setFlags(message1.getMessageId(),
                         ImmutableList.of(message1.getMailboxId()),
@@ -719,8 +714,7 @@ public abstract class MessageIdMapperTest {
                         new Flags("custom-" + threadNumber + "-" + (updateCount - step - 1)),
                         FlagsUpdateMode.REMOVE);
                 }
-            }
-        }).run()
+            }).run()
             .awaitTermination(1, TimeUnit.MINUTES))
             .isTrue();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
index 215a846..29c5591 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
@@ -806,14 +806,10 @@ public abstract class MessageMapperTest {
 
         int threadCount = 2;
         int updateCount = 10;
-        assertThat(new ConcurrentTestRunner(threadCount, updateCount, new ConcurrentTestRunner.BiConsumer() {
-            @Override
-            public void consume(int threadNumber, int step) throws Exception {
-                messageMapper.updateFlags(benwaInboxMailbox,
-                    new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + step), FlagsUpdateMode.ADD),
-                    MessageRange.one(message1.getUid()));
-            }
-        }).run()
+        assertThat(new ConcurrentTestRunner(threadCount, updateCount,
+            (threadNumber, step) -> messageMapper.updateFlags(benwaInboxMailbox,
+                new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + step), FlagsUpdateMode.ADD),
+                MessageRange.one(message1.getUid()))).run()
             .awaitTermination(1, TimeUnit.MINUTES))
             .isTrue();
 
@@ -830,9 +826,8 @@ public abstract class MessageMapperTest {
 
         final int threadCount = 4;
         final int updateCount = 20;
-        assertThat(new ConcurrentTestRunner(threadCount, updateCount, new ConcurrentTestRunner.BiConsumer() {
-            @Override
-            public void consume(int threadNumber, int step) throws Exception {
+        assertThat(new ConcurrentTestRunner(threadCount, updateCount,
+            (threadNumber, step) -> {
                 if (step  < updateCount / 2) {
                     messageMapper.updateFlags(benwaInboxMailbox,
                         new FlagsUpdateCalculator(new Flags("custom-" + threadNumber + "-" + step), FlagsUpdateMode.ADD),
@@ -843,8 +838,7 @@ public abstract class MessageMapperTest {
                             FlagsUpdateMode.REMOVE),
                         MessageRange.one(message1.getUid()));
                 }
-            }
-        }).run()
+            }).run()
             .awaitTermination(1, TimeUnit.MINUTES))
             .isTrue();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolverTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolverTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolverTest.java
index d9be76e..c6c6218 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolverTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolverTest.java
@@ -23,8 +23,6 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import java.util.List;
-
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.QuotaRoot;
@@ -33,8 +31,6 @@ import org.apache.james.mailbox.store.mail.MailboxMapper;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 import com.google.common.collect.Lists;
 
@@ -74,18 +70,8 @@ public class DefaultQuotaRootResolverTest {
     @Test
     public void retrieveAssociatedMailboxesShouldWork() throws Exception {
         final MailboxMapper mockedMapper = mock(MailboxMapper.class);
-        when(mockedFactory.getMailboxMapper(null)).thenAnswer(new Answer<MailboxMapper>() {
-            @Override
-            public MailboxMapper answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return mockedMapper;
-            }
-        });
-        when(mockedMapper.findMailboxWithPathLike(PATH_LIKE)).thenAnswer(new Answer<List<SimpleMailbox>>() {
-            @Override
-            public List<SimpleMailbox> answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return Lists.newArrayList(MAILBOX, MAILBOX_2);
-            }
-        });
+        when(mockedFactory.getMailboxMapper(null)).thenReturn(mockedMapper);
+        when(mockedMapper.findMailboxWithPathLike(PATH_LIKE)).thenReturn(Lists.newArrayList(MAILBOX, MAILBOX_2));
         assertThat(testee.retrieveAssociatedMailboxes(QUOTA_ROOT, null)).containsOnly(MAILBOX_PATH, MAILBOX_PATH_2);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
index c1a03e3..625a8e1 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
@@ -27,15 +27,12 @@ import static org.mockito.Mockito.when;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.exception.OverQuotaException;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.model.Quota;
 import org.apache.james.mailbox.model.QuotaRoot;
 import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 public class QuotaCheckerTest {
 
@@ -54,72 +51,27 @@ public class QuotaCheckerTest {
 
     @Test
     public void quotaCheckerShouldNotThrowOnRegularQuotas() throws MailboxException {
-        when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenAnswer(new Answer<QuotaRoot>() {
-            @Override
-            public QuotaRoot answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QUOTA_ROOT;
-            }
-        });
-        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-            @Override
-            public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QuotaImpl.quota(10, 100);
-            }
-        });
-        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-            @Override
-            public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QuotaImpl.quota(100, 1000);
-            }
-        });
+        when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(10, 100));
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(100, 1000));
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, mockedQuotaRootResolver, MAILBOX);
         assertThat(quotaChecker.tryAddition(0, 0)).isTrue();
     }
 
     @Test
     public void quotaCheckerShouldNotThrowOnRegularModifiedQuotas() throws MailboxException {
-        when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenAnswer(new Answer<QuotaRoot>() {
-            @Override
-            public QuotaRoot answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QUOTA_ROOT;
-            }
-        });
-        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-            @Override
-            public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QuotaImpl.quota(10, 100);
-            }
-        });
-        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-            @Override
-            public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QuotaImpl.quota(100, 1000);
-            }
-        });
+        when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(10, 100));
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(100, 1000));
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, mockedQuotaRootResolver, MAILBOX);
         assertThat(quotaChecker.tryAddition(89, 899)).isTrue();
     }
 
     @Test
     public void quotaCheckerShouldNotThrowOnReachedMaximumQuotas() throws MailboxException {
-        when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenAnswer(new Answer<QuotaRoot>() {
-            @Override
-            public QuotaRoot answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QUOTA_ROOT;
-            }
-        });
-        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-            @Override
-            public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QuotaImpl.quota(10, 100);
-            }
-        });
-        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-            @Override
-            public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return QuotaImpl.quota(100, 1000);
-            }
-        });
+        when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(10, 100));
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(100, 1000));
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, mockedQuotaRootResolver, MAILBOX);
         assertThat(quotaChecker.tryAddition(90, 900)).isTrue();
     }
@@ -128,24 +80,9 @@ public class QuotaCheckerTest {
     public void quotaCheckerShouldThrowOnExceededMessages() throws MailboxException {
         QuotaChecker quotaChecker;
         try {
-            when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenAnswer(new Answer<QuotaRoot>() {
-                @Override
-                public QuotaRoot answer(InvocationOnMock invocationOnMock) throws Throwable {
-                    return QUOTA_ROOT;
-                }
-            });
-            when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-                @Override
-                public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                    return QuotaImpl.quota(10, 100);
-                }
-            });
-            when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-                @Override
-                public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                    return QuotaImpl.quota(100, 1000);
-                }
-            });
+            when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
+            when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(10, 100));
+            when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(100, 1000));
             quotaChecker = new QuotaChecker(mockedQuotaManager, mockedQuotaRootResolver, MAILBOX);
         } catch(Exception e) {
             fail("Exception caught : ", e);
@@ -158,24 +95,9 @@ public class QuotaCheckerTest {
     public void quotaCheckerShouldThrowOnExceededStorage() throws MailboxException {
         QuotaChecker quotaChecker;
         try {
-            when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenAnswer(new Answer<QuotaRoot>() {
-                @Override
-                public QuotaRoot answer(InvocationOnMock invocationOnMock) throws Throwable {
-                    return QUOTA_ROOT;
-                }
-            });
-            when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-                @Override
-                public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                    return QuotaImpl.quota(10, 100);
-                }
-            });
-            when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenAnswer(new Answer<Quota>() {
-                @Override
-                public Quota answer(InvocationOnMock invocationOnMock) throws Throwable {
-                    return QuotaImpl.quota(100, 1000);
-                }
-            });
+            when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
+            when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(10, 100));
+            when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(QuotaImpl.quota(100, 1000));
             quotaChecker = new QuotaChecker(mockedQuotaManager, mockedQuotaRootResolver, MAILBOX);
         } catch(Exception e) {
             fail("Exception caught : ", e);

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
index c7c6ccc..a73a34e 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
@@ -20,7 +20,6 @@
 package org.apache.james.mailbox.store.quota;
 
 import static org.assertj.core.api.Assertions.assertThat;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
@@ -32,8 +31,6 @@ import org.apache.james.mailbox.quota.CurrentQuotaManager;
 import org.apache.james.mailbox.quota.MaxQuotaManager;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 public class StoreQuotaManagerTest {
 
@@ -52,47 +49,23 @@ public class StoreQuotaManagerTest {
 
     @Test
     public void getMessageQuotaShouldWorkWithNumericValues() throws Exception {
-        when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return 360L;
-            }
-        });
-        when(mockedCurrentQuotaManager.getCurrentMessageCount(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return 36L;
-            }
-        });
+        when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).thenReturn(360L);
+        when(mockedCurrentQuotaManager.getCurrentMessageCount(quotaRoot)).thenReturn(36L);
         assertThat(testee.getMessageQuota(quotaRoot)).isEqualTo(QuotaImpl.quota(36, 360));
     }
 
     @Test
     public void getStorageQuotaShouldWorkWithNumericValues() throws Exception {
-        when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return 360L;
-            }
-        });
-        when(mockedCurrentQuotaManager.getCurrentStorage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return 36L;
-            }
-        });
+        when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).thenReturn(360L);
+        when(mockedCurrentQuotaManager.getCurrentStorage(quotaRoot)).thenReturn(36L);
         assertThat(testee.getStorageQuota(quotaRoot)).isEqualTo(QuotaImpl.quota(36, 360));
     }
 
     @Test
     public void getStorageQuotaShouldNotCalculateCurrentQuotaWhenUnlimited() throws Exception {
         testee.setCalculateWhenUnlimited(false);
-        when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return Quota.UNLIMITED;
-            }
-        });
+        when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).thenReturn(Quota.UNLIMITED);
+
         assertThat(testee.getStorageQuota(quotaRoot)).isEqualTo(QuotaImpl.quota(Quota.UNKNOWN, Quota.UNLIMITED));
         verify(mockedCurrentQuotaManager, never()).getCurrentStorage(quotaRoot);
     }
@@ -100,12 +73,8 @@ public class StoreQuotaManagerTest {
     @Test
     public void getMessageQuotaShouldNotCalculateCurrentQuotaWhenUnlimited() throws Exception {
         testee.setCalculateWhenUnlimited(false);
-        when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return Quota.UNLIMITED;
-            }
-        });
+        when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).thenReturn(Quota.UNLIMITED);
+
         assertThat(testee.getMessageQuota(quotaRoot)).isEqualTo(QuotaImpl.quota(Quota.UNKNOWN, Quota.UNLIMITED));
         verify(mockedCurrentQuotaManager, never()).getCurrentMessageCount(quotaRoot);
     }
@@ -113,36 +82,18 @@ public class StoreQuotaManagerTest {
     @Test
     public void getStorageQuotaShouldCalculateCurrentQuotaWhenUnlimited() throws Exception {
         testee.setCalculateWhenUnlimited(true);
-        when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return Quota.UNLIMITED;
-            }
-        });
-        when(mockedCurrentQuotaManager.getCurrentStorage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return 36L;
-            }
-        });
+        when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).thenReturn(Quota.UNLIMITED);
+        when(mockedCurrentQuotaManager.getCurrentStorage(quotaRoot)).thenReturn(36L);
+
         assertThat(testee.getStorageQuota(quotaRoot)).isEqualTo(QuotaImpl.quota(36, Quota.UNLIMITED));
     }
 
     @Test
     public void getMessageQuotaShouldCalculateCurrentQuotaWhenUnlimited() throws Exception {
         testee.setCalculateWhenUnlimited(true);
-        when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return Quota.UNLIMITED;
-            }
-        });
-        when(mockedCurrentQuotaManager.getCurrentMessageCount(quotaRoot)).then(new Answer<Long>() {
-            @Override
-            public Long answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return 36L;
-            }
-        });
+        when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).thenReturn(Quota.UNLIMITED);
+        when(mockedCurrentQuotaManager.getCurrentMessageCount(quotaRoot)).thenReturn(36L);
+
         assertThat(testee.getMessageQuota(quotaRoot)).isEqualTo(QuotaImpl.quota(36, Quota.UNLIMITED));
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/tool/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
----------------------------------------------------------------------
diff --git a/mailbox/tool/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java b/mailbox/tool/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
index 45db8bf..e36f2e5 100644
--- a/mailbox/tool/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
+++ b/mailbox/tool/src/test/java/org/apache/james/mailbox/copier/MailboxCopierTest.java
@@ -37,7 +37,6 @@ import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
 import org.apache.james.mailbox.mock.MockMailboxManager;
 import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.Authenticator;
 import org.apache.james.mailbox.store.Authorizator;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
@@ -54,7 +53,8 @@ import org.slf4j.LoggerFactory;
  *
  */
 public class MailboxCopierTest {
-    
+
+    public static final boolean AUTHENTIC = true;
     /**
      * The instance for the test mailboxCopier.
      */
@@ -161,18 +161,9 @@ public class MailboxCopierTest {
         MessageParser messageParser = new MessageParser();
 
         return new StoreMailboxManager(
-            new InMemoryMailboxSessionMapperFactory(), 
-            new Authenticator() {
-                public boolean isAuthentic(String userid, CharSequence passwd) {
-                    return true;
-                }
-            },
-            new Authorizator() {
-                @Override
-                public AuthorizationState canLoginAsOtherUser(String userId, String otherUserId) {
-                    return AuthorizationState.NOT_ADMIN;
-                }
-            },
+            new InMemoryMailboxSessionMapperFactory(),
+            (userid, passwd) -> AUTHENTIC,
+            (userId, otherUserId) -> Authorizator.AuthorizationState.NOT_ADMIN,
             aclResolver,
             groupMembershipResolver,
             messageParser,

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
----------------------------------------------------------------------
diff --git a/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java b/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
index 495e4bf..330e5cc 100644
--- a/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
+++ b/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/ReIndexerImplTest.java
@@ -26,8 +26,6 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
-import java.util.Iterator;
-
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -47,8 +45,6 @@ import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
 import org.assertj.core.util.Lists;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 import org.slf4j.Logger;
 
 import com.google.common.collect.ImmutableList;
@@ -74,42 +70,23 @@ public class ReIndexerImplTest {
     @Test
     public void test() throws Exception {
         final MockMailboxSession mockMailboxSession = new MockMailboxSession("re-indexing");
-        when(mailboxManager.createSystemSession(any(String.class), any(Logger.class))).thenAnswer(new Answer<MailboxSession>() {
-            @Override
-            public MailboxSession answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return mockMailboxSession;
-            }
-        });
+        when(mailboxManager.createSystemSession(any(String.class), any(Logger.class)))
+            .thenReturn(mockMailboxSession);
         final MessageMapper messageMapper = mock(MessageMapper.class);
         final MailboxMapper mailboxMapper = mock(MailboxMapper.class);
-        when(mailboxSessionMapperFactory.getMessageMapper(any(MailboxSession.class))).thenAnswer(new Answer<MessageMapper>() {
-            @Override
-            public MessageMapper answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return messageMapper;
-            }
-        });
-        when(mailboxSessionMapperFactory.getMailboxMapper(any(MailboxSession.class))).thenAnswer(new Answer<MailboxMapper>() {
-            @Override
-            public MailboxMapper answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return mailboxMapper;
-            }
-        });
+        when(mailboxSessionMapperFactory.getMessageMapper(any(MailboxSession.class)))
+            .thenReturn(messageMapper);
+        when(mailboxSessionMapperFactory.getMailboxMapper(any(MailboxSession.class)))
+            .thenReturn(mailboxMapper);
         final MailboxMessage message = new MessageBuilder().build();
         final SimpleMailbox mailbox = new SimpleMailbox(INBOX, 42);
         mailbox.setMailboxId(message.getMailboxId());
-        when(mailboxMapper.findMailboxByPath(INBOX)).thenAnswer(new Answer<Mailbox>() {
-            @Override
-            public Mailbox answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return mailbox;
-            }
-        });
-        when(messageMapper.findInMailbox(mailbox, MessageRange.all(), MessageMapper.FetchType.Full, LIMIT)).thenAnswer(new Answer<Iterator<MailboxMessage>>() {
-            @Override
-            public Iterator<MailboxMessage> answer(InvocationOnMock invocationOnMock) throws Throwable {
-                return Lists.newArrayList(message).iterator();
-            }
-        });
+        when(mailboxMapper.findMailboxByPath(INBOX)).thenReturn(mailbox);
+        when(messageMapper.findInMailbox(mailbox, MessageRange.all(), MessageMapper.FetchType.Full, LIMIT))
+            .thenReturn(Lists.newArrayList(message).iterator());
+
         reIndexer.reIndex(INBOX);
+
         verify(mailboxManager).createSystemSession(any(String.class), any(Logger.class));
         verify(mailboxSessionMapperFactory).getMailboxMapper(mockMailboxSession);
         verify(mailboxSessionMapperFactory).getMessageMapper(mockMailboxSession);

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
----------------------------------------------------------------------
diff --git a/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java b/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
index 791c2ed..d261a04 100644
--- a/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
+++ b/mailet/api/src/main/java/org/apache/mailet/PerRecipientHeaders.java
@@ -18,10 +18,10 @@
  ****************************************************************/
 
 package org.apache.mailet;
+
 import java.util.Collection;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
@@ -30,13 +30,6 @@ import com.google.common.collect.FluentIterable;
 import com.google.common.collect.Multimap;
 
 public class PerRecipientHeaders {
-    public static final Function<Header, String> GET_HEADER_NAME = new Function<Header, String>() {
-        @Override
-        public String apply(Header input) {
-            return input.getName();
-        }
-    };
-
     private Multimap<MailAddress, Header> headersByRecipient;
 
     public PerRecipientHeaders() {
@@ -53,7 +46,7 @@ public class PerRecipientHeaders {
 
     public Collection<String> getHeaderNamesForRecipient(MailAddress recipient) {
         return FluentIterable.from(headersByRecipient.get(recipient))
-            .transform(GET_HEADER_NAME)
+            .transform(Header::getName)
             .toSet();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/base/src/main/java/org/apache/mailet/base/MailetPipelineLogging.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/MailetPipelineLogging.java b/mailet/base/src/main/java/org/apache/mailet/base/MailetPipelineLogging.java
index e0a9069..5b5ee9a 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/MailetPipelineLogging.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/MailetPipelineLogging.java
@@ -25,32 +25,23 @@ import org.apache.mailet.MailetConfig;
 import org.apache.mailet.MailetContext;
 import org.slf4j.Logger;
 
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 
 public class MailetPipelineLogging {
 
     public static void logBeginOfMailetProcess(final Mailet mailet, final Mail mail) {
         getLogger(mailet)
-        .transform(new Function<Logger, Boolean>() {
-
-            @Override
-            public Boolean apply(Logger logger) {
-                logger.debug("Entering mailet: {}\n\tmail state {}", mailet.getMailetInfo(), mail.getState());
-                return true;
-            }
+        .transform(logger -> {
+            logger.debug("Entering mailet: {}\n\tmail state {}", mailet.getMailetInfo(), mail.getState());
+            return true;
         });
     }
 
     public static void logEndOfMailetProcess(final Mailet mailet, final Mail mail) {
         getLogger(mailet)
-            .transform(new Function<Logger, Boolean>() {
-
-                @Override
-                public Boolean apply(Logger logger) {
-                    logger.debug("End of mailet: {}\n\tmail state {}", mailet.getMailetInfo(), mail.getState());
-                    return true;
-                }
+            .transform(logger -> {
+                logger.debug("End of mailet: {}\n\tmail state {}", mailet.getMailetInfo(), mail.getState());
+                return true;
             });
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
index f00d9c9..043aa1a 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/test/MimeMessageBuilder.java
@@ -176,14 +176,11 @@ public class MimeMessageBuilder {
         }
     }
 
-    public static final Function<String, InternetAddress> TO_INTERNET_ADDRESS = new Function<String, InternetAddress>() {
-        @Override
-        public InternetAddress apply(String input) {
-            try {
-                return new InternetAddress(input);
-            } catch (AddressException e) {
-                throw Throwables.propagate(e);
-            }
+    public static final Function<String, InternetAddress> TO_INTERNET_ADDRESS = value -> {
+        try {
+            return new InternetAddress(value);
+        } catch (AddressException e) {
+            throw Throwables.propagate(e);
         }
     };
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
----------------------------------------------------------------------
diff --git a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
index d1bd780..3630bfa 100644
--- a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
+++ b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/AbstractMailetdocsReport.java
@@ -19,7 +19,6 @@
 
 package org.apache.james.mailet;
 
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Locale;
@@ -148,13 +147,7 @@ public abstract class AbstractMailetdocsReport extends AbstractMavenReport {
         
         final List<MailetMatcherDescriptor> descriptors = buildDescriptors(this.project);
         
-        Collections.sort(descriptors, new Comparator<MailetMatcherDescriptor>() {
-
-            public int compare(MailetMatcherDescriptor one, MailetMatcherDescriptor two) {
-                return one.getName().compareTo(two.getName());
-            }
-
-        });
+        descriptors.sort(Comparator.comparing(MailetMatcherDescriptor::getName));
         logDescriptors(descriptors);
         return descriptors;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
----------------------------------------------------------------------
diff --git a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
index eb9881e..9f1da32 100644
--- a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
+++ b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
@@ -39,10 +39,8 @@ import org.apache.maven.artifact.DependencyResolutionRequiredException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
 
-import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
 import com.thoughtworks.qdox.JavaDocBuilder;
-import com.thoughtworks.qdox.model.Annotation;
 import com.thoughtworks.qdox.model.JavaClass;
 
 /**
@@ -196,14 +194,8 @@ public class DefaultDescriptorsExtractor {
 
     private boolean isExperimental(JavaClass javaClass) {
         return FluentIterable.of(javaClass.getAnnotations())
-            .anyMatch(new Predicate<Annotation>() {
-
-                @Override
-                public boolean apply(Annotation annotation) {
-                    return annotation.getType().getValue()
-                            .equals(Experimental.class.getName());
-                }
-            });
+            .anyMatch(annotation -> annotation.getType().getValue()
+                    .equals(Experimental.class.getName()));
     }
 
     private void handleInfoLoadFailure(Log log, String nameOfClass,

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
index 52c3410..f5496b7 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RecipientToLowerCase.java
@@ -27,7 +27,6 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.GenericMailet;
 
-import com.google.common.base.Function;
 import com.google.common.base.Throwables;
 import com.google.common.collect.FluentIterable;
 
@@ -38,22 +37,19 @@ import com.google.common.collect.FluentIterable;
  */
 public class RecipientToLowerCase extends GenericMailet{
 
-    public static final Function<MailAddress, MailAddress> TO_LOWERCASE = new Function<MailAddress, MailAddress>() {
-        @Override
-        public MailAddress apply(MailAddress input) {
-            try {
-                return new MailAddress(input.asString().toLowerCase(Locale.US));
-            } catch (AddressException e) {
-                throw Throwables.propagate(e);
-            }
-        }
-    };
-
     @Override
     public void service(Mail mail) throws MessagingException {
         mail.setRecipients(FluentIterable.from(mail.getRecipients())
-            .transform(TO_LOWERCASE)
+            .transform(this::toLowerCase)
             .toList());
     }
 
+    private MailAddress toLowerCase(MailAddress mailAddress) {
+        try {
+            return new MailAddress(mailAddress.asString().toLowerCase(Locale.US));
+        } catch (AddressException e) {
+            throw Throwables.propagate(e);
+        }
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java
index 2d22205..ea45cb2 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java
@@ -39,7 +39,6 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.GenericMailet;
 
-import com.google.common.base.Function;
 import com.google.common.base.Splitter;
 import com.google.common.base.Throwables;
 import com.google.common.collect.FluentIterable;
@@ -70,17 +69,6 @@ import com.google.common.collect.ImmutableList;
 @Experimental
 public class UseHeaderRecipients extends GenericMailet {
 
-    public static final Function<Mailbox, MailAddress> TO_MAIL_ADDRESS = new Function<Mailbox, MailAddress>() {
-        @Override
-        public MailAddress apply(Mailbox input) {
-            try {
-                return new MailAddress(input.getAddress());
-            } catch (AddressException e) {
-                throw Throwables.propagate(e);
-            }
-        }
-    };
-
     /**
      * Controls certain log messages
      */
@@ -190,10 +178,18 @@ public class UseHeaderRecipients extends GenericMailet {
         }
 
         return FluentIterable.from(mailboxList.build())
-            .transform(TO_MAIL_ADDRESS)
+            .transform(this::toMailAddress)
             .toList();
     }
 
+    private MailAddress toMailAddress(Mailbox mailbox) {
+        try {
+            return new MailAddress(mailbox.getAddress());
+        } catch (AddressException e) {
+            throw Throwables.propagate(e);
+        }
+    }
+
     private Collection<Mailbox> convertAddressToMailboxCollection(Address address) {
         if (address instanceof Mailbox) {
             return ImmutableList.of((Mailbox) address);

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
index 75086ba..fb78101 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java
@@ -25,9 +25,7 @@ import javax.mail.internet.AddressException;
 
 import org.apache.mailet.MailAddress;
 
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
 import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
@@ -39,20 +37,12 @@ public class MailAddressCollectionReader {
         Preconditions.checkArgument(!Strings.isNullOrEmpty(condition));
         return FluentIterable.from(Splitter.onPattern("(,| |\t)")
             .split(condition))
-            .filter(new Predicate<String>() {
-                @Override
-                public boolean apply(String s) {
-                    return !Strings.isNullOrEmpty(s);
-                }
-            })
-            .transform(new Function<String, MailAddress>() {
-                @Override
-                public MailAddress apply(String s) {
-                    try {
-                        return new MailAddress(s);
-                    } catch (AddressException e) {
-                        throw Throwables.propagate(e);
-                    }
+            .filter(s -> !Strings.isNullOrEmpty(s))
+            .transform(s -> {
+                try {
+                    return new MailAddress(s);
+                } catch (AddressException e) {
+                    throw Throwables.propagate(e);
                 }
             }).toSet();
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java
index db88e69..b062cb7 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/RecipientToLowerCaseTest.java
@@ -25,19 +25,11 @@ import java.util.Collection;
 
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.test.FakeMail;
-import org.assertj.core.api.iterable.Extractor;
 import org.junit.Before;
 import org.junit.Test;
 
 public class RecipientToLowerCaseTest {
 
-    public static final Extractor<MailAddress, String> AS_STRING = new Extractor<MailAddress, String>() {
-        @Override
-        public String extract(MailAddress mailAddress) {
-            return mailAddress.asString();
-        }
-    };
-
     private RecipientToLowerCase testee;
 
     @Before
@@ -56,7 +48,7 @@ public class RecipientToLowerCaseTest {
         Collection<MailAddress> recipients = fakeMail.getRecipients();
 
         assertThat(recipients)
-            .extracting(AS_STRING)
+            .extracting(MailAddress::asString)
             .containsOnly("thienan1234@gmail.com");
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
index 1ded296..e402b3b 100644
--- a/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
+++ b/mailet/standard/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
@@ -54,7 +54,6 @@ import org.junit.rules.ExpectedException;
 import org.junit.rules.TemporaryFolder;
 
 import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
 
 public class StripAttachmentTest {
@@ -239,13 +238,7 @@ public class StripAttachmentTest {
 
     private String retrieveFilenameStartingWith(Collection<String> savedAttachments, final String filename) {
         return FluentIterable.from(savedAttachments)
-                .filter(new Predicate<String>() {
-
-                    @Override
-                    public boolean apply(String attachmentFilename) {
-                        return attachmentFilename.startsWith(filename);
-                    }
-                })
+                .filter(attachmentFilename -> attachmentFilename.startsWith(filename))
                 .first()
                 .get();
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java b/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
index 9c65851..0edd5e4 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/session/ExternalSession.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.SocketChannel;
 import java.nio.charset.Charset;
-import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.lang.NotImplementedException;
@@ -130,13 +129,10 @@ public final class ExternalSession implements Session {
         Awaitility
             .waitAtMost(Duration.ONE_MINUTE)
             .pollDelay(new Duration(10, TimeUnit.MILLISECONDS))
-            .until(new Callable<Boolean>() {
-                @Override
-                public Boolean call() throws Exception {
-                    int read = socket.read(readBuffer);
-                    status.setValue(read);
-                    return read != 0;
-                }
+            .until(() -> {
+                int read = socket.read(readBuffer);
+                status.setValue(read);
+                return read != 0;
             });
         if (status.intValue() == -1) {
             monitor.debug("Error reading, got -1");

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java
----------------------------------------------------------------------
diff --git a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java
index ccf49c7..d4110dc 100644
--- a/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java
+++ b/mpt/impl/managesieve/core/src/main/java/org/apache/james/mpt/testsuite/HaveSpaceTest.java
@@ -21,9 +21,7 @@ package org.apache.james.mpt.testsuite;
 
 import java.util.Locale;
 
-import org.apache.james.mpt.api.HostSystem;
 import org.apache.james.mpt.host.ManageSieveHostSystem;
-import org.apache.james.mpt.script.GenericSimpleScriptedTestProtocol.PrepareCommand;
 import org.apache.james.mpt.script.SimpleScriptedTestProtocol;
 import org.junit.After;
 import org.junit.Before;
@@ -46,12 +44,8 @@ public abstract class HaveSpaceTest {
         simpleScriptedTestProtocol = new SimpleScriptedTestProtocol("/org/apache/james/managesieve/scripts/", hostSystem)
                 .withUser(USER, PASSWORD)
                 .withLocale(Locale.US)
-                .withPreparedCommand(new PrepareCommand<HostSystem>() {
-                    @Override
-                    public void prepare(HostSystem system) throws Exception {
-                        ((ManageSieveHostSystem) system).setMaxQuota(USER, 50);
-                    }
-                });
+                .withPreparedCommand(system ->
+                    ((ManageSieveHostSystem) system).setMaxQuota(USER, 50));
     }
     
     @After

http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java b/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
index 068da08..0bb351e 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
@@ -26,7 +26,6 @@ import java.util.Queue;
 import java.util.concurrent.LinkedBlockingQueue;
 
 import org.apache.james.protocols.api.future.FutureResponse;
-import org.apache.james.protocols.api.future.FutureResponse.ResponseListener;
 
 
 /**
@@ -113,14 +112,12 @@ public abstract class AbstractProtocolTransport implements ProtocolTransport{
         return !(response instanceof FutureResponse) || ((FutureResponse) response).isReady();
     }
     
-    private void addDequeuerListener(Response response, final ProtocolSession session) {
-        ((FutureResponse) response).addListener(new ResponseListener() {
-                
-            public void onResponse(FutureResponse response) {
+    private void addDequeuerListener(Response responseFuture, final ProtocolSession session) {
+        ((FutureResponse) responseFuture).addListener(
+            response -> {
                 writeResponseToClient(response, session);
                 writeQueuedResponses(session);
-            }
-        });
+            });
     }
     
     /**


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


[12/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java
index 231c69a..9c6296f 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java
@@ -315,7 +315,7 @@ class Account implements Comparable<Account> {
      * @return List
      */
     protected List<String> computeDeferredRecipientNotFoundMessageIDs() {
-        return new ArrayList<String>(DEFAULT_INITIAL_SIZE_OF_DEFERRED_RECIPIENT_ARRAY);
+        return new ArrayList<>(DEFAULT_INITIAL_SIZE_OF_DEFERRED_RECIPIENT_ARRAY);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
index 7eafc44..54cd9b2 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
@@ -19,6 +19,18 @@
 
 package org.apache.james.fetchmail;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.mail.MessagingException;
+import javax.mail.Session;
+
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
@@ -32,17 +44,6 @@ import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.slf4j.Logger;
 
-import javax.mail.MessagingException;
-import javax.mail.Session;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
 /**
  * <p>
  * Class <code>FetchMail</code> is an Avalon task that is periodically triggered
@@ -474,7 +475,7 @@ public class FetchMail implements Runnable, LogEnabled, Configurable {
             // sort the accounts so they are in the order
             // they were entered in config.xml
             updateDynamicAccounts();
-            ArrayList<Account> mergedAccounts = new ArrayList<Account>(getDynamicAccounts().size() + getStaticAccounts().size());
+            ArrayList<Account> mergedAccounts = new ArrayList<>(getDynamicAccounts().size() + getStaticAccounts().size());
             mergedAccounts.addAll(getDynamicAccounts().values());
             mergedAccounts.addAll(getStaticAccounts());
             Collections.sort(mergedAccounts);
@@ -646,14 +647,14 @@ public class FetchMail implements Runnable, LogEnabled, Configurable {
      * Computes the staticAccounts.
      */
     protected List<Account> computeStaticAccounts() {
-        return new ArrayList<Account>();
+        return new ArrayList<>();
     }
 
     /**
      * Computes the ParsedDynamicAccountParameters.
      */
     protected List<ParsedDynamicAccountParameters> computeParsedDynamicAccountParameters() {
-        return new ArrayList<ParsedDynamicAccountParameters>();
+        return new ArrayList<>();
     }
 
     /**
@@ -662,13 +663,13 @@ public class FetchMail implements Runnable, LogEnabled, Configurable {
     protected Map<DynamicAccountKey, DynamicAccount> computeDynamicAccounts() throws ConfigurationException {
         Map<DynamicAccountKey, DynamicAccount> newAccounts;
         try {
-            newAccounts = new HashMap<DynamicAccountKey, DynamicAccount>(getLocalUsers().countUsers() * getParsedDynamicAccountParameters().size());
+            newAccounts = new HashMap<>(getLocalUsers().countUsers() * getParsedDynamicAccountParameters().size());
         } catch (UsersRepositoryException e) {
             throw new ConfigurationException("Unable to acces UsersRepository", e);
         }
         Map<DynamicAccountKey, DynamicAccount> oldAccounts = getDynamicAccountsBasic();
         if (null == oldAccounts)
-            oldAccounts = new HashMap<DynamicAccountKey, DynamicAccount>(0);
+            oldAccounts = new HashMap<>(0);
 
         // Process each ParsedDynamicParameters
         for (ParsedDynamicAccountParameters parsedDynamicAccountParameters : getParsedDynamicAccountParameters()) {
@@ -732,7 +733,7 @@ public class FetchMail implements Runnable, LogEnabled, Configurable {
         Map<DynamicAccountKey, DynamicAccount> accounts;
         Iterator<String> usersIterator;
         try {
-            accounts = new HashMap<DynamicAccountKey, DynamicAccount>(getLocalUsers().countUsers());
+            accounts = new HashMap<>(getLocalUsers().countUsers());
             usersIterator = getLocalUsers().list();
 
         } catch (UsersRepositoryException e) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
index 01772ee..2565394 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
@@ -56,7 +56,7 @@ public class FetchScheduler implements FetchSchedulerMBean, LogEnabled, Configur
      */
     private volatile boolean enabled = false;
 
-    private final List<ScheduledFuture<?>> schedulers = new ArrayList<ScheduledFuture<?>>();
+    private final List<ScheduledFuture<?>> schedulers = new ArrayList<>();
 
     private DNSService dns;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
index c272284..a5f3472 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
@@ -19,12 +19,11 @@
 
 package org.apache.james.fetchmail;
 
-import org.apache.james.core.MailImpl;
-import org.apache.james.domainlist.api.DomainListException;
-import org.apache.james.user.api.UsersRepositoryException;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
-import org.apache.mailet.base.RFC2822Headers;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.StringTokenizer;
 
 import javax.mail.Address;
 import javax.mail.Flags;
@@ -33,11 +32,12 @@ import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.ParseException;
 
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.StringTokenizer;
+import org.apache.james.core.MailImpl;
+import org.apache.james.domainlist.api.DomainListException;
+import org.apache.james.user.api.UsersRepositoryException;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.RFC2822Headers;
 
 /**
  * <p>
@@ -591,7 +591,7 @@ public class MessageProcessor extends ProcessorAbstract {
      * @throws MessagingException
      */
     protected Mail createMail(MimeMessage message, MailAddress recipient) throws MessagingException, UnknownHostException {
-        Collection<MailAddress> recipients = new ArrayList<MailAddress>(1);
+        Collection<MailAddress> recipients = new ArrayList<>(1);
         recipients.add(recipient);
         MailImpl mail = new MailImpl(MailImpl.getId(), getSender(), recipients, message);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
----------------------------------------------------------------------
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
index 37e6996..80abcd3 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
@@ -626,7 +626,7 @@ class ParsedConfiguration {
      */
     protected void setBlacklist(String blacklistValue) throws ConfigurationException {
         StringTokenizer st = new StringTokenizer(blacklistValue, ", \t", false);
-        Set<MailAddress> blacklist = new HashSet<MailAddress>();
+        Set<MailAddress> blacklist = new HashSet<>();
         String token = null;
         while (st.hasMoreTokens()) {
             try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java
index a4d6190..3fdf41e 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/json/MultipleClassesDeserializer.java
@@ -34,7 +34,7 @@ import com.google.common.base.Throwables;
 
 public class MultipleClassesDeserializer extends StdDeserializer<Object> {
 
-    private final Map<String, Class<?>> registry =  new HashMap<String, Class<?>>();
+    private final Map<String, Class<?>> registry = new HashMap<>();
 
     MultipleClassesDeserializer() {
         super(Object.class);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
index d6edfbd..69b25d9 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java
@@ -62,7 +62,7 @@ public class MailSpoolTest {
         private ConcurrentLinkedQueue<Mail> queue;
 
         public MyQueue() {
-            queue = new ConcurrentLinkedQueue<Mail>();
+            queue = new ConcurrentLinkedQueue<>();
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 351dac3..1778609 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
@@ -56,7 +56,7 @@ public class IMAPServerFactory extends AbstractServerFactory {
     
     @Override
     protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception {
-        List<AbstractConfigurableAsyncServer> servers = new ArrayList<AbstractConfigurableAsyncServer>();
+        List<AbstractConfigurableAsyncServer> servers = new ArrayList<>();
         List<HierarchicalConfiguration> configs = config.configurationsAt("imapserver");
         
         for (HierarchicalConfiguration serverConfig: configs) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java
index dab3d16..c8c23bb 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyConstants.java
@@ -39,5 +39,5 @@ public interface NettyConstants {
     String EXECUTION_HANDLER = "executionHandler";
     String HEARTBEAT_HANDLER = "heartbeatHandler";
 
-    ChannelLocal<Object> attributes = new ChannelLocal<Object>();
+    ChannelLocal<Object> attributes = new ChannelLocal<>();
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
index 5d0c558..3c7bafd 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
@@ -42,7 +42,7 @@ public class NettyImapSession implements ImapSession, NettyConstants {
 
     private ImapSessionState state = ImapSessionState.NON_AUTHENTICATED;
     private SelectedMailbox selectedMailbox;
-    private final Map<String, Object> attributesByKey = new HashMap<String, Object>();
+    private final Map<String, Object> attributesByKey = new HashMap<>();
     private final SSLContext sslContext;
     private final String[] enabledCipherSuites;
     private final boolean compress;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
index c491586..364e94e 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
@@ -41,7 +41,7 @@ public class ProtocolHandlerChainImpl implements ProtocolHandlerChain {
     private final String jmxName;
     private final String coreHandlersPackage;
     private final String jmxHandlersPackage;
-    private final List<Object> handlers = new LinkedList<Object>();
+    private final List<Object> handlers = new LinkedList<>();
 
     public ProtocolHandlerChainImpl(ProtocolHandlerLoader loader, HierarchicalConfiguration handlerchainConfig, String jmxName, Class<? extends HandlersPackage> coreHandlersPackage, Class<? extends HandlersPackage> jmxHandlersPackage) {
         this.loader = loader;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java
index 64b7d2b..422eed8 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java
@@ -27,14 +27,18 @@ import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.api.handler.*;
+import org.apache.james.protocols.api.handler.CommandHandler;
+import org.apache.james.protocols.api.handler.ExtensibleHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler;
+import org.apache.james.protocols.api.handler.WiringException;
 
 /**
  * Expose JMX statistics for {@link CommandHandler}
  */
 public abstract class AbstractCommandHandlerResultJMXMonitor<S extends ProtocolSession> implements ProtocolHandlerResultHandler<Response, S>, ExtensibleHandler, ProtocolHandler {
 
-    private final Map<String, AbstractCommandHandlerStats> cStats = new HashMap<String, AbstractCommandHandlerStats>();
+    private final Map<String, AbstractCommandHandlerStats> cStats = new HashMap<>();
     private String jmxName;
 
     /**
@@ -60,7 +64,7 @@ public abstract class AbstractCommandHandlerResultJMXMonitor<S extends ProtocolS
      * org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> marker = new ArrayList<Class<?>>();
+        List<Class<?>> marker = new ArrayList<>();
         marker.add(CommandHandler.class);
         return marker;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
index ea64bb1..d9551e8 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
@@ -25,13 +25,13 @@ import java.util.Map;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.protocols.api.ProtocolSession;
+import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.ConnectHandler;
 import org.apache.james.protocols.api.handler.ExtensibleHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler;
 import org.apache.james.protocols.api.handler.WiringException;
-import org.apache.james.protocols.api.ProtocolSession;
-import org.apache.james.protocols.api.Response;
 
 /**
  * Handler which will gather statistics for {@link ConnectHandler}'s
@@ -40,7 +40,7 @@ import org.apache.james.protocols.api.Response;
  */
 public abstract class AbstractConnectHandlerResultJMXMonitor<R extends Response, S extends ProtocolSession> implements ProtocolHandlerResultHandler<R,S>, ExtensibleHandler, ProtocolHandler {
 
-    private final Map<String, ConnectHandlerStats> cStats = new HashMap<String, ConnectHandlerStats>();
+    private final Map<String, ConnectHandlerStats> cStats = new HashMap<>();
     private String jmxName;
 
     @Override
@@ -75,7 +75,7 @@ public abstract class AbstractConnectHandlerResultJMXMonitor<R extends Response,
      * org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> marker = new ArrayList<Class<?>>();
+        List<Class<?>> marker = new ArrayList<>();
         marker.add(ConnectHandler.class);
 
         return marker;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java
index 4787dad..5a6cd17 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java
@@ -27,7 +27,11 @@ import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.api.handler.*;
+import org.apache.james.protocols.api.handler.ExtensibleHandler;
+import org.apache.james.protocols.api.handler.LineHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandler;
+import org.apache.james.protocols.api.handler.ProtocolHandlerResultHandler;
+import org.apache.james.protocols.api.handler.WiringException;
 
 /**
  * Handler which will gather statistics for {@link LineHandler}'s
@@ -36,7 +40,7 @@ import org.apache.james.protocols.api.handler.*;
  */
 public abstract class AbstractLineHandlerResultJMXMonitor<R extends Response, S extends ProtocolSession> implements ProtocolHandlerResultHandler<R, S>, ExtensibleHandler, ProtocolHandler {
 
-    private final Map<String, LineHandlerStats> lStats = new HashMap<String, LineHandlerStats>();
+    private final Map<String, LineHandlerStats> lStats = new HashMap<>();
     private String jmxName;
 
     /**
@@ -57,7 +61,7 @@ public abstract class AbstractLineHandlerResultJMXMonitor<R extends Response, S
      * org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> marker = new ArrayList<Class<?>>();
+        List<Class<?>> marker = new ArrayList<>();
         marker.add(LineHandler.class);
         return marker;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 d72d53e..e4784ec 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
@@ -169,7 +169,7 @@ public abstract class AbstractConfigurableAsyncServer extends AbstractAsyncServe
         }
 
         String listen[] = config.getString("bind", "0.0.0.0:" + getDefaultPort()).split(",");
-        List<InetSocketAddress> bindAddresses = new ArrayList<InetSocketAddress>();
+        List<InetSocketAddress> bindAddresses = new ArrayList<>();
         for (String aListen : listen) {
             String bind[] = aListen.split(":");
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
index 547e0fb..8c7295a 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
@@ -37,7 +37,7 @@ public class JMXEnabledOrderedMemoryAwareThreadPoolExecutor extends OrderedMemor
 
     private final String jmxPath;
     private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<Runnable>());
-    private final ThreadLocal<Long> startTime = new ThreadLocal<Long>();
+    private final ThreadLocal<Long> startTime = new ThreadLocal<>();
     private long totalTime;
     private int totalTasks;
     private MBeanServer mbeanServer;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java b/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
index 4ec0cc6..9adaf84 100644
--- a/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
+++ b/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
@@ -37,8 +37,8 @@ public class MockProtocolHandlerLoader implements ProtocolHandlerLoader{
         }
     }
 
-    private final Map<String, Object> servicesByName = new HashMap<String, Object>();
-    private final Map<Class<?>, Object> servicesByType = new HashMap<Class<?>, Object>();
+    private final Map<String, Object> servicesByName = new HashMap<>();
+    private final Map<Class<?>, Object> servicesByType = new HashMap<>();
     
     public Object get(String name) {
         return servicesByName.get(name);
@@ -53,7 +53,7 @@ public class MockProtocolHandlerLoader implements ProtocolHandlerLoader{
         servicesByType.put(serviceType, instance);
     }
 
-    private final List<Object> loaderRegistry = new ArrayList<Object>();
+    private final List<Object> loaderRegistry = new ArrayList<>();
 
     protected ProtocolHandler create(String className) throws InstantiationException, IllegalAccessException, ClassNotFoundException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java
index 7c3bebe..66fce45 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java
@@ -50,7 +50,7 @@ import org.apache.james.smtpserver.fastfail.ValidRcptHandler;
  */
 public class CoreCmdHandlerLoader implements HandlersPackage {
 
-    private final List<String> commands = new LinkedList<String>();
+    private final List<String> commands = new LinkedList<>();
 
     public CoreCmdHandlerLoader() {
         // Insert the base commands in the Map

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/DataLineLMTPHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/DataLineLMTPHandler.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/DataLineLMTPHandler.java
index 3794d54..98e885a 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/DataLineLMTPHandler.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/DataLineLMTPHandler.java
@@ -18,6 +18,12 @@
  ****************************************************************/
 package org.apache.james.lmtpserver;
 
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.WiringException;
 import org.apache.james.protocols.lmtp.LMTPMultiResponse;
@@ -32,18 +38,12 @@ import org.apache.james.protocols.smtp.dsn.DSNStatus;
 import org.apache.james.smtpserver.DataLineJamesMessageHookHandler;
 import org.apache.mailet.Mail;
 
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
 /**
  * Handler which takes care of deliver the mail to the recipients INBOX
  */
 public class DataLineLMTPHandler extends DataLineJamesMessageHookHandler {
 
-    private final List<DeliverToRecipientHook> handlers = new ArrayList<DeliverToRecipientHook>();
+    private final List<DeliverToRecipientHook> handlers = new ArrayList<>();
 
 
     @Override
@@ -83,7 +83,7 @@ public class DataLineLMTPHandler extends DataLineJamesMessageHookHandler {
 
     @Override
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> markers = new ArrayList<Class<?>>();
+        List<Class<?>> markers = new ArrayList<>();
         markers.add(DeliverToRecipientHook.class);
         return markers;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java
index 05576cf..5001404 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java
@@ -27,7 +27,7 @@ import org.apache.james.protocols.lib.handler.HandlersPackage;
 
 public class JMXHandlersLoader implements HandlersPackage {
 
-    private final List<String> handlers = new ArrayList<String>();
+    private final List<String> handlers = new ArrayList<>();
 
     public JMXHandlersLoader() {
         handlers.add(ConnectHandlerResultJMXMonitor.class.getName());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 88160d0..7e2e0d9 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
@@ -50,7 +50,7 @@ public class LMTPServerFactory extends AbstractServerFactory{
     
     @Override
     protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception{
-        List<AbstractConfigurableAsyncServer> servers = new ArrayList<AbstractConfigurableAsyncServer>();
+        List<AbstractConfigurableAsyncServer> servers = new ArrayList<>();
         List<HierarchicalConfiguration> configs = config.configurationsAt("lmtpserver");
         
         for (HierarchicalConfiguration serverConfig: configs) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveChannelUpstreamHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveChannelUpstreamHandler.java b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveChannelUpstreamHandler.java
index a603161..89e6e5c 100644
--- a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveChannelUpstreamHandler.java
+++ b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveChannelUpstreamHandler.java
@@ -19,6 +19,10 @@
 
 package org.apache.james.managesieveserver.netty;
 
+import java.net.InetSocketAddress;
+
+import javax.net.ssl.SSLContext;
+
 import org.apache.james.managesieve.api.Session;
 import org.apache.james.managesieve.api.SessionTerminatedException;
 import org.apache.james.managesieve.transcode.ManageSieveProcessor;
@@ -39,9 +43,6 @@ import org.jboss.netty.handler.codec.frame.TooLongFrameException;
 import org.jboss.netty.handler.ssl.SslHandler;
 import org.slf4j.Logger;
 
-import javax.net.ssl.SSLContext;
-import java.net.InetSocketAddress;
-
 @SuppressWarnings("deprecation")
 public class ManageSieveChannelUpstreamHandler extends SimpleChannelUpstreamHandler {
 
@@ -57,7 +58,7 @@ public class ManageSieveChannelUpstreamHandler extends SimpleChannelUpstreamHand
     public ManageSieveChannelUpstreamHandler(ManageSieveProcessor manageSieveProcessor, SSLContext sslContext,
                                              String[] enabledCipherSuites, boolean sslServer, Logger logger) {
         this.logger = logger;
-        this.attributes = new ChannelLocal<Session>();
+        this.attributes = new ChannelLocal<>();
         this.manageSieveProcessor = manageSieveProcessor;
         this.sslContext = sslContext;
         this.enabledCipherSuites = enabledCipherSuites;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 bd1be70..a2d2561 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
@@ -73,7 +73,7 @@ public class ManageSieveServerFactory extends AbstractServerFactory {
 
     @Override
     protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception {
-        List<AbstractConfigurableAsyncServer> servers = new ArrayList<AbstractConfigurableAsyncServer>();
+        List<AbstractConfigurableAsyncServer> servers = new ArrayList<>();
         List<HierarchicalConfiguration> configs = config.configurationsAt("managesieveserver");
 
         for (HierarchicalConfiguration serverConfig: configs) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
index 30662af..45ab614 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
@@ -66,7 +66,7 @@ public class CoreCmdHandlerLoader implements HandlersPackage {
     private final static String COMMANDHANDLERRESULTLOGGER = CommandHandlerResultLogger.class.getName();
 
 
-    private final List<String> commands = new LinkedList<String>();
+    private final List<String> commands = new LinkedList<>();
 
     public CoreCmdHandlerLoader() {
         // Insert the base commands in the Map

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java
index ba41df7..f5182c1 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java
@@ -27,7 +27,7 @@ import org.apache.james.protocols.lib.handler.HandlersPackage;
 
 public class JMXHandlersLoader implements HandlersPackage {
 
-    private final List<String> handlers = new ArrayList<String>();
+    private final List<String> handlers = new ArrayList<>();
 
     public JMXHandlersLoader() {
         handlers.add(ConnectHandlerResultJMXMonitor.class.getName());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
index 321628e..c4cf74b 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
@@ -48,7 +48,7 @@ public class MailboxAdapter implements Mailbox {
     private static abstract class POP3FetchGroup implements FetchGroup {
         @Override
         public Set<PartContentDescriptor> getPartContentDescriptors() {
-            return new HashSet<PartContentDescriptor>();
+            return new HashSet<>();
         }
     }
 
@@ -154,7 +154,7 @@ public class MailboxAdapter implements Mailbox {
         try {
             mailboxManager.startProcessingRequest(session);
             Iterator<MessageResult> results = manager.getMessages(MessageRange.all(), METADATA_GROUP, session);
-            List<MessageMetaData> mList = new ArrayList<MessageMetaData>();
+            List<MessageMetaData> mList = new ArrayList<>();
             while (results.hasNext()) {
                 MessageResult result = results.next();
                 MessageMetaData metaData = new MessageMetaData(String.valueOf(result.getUid().asLong()), result.getSize());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 1e56966..6028de1 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
@@ -34,7 +34,7 @@ public class POP3ServerFactory extends AbstractServerFactory{
     @Override
     protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception{
 
-        List<AbstractConfigurableAsyncServer> servers = new ArrayList<AbstractConfigurableAsyncServer>();
+        List<AbstractConfigurableAsyncServer> servers = new ArrayList<>();
         List<HierarchicalConfiguration> configs = config.configurationsAt("pop3server");
         
         for (HierarchicalConfiguration serverConfig: configs) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java
index b85c1b6..1fe5a34 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java
@@ -48,7 +48,7 @@ import org.apache.james.protocols.smtp.core.log.HookResultLogger;
  */
 public class CoreCmdHandlerLoader implements HandlersPackage {
 
-    private final List<String> commands = new LinkedList<String>();
+    private final List<String> commands = new LinkedList<>();
 
     public CoreCmdHandlerLoader() {
         // Insert the base commands in the Map

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
index 970d0b3..882bc21 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
@@ -19,6 +19,17 @@
 
 package org.apache.james.smtpserver;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.AddressException;
+
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.core.MailImpl;
@@ -47,17 +58,6 @@ import org.apache.james.smtpserver.model.MailetMailAddressAdapter;
 import org.apache.james.smtpserver.model.ProtocolMailAddressAdapter;
 import org.apache.mailet.Mail;
 
-import javax.mail.MessagingException;
-import javax.mail.internet.AddressException;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
 /**
  * Handles the calling of JamesMessageHooks
  */
@@ -99,7 +99,7 @@ public class DataLineJamesMessageHookHandler implements DataLineFilter, Extensib
                 List<MailAddress> recipientCollection = (List<MailAddress>) session.getAttachment(SMTPSession.RCPT_LIST, State.Transaction);
                 MailAddress mailAddress = (MailAddress) session.getAttachment(SMTPSession.SENDER, State.Transaction);
 
-                List<org.apache.mailet.MailAddress> rcpts = new ArrayList<org.apache.mailet.MailAddress>();
+                List<org.apache.mailet.MailAddress> rcpts = new ArrayList<>();
                 for (MailAddress address : recipientCollection) {
                     rcpts.add(new MailetMailAddressAdapter(address));
                 }
@@ -238,7 +238,7 @@ public class DataLineJamesMessageHookHandler implements DataLineFilter, Extensib
 
     @Override
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> classes = new LinkedList<Class<?>>();
+        List<Class<?>> classes = new LinkedList<>();
         classes.add(JamesMessageHook.class);
         classes.add(MessageHook.class);
         classes.add(HookResultHook.class);
@@ -271,7 +271,7 @@ public class DataLineJamesMessageHookHandler implements DataLineFilter, Extensib
         @Override
         public List<MailAddress> getRecipients() {
             //TODO: not sure this MailAddress transformation code does the right thing
-            List<MailAddress> mailAddressList = new ArrayList<MailAddress>();
+            List<MailAddress> mailAddressList = new ArrayList<>();
             for (org.apache.mailet.MailAddress address : mail.getRecipients()) {
                 try {
                     mailAddressList.add(new MailAddress(address.getLocalPart(), address.getDomain()));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java
index ff86a83..864c737 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java
@@ -43,7 +43,7 @@ import org.apache.mailet.MailAddress;
  */
 public class MailPriorityHandler implements JamesMessageHook, ProtocolHandler {
 
-    private final Map<String, Integer> prioMap = new HashMap<String, Integer>();
+    private final Map<String, Integer> prioMap = new HashMap<>();
 
     /**
      * @see

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/TLDLookup.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/TLDLookup.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/TLDLookup.java
index 1c12b43..f780975 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/TLDLookup.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/TLDLookup.java
@@ -87,7 +87,7 @@ public class TLDLookup {
      * @return a HashSet containing all known two-part TLDs
      */
     static private HashSet<String> initTwoPartTLDs() {
-        HashSet<String> set = new HashSet<String>(900);
+        HashSet<String> set = new HashSet<>(900);
         for (String multiPartTLD : multiPartTLDs) {
             try {
                 if (multiPartTLD.matches("^" + tld2 + "$")) {
@@ -107,7 +107,7 @@ public class TLDLookup {
      * @return a HashSet containing all known three-part TLDs
      */
     static private HashSet<String> initThreePartTLDs() {
-        HashSet<String> set = new HashSet<String>();
+        HashSet<String> set = new HashSet<>();
         for (String multiPartTLD : multiPartTLDs) {
             try {
                 if (multiPartTLD.matches("^" + tld3 + "$")) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
index ed2a962..9c95452 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
@@ -36,7 +36,7 @@ public class DNSRBLHandler extends org.apache.james.protocols.smtp.core.fastfail
     private DNSService dns;
 
     @Inject
-    public void setDNSService(DNSService dns) {
+    public void setDNSService(DNSService dns) {
         this.dns = dns;
     }
 
@@ -44,7 +44,7 @@ public class DNSRBLHandler extends org.apache.james.protocols.smtp.core.fastfail
     public void init(Configuration config) throws ConfigurationException {
         boolean validConfig = false;
         HierarchicalConfiguration handlerConfiguration = (HierarchicalConfiguration) config;
-        ArrayList<String> rblserverCollection = new ArrayList<String>();
+        ArrayList<String> rblserverCollection = new ArrayList<>();
 
         Collections.addAll(rblserverCollection, handlerConfiguration.getStringArray("rblservers.whitelist"));
         if (rblserverCollection.size() > 0) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
index 0457354..f213c05 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
@@ -89,7 +89,7 @@ public class JDBCGreylistHandler extends AbstractGreylistHandler implements Prot
     private String sqlFileUrl;
 
     /** Holds value of property sqlParameters. */
-    private final Map<String, String> sqlParameters = new HashMap<String, String>();
+    private final Map<String, String> sqlParameters = new HashMap<>();
 
     private DNSService dnsService;
 
@@ -182,7 +182,7 @@ public class JDBCGreylistHandler extends AbstractGreylistHandler implements Prot
      *      java.lang.String, java.lang.String)
      */
     protected Iterator<String> getGreyListData(String ipAddress, String sender, String recip) throws SQLException {
-        Collection<String> data = new ArrayList<String>(2);
+        Collection<String> data = new ArrayList<>(2);
         PreparedStatement mappingStmt = null;
         Connection conn = datasource.getConnection();
         try {
@@ -420,7 +420,7 @@ public class JDBCGreylistHandler extends AbstractGreylistHandler implements Prot
         String nets = handlerConfiguration.getString("whitelistedNetworks");
         if (nets != null) {
             String[] whitelistArray = nets.split(",");
-            List<String> wList = new ArrayList<String>(whitelistArray.length);
+            List<String> wList = new ArrayList<>(whitelistArray.length);
             for (String aWhitelistArray : whitelistArray) {
                 wList.add(aWhitelistArray.trim());
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
index 26a9ea8..241ae12 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
@@ -156,7 +156,7 @@ public class URIRBLHandler implements JamesMessageHook, ProtocolHandler {
      *         extracted
      */
     private HashSet<String> scanMailForDomains(MimePart part, SMTPSession session) throws MessagingException, IOException {
-        HashSet<String> domains = new HashSet<String>();
+        HashSet<String> domains = new HashSet<>();
         session.getLogger().debug("mime type is: \"" + part.getContentType() + "\"");
 
         if (part.isMimeType("text/plain") || part.isMimeType("text/html")) {
@@ -234,7 +234,7 @@ public class URIRBLHandler implements JamesMessageHook, ProtocolHandler {
     @Override
     public void init(Configuration config) throws ConfigurationException {
         String[] servers = config.getStringArray("uriRblServers.server");
-        Collection<String> serverCollection = new ArrayList<String>();
+        Collection<String> serverCollection = new ArrayList<>();
         for (String rblServerName : servers) {
             serverCollection.add(rblServerName);
             if (serviceLog.isInfoEnabled()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
index 01e1100..04c450e 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIScanner.java
@@ -205,7 +205,7 @@ public class URIScanner {
      * @return a HashSet containing host strings
      */
     static protected HashSet<String> scanContentForHosts(CharSequence content) {
-        HashSet<String> set = new HashSet<String>();
+        HashSet<String> set = new HashSet<>();
 
         // look for URIs
         Matcher mat = uriPattern.matcher(content);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java
index 60b0b1e..2d8c353 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java
@@ -39,7 +39,7 @@ import org.apache.james.protocols.smtp.hook.HookResultHook;
  */
 public class HookResultJMXMonitor implements HookResultHook, ExtensibleHandler, ProtocolHandler {
 
-    private final Map<String, HookStats> hookStats = new HashMap<String, HookStats>();
+    private final Map<String, HookStats> hookStats = new HashMap<>();
     private String jmxPath;
 
     /**
@@ -63,7 +63,7 @@ public class HookResultJMXMonitor implements HookResultHook, ExtensibleHandler,
      * org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> marker = new ArrayList<Class<?>>();
+        List<Class<?>> marker = new ArrayList<>();
         marker.add(Hook.class);
         return marker;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java
index 4548ae3..49984f5 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java
@@ -27,7 +27,7 @@ import org.apache.james.protocols.lib.handler.HandlersPackage;
 
 public class JMXHandlersLoader implements HandlersPackage {
 
-    private final List<String> handlers = new ArrayList<String>();
+    private final List<String> handlers = new ArrayList<>();
 
     public JMXHandlersLoader() {
         handlers.add(ConnectHandlerResultJMXMonitor.class.getName());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
index 32316c0..db3bbe9 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
@@ -105,7 +105,7 @@ public class SMTPServer extends AbstractProtocolAsyncServer implements SMTPServe
         super.preInit();
         if (authorizedAddresses != null) {
             java.util.StringTokenizer st = new java.util.StringTokenizer(authorizedAddresses, ", ", false);
-            java.util.Collection<String> networks = new java.util.ArrayList<String>();
+            java.util.Collection<String> networks = new java.util.ArrayList<>();
             while (st.hasMoreTokens()) {
                 String addr = st.nextToken();
                 networks.add(addr);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 d85d81f..ebb9a35 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
@@ -55,7 +55,7 @@ public class SMTPServerFactory extends AbstractServerFactory {
     @Override
     protected List<AbstractConfigurableAsyncServer> createServers(Logger log, HierarchicalConfiguration config) throws Exception{
         
-        List<AbstractConfigurableAsyncServer> servers = new ArrayList<AbstractConfigurableAsyncServer>();
+        List<AbstractConfigurableAsyncServer> servers = new ArrayList<>();
         List<HierarchicalConfiguration> configs = config.configurationsAt("smtpserver");
         
         for (HierarchicalConfiguration serverConfig: configs) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 e0af73b..1df03c5 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
@@ -42,7 +42,6 @@ import java.util.Map;
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 
-import com.google.common.collect.ImmutableList;
 import org.apache.commons.net.ProtocolCommandEvent;
 import org.apache.commons.net.ProtocolCommandListener;
 import org.apache.commons.net.smtp.SMTPClient;
@@ -78,6 +77,8 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.collect.ImmutableList;
+
 @SuppressWarnings("deprecation")
 public class SMTPServerTest {
 
@@ -87,7 +88,7 @@ public class SMTPServerTest {
 
         @Override
         public Collection<String> findMXRecords(String hostname) {
-            List<String> res = new ArrayList<String>();
+            List<String> res = new ArrayList<>();
             if (hostname == null) {
                 return res;
             }
@@ -136,7 +137,7 @@ public class SMTPServerTest {
 
         @Override
         public Collection<String> findTXTRecords(String hostname) {
-            List<String> res = new ArrayList<String>();
+            List<String> res = new ArrayList<>();
             if (hostname == null) {
                 return res;
             }
@@ -449,7 +450,7 @@ public class SMTPServerTest {
         smtpProtocol.sendCommand("EHLO " + InetAddress.getLocalHost());
         String[] capabilityRes = smtpProtocol.getReplyStrings();
 
-        List<String> capabilitieslist = new ArrayList<String>();
+        List<String> capabilitieslist = new ArrayList<>();
         for (int i = 1; i < capabilityRes.length; i++) {
             capabilitieslist.add(capabilityRes[i].substring(4));
         }
@@ -565,7 +566,7 @@ public class SMTPServerTest {
         smtpProtocol.sendCommand("EHLO " + InetAddress.getLocalHost());
         String[] capabilityRes = smtpProtocol.getReplyStrings();
 
-        List<String> capabilitieslist = new ArrayList<String>();
+        List<String> capabilitieslist = new ArrayList<>();
         for (int i = 1; i < capabilityRes.length; i++) {
             capabilitieslist.add(capabilityRes[i].substring(4));
         }
@@ -1313,7 +1314,7 @@ public class SMTPServerTest {
         smtpProtocol.sendCommand("ehlo", InetAddress.getLocalHost().toString());
         String[] capabilityRes = smtpProtocol.getReplyStrings();
 
-        List<String> capabilitieslist = new ArrayList<String>();
+        List<String> capabilitieslist = new ArrayList<>();
         for (int i = 1; i < capabilityRes.length; i++) {
             capabilitieslist.add(capabilityRes[i].substring(4));
         }
@@ -1598,7 +1599,7 @@ public class SMTPServerTest {
         smtpProtocol.sendCommand("ehlo", InetAddress.getLocalHost().toString());
         String[] capabilityRes = smtpProtocol.getReplyStrings();
 
-        List<String> capabilitieslist = new ArrayList<String>();
+        List<String> capabilitieslist = new ArrayList<>();
         for (int i = 1; i < capabilityRes.length; i++) {
             capabilitieslist.add(capabilityRes[i].substring(4));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
index 8286199..3018bee 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
@@ -18,9 +18,12 @@
  ****************************************************************/
 package org.apache.james.smtpserver;
 
+import static org.junit.Assert.assertEquals;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+
 import org.apache.james.jspf.core.DNSRequest;
 import org.apache.james.jspf.core.DNSService;
 import org.apache.james.jspf.core.exceptions.TimeoutException;
@@ -29,7 +32,6 @@ import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.apache.james.smtpserver.fastfail.SPFHandler;
-import static org.junit.Assert.assertEquals;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -88,7 +90,7 @@ public class SPFHandlerTest {
                 switch (req.getRecordType()) {
                     case DNSRequest.TXT:
                     case DNSRequest.SPF:
-                        List<String> l = new ArrayList<String>();
+                        List<String> l = new ArrayList<>();
                         if (req.getHostname().equals("spf1.james.apache.org")) {
                             // pass
                             l.add("v=spf1 +all");
@@ -124,8 +126,8 @@ public class SPFHandlerTest {
     private void setupMockedSMTPSession(String ip, final String helo) {
         mockedSMTPSession = new BaseFakeSMTPSession() {
 
-            private final HashMap<String, Object> sstate = new HashMap<String, Object>();
-            private final HashMap<String, Object> connectionState = new HashMap<String, Object>();
+            private final HashMap<String, Object> sstate = new HashMap<>();
+            private final HashMap<String, Object> connectionState = new HashMap<>();
 
             @Override
             public Object setAttachment(String key, Object value, State state) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
index 8a32e62..d9c7dea 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
@@ -18,10 +18,15 @@
  ****************************************************************/
 package org.apache.james.smtpserver;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 import java.io.IOException;
 import java.util.HashMap;
+
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
+
 import org.apache.james.protocols.lib.PortUtil;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookResult;
@@ -33,7 +38,6 @@ import org.apache.james.smtpserver.mock.mailet.MockMail;
 import org.apache.james.smtpserver.mock.util.MockSpamd;
 import org.apache.james.util.scanner.SpamAssassinInvoker;
 import org.apache.mailet.Mail;
-import static org.junit.Assert.*;
 import org.junit.Test;
 
 public class SpamAssassinHandlerTest {
@@ -46,8 +50,8 @@ public class SpamAssassinHandlerTest {
 
         return new BaseFakeSMTPSession() {
 
-            private final HashMap<String, Object> sstate = new HashMap<String, Object>();
-            private final HashMap<String, Object> connectionState = new HashMap<String, Object>();
+            private final HashMap<String, Object> sstate = new HashMap<>();
+            private final HashMap<String, Object> connectionState = new HashMap<>();
             private boolean relayingAllowed;
 
             @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
index e12433b..7d138f9 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.james.smtpserver;
 
+import static org.junit.Assert.assertEquals;
+
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
@@ -25,12 +27,14 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
+
 import javax.mail.BodyPart;
 import javax.mail.MessagingException;
 import javax.mail.Multipart;
 import javax.mail.internet.MimeBodyPart;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
+
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.mock.MockDNSService;
 import org.apache.james.protocols.smtp.SMTPSession;
@@ -41,7 +45,6 @@ import org.apache.james.smtpserver.fastfail.URIRBLHandler;
 import org.apache.james.smtpserver.mock.MockMimeMessage;
 import org.apache.james.smtpserver.mock.mailet.MockMail;
 import org.apache.mailet.Mail;
-import static org.junit.Assert.assertEquals;
 import org.junit.Test;
 
 public class URIRBLHandlerTest {
@@ -59,8 +62,8 @@ public class URIRBLHandlerTest {
 
             private boolean relayingAllowed;
 
-            private final HashMap<String, Object> sstate = new HashMap<String, Object>();
-            private final HashMap<String, Object> connectionState = new HashMap<String, Object>();
+            private final HashMap<String, Object> sstate = new HashMap<>();
+            private final HashMap<String, Object> connectionState = new HashMap<>();
 
             @Override
             public Object setAttachment(String key, Object value, State state) {
@@ -142,7 +145,7 @@ public class URIRBLHandlerTest {
 
             @Override
             public Collection<String> findTXTRecords(String hostname) {
-                List<String> res = new ArrayList<String>();
+                List<String> res = new ArrayList<>();
                 if (hostname == null) {
                     return res;
                 }
@@ -170,7 +173,7 @@ public class URIRBLHandlerTest {
     @Test
     public void testNotBlocked() throws IOException, MessagingException {
 
-        ArrayList<String> servers = new ArrayList<String>();
+        ArrayList<String> servers = new ArrayList<>();
         servers.add(URISERVER);
 
         SMTPSession session = setupMockedSMTPSession(setupMockedMail(setupMockedMimeMessage(
@@ -188,7 +191,7 @@ public class URIRBLHandlerTest {
     @Test
     public void testBlocked() throws IOException, MessagingException {
 
-        ArrayList<String> servers = new ArrayList<String>();
+        ArrayList<String> servers = new ArrayList<>();
         servers.add(URISERVER);
 
         SMTPSession session = setupMockedSMTPSession(setupMockedMail(setupMockedMimeMessage(
@@ -206,7 +209,7 @@ public class URIRBLHandlerTest {
     @Test
     public void testBlockedMultiPart() throws IOException, MessagingException {
 
-        ArrayList<String> servers = new ArrayList<String>();
+        ArrayList<String> servers = new ArrayList<>();
         servers.add(URISERVER);
 
         SMTPSession session = setupMockedSMTPSession(setupMockedMail(setupMockedMimeMessageMP(

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
index 562bc59..79a8589 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
@@ -80,8 +80,8 @@ public class ValidRcptHandlerTest {
             public boolean isRelayingAllowed() {
                 return relayingAllowed;
             }
-            private final HashMap<String, Object> sstate = new HashMap<String, Object>();
-            private final HashMap<String, Object> connectionState = new HashMap<String, Object>();
+            private final HashMap<String, Object> sstate = new HashMap<>();
+            private final HashMap<String, Object> connectionState = new HashMap<>();
 
             @Override
             public Object setAttachment(String key, Object value, State state) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/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 84a18f5..523dc9c 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
@@ -18,12 +18,16 @@
  ****************************************************************/
 package org.apache.james.smtpserver;
 
+import static org.junit.Assert.assertEquals;
+
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+
 import javax.mail.internet.ParseException;
+
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.mock.MockDNSService;
 import org.apache.james.protocols.smtp.MailAddress;
@@ -32,7 +36,6 @@ import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.utils.BaseFakeSMTPSession;
 import org.apache.james.smtpserver.fastfail.ValidRcptMX;
-import static org.junit.Assert.assertEquals;
 import org.junit.Test;
 
 public class ValidRcptMXTest {
@@ -44,8 +47,8 @@ public class ValidRcptMXTest {
     private SMTPSession setupMockedSMTPSession(MailAddress rcpt) {
         return new BaseFakeSMTPSession() {
 
-            private final HashMap<String, Object> sstate = new HashMap<String, Object>();
-            private final HashMap<String, Object> connectionState = new HashMap<String, Object>();
+            private final HashMap<String, Object> sstate = new HashMap<>();
+            private final HashMap<String, Object> connectionState = new HashMap<>();
 
             @Override
             public Object setAttachment(String key, Object value, State state) {
@@ -79,7 +82,7 @@ public class ValidRcptMXTest {
 
             @Override
             public Collection<String> findMXRecords(String hostname) {
-                Collection<String> mx = new ArrayList<String>();
+                Collection<String> mx = new ArrayList<>();
 
                 if (hostname.equals(INVALID_HOST)) {
                     mx.add(INVALID_MX);
@@ -101,7 +104,7 @@ public class ValidRcptMXTest {
 
     @Test
     public void testRejectLoopbackMX() throws ParseException, MailAddressException {
-        Collection<String> bNetworks = new ArrayList<String>();
+        Collection<String> bNetworks = new ArrayList<>();
         bNetworks.add("127.0.0.1");
 
         DNSService dns = setupMockedDNSServer();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
index 2cd567e..fe68393 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/MockMimeMessage.java
@@ -48,12 +48,12 @@ import com.github.steveash.guavate.Guavate;
 
 public class MockMimeMessage extends MimeMessage {
 
-    private final List<Address> fromAddresses = new ArrayList<Address>();
+    private final List<Address> fromAddresses = new ArrayList<>();
     private Address senderAddress;
-    private final List<Address> toRecepients = new ArrayList<Address>();
-    private final List<Address> ccRecepients = new ArrayList<Address>();
-    private final List<Address> bccRecepients = new ArrayList<Address>();
-    private final List<Address> replyToAddresses = new ArrayList<Address>();
+    private final List<Address> toRecepients = new ArrayList<>();
+    private final List<Address> ccRecepients = new ArrayList<>();
+    private final List<Address> bccRecepients = new ArrayList<>();
+    private final List<Address> replyToAddresses = new ArrayList<>();
     private String subject;
     private int messageNumber;
     private boolean isExpunged;
@@ -62,7 +62,7 @@ public class MockMimeMessage extends MimeMessage {
     private String[] contentLanguage;
     private String fileName;
     private DataHandler dataHandler;
-    private final HashMap<String, String> contentHeaders = new HashMap<String, String>();
+    private final HashMap<String, String> contentHeaders = new HashMap<>();
     private final Flags setFlags = new Flags();
     private boolean doMatch;
 
@@ -132,7 +132,7 @@ public class MockMimeMessage extends MimeMessage {
 
     @Override
     public Address[] getAllRecipients() throws MessagingException {
-        List<Address> allRecipients = new ArrayList<Address>();
+        List<Address> allRecipients = new ArrayList<>();
         allRecipients.addAll(toRecepients);
         allRecipients.addAll(ccRecepients);
         allRecipients.addAll(bccRecepients);
@@ -418,7 +418,7 @@ public class MockMimeMessage extends MimeMessage {
 
     @Override
     public Enumeration<String> getMatchingHeaders(String[] names) throws MessagingException {
-        ArrayList<String> matchingHeaders = new ArrayList<String>();
+        ArrayList<String> matchingHeaders = new ArrayList<>();
         for (String name : names) {
             String value = getHeader(name, null);
             if (value == null) {
@@ -433,7 +433,7 @@ public class MockMimeMessage extends MimeMessage {
     public Enumeration<String> getNonMatchingHeaders(String[] names) throws MessagingException {
         List<String> existingHeaders = Arrays.asList(names);
 
-        ArrayList<String> nonMatchingHeaders = new ArrayList<String>();
+        ArrayList<String> nonMatchingHeaders = new ArrayList<>();
 
         for (String name : contentHeaders.keySet()) {
             if (existingHeaders.contains(name)) {
@@ -472,7 +472,7 @@ public class MockMimeMessage extends MimeMessage {
 
     @Override
     public Enumeration<String> getMatchingHeaderLines(String[] names) throws MessagingException {
-        ArrayList<String> matchingHeaders = new ArrayList<String>();
+        ArrayList<String> matchingHeaders = new ArrayList<>();
         for (String name : names) {
             String value = getHeader(name, null);
             if (value == null) {
@@ -487,7 +487,7 @@ public class MockMimeMessage extends MimeMessage {
     public Enumeration<String> getNonMatchingHeaderLines(String[] names) throws MessagingException {
         List<String> existingHeaders = names != null ? Arrays.asList(names) : null;
 
-        ArrayList<String> nonMatchingHeaders = new ArrayList<String>();
+        ArrayList<String> nonMatchingHeaders = new ArrayList<>();
 
         for (String name : contentHeaders.keySet()) {
             if (existingHeaders != null && existingHeaders.contains(name)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMail.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMail.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMail.java
index 07a8574..6f1aac2 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMail.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMail.java
@@ -19,7 +19,11 @@
 package org.apache.james.smtpserver.mock.mailet;
 
 import java.io.Serializable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
 
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
@@ -33,13 +37,13 @@ import org.apache.mailet.PerRecipientHeaders.Header;
 public class MockMail implements Mail {
 
     private MimeMessage msg = null;
-    private Collection<MailAddress> recipients = new ArrayList<MailAddress>();
+    private Collection<MailAddress> recipients = new ArrayList<>();
     private String name = null;
     private final MailAddress sender = null;
     private String state = null;
     private String errorMessage;
     private Date lastUpdated;
-    private final HashMap<String, Serializable> attributes = new HashMap<String, Serializable>();
+    private final HashMap<String, Serializable> attributes = new HashMap<>();
     private static final long serialVersionUID = 1L;
     private long size = 0;
     private String remoteAddr = "127.0.0.1";

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMailContext.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMailContext.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMailContext.java
index bfeb03c..2686fd8 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMailContext.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/mock/mailet/MockMailContext.java
@@ -36,7 +36,7 @@ import org.slf4j.Logger;
 @SuppressWarnings("deprecation")
 public class MockMailContext implements MailetContext {
 
-    final HashMap<String, Object> attributes = new HashMap<String, Object>();
+    final HashMap<String, Object> attributes = new HashMap<>();
 
     @Override
     public void bounce(Mail mail, String message) throws MessagingException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
index 3551fbb..4f9d3ce 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java
@@ -41,7 +41,7 @@ public class MockMailQueue implements MailQueue {
 
     private static final Logger log = LoggerFactory.getLogger(MockMailQueue.class.getName());
 
-    private final LinkedBlockingQueue<Mail> queue = new LinkedBlockingQueue<Mail>();
+    private final LinkedBlockingQueue<Mail> queue = new LinkedBlockingQueue<>();
     private boolean throwException;
     private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueueFactory.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueueFactory.java
index 22fd374..1cf77db 100644
--- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueueFactory.java
+++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueueFactory.java
@@ -26,7 +26,7 @@ import org.apache.james.queue.api.MailQueueFactory;
 
 public class MockMailQueueFactory implements MailQueueFactory {
 
-    private final Map<String, MailQueue> queues = new HashMap<String, MailQueue>();
+    private final Map<String, MailQueue> queues = new HashMap<>();
 
     @Override
     public synchronized MailQueue getQueue(String name) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
index f5fd47c..5251c9e 100644
--- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
+++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java
@@ -59,8 +59,8 @@ import org.slf4j.Logger;
  */
 public class FileMailQueue implements ManageableMailQueue {
 
-    private final ConcurrentHashMap<String, FileItem> keyMappings = new ConcurrentHashMap<String, FileMailQueue.FileItem>();
-    private final BlockingQueue<String> inmemoryQueue = new LinkedBlockingQueue<String>();
+    private final ConcurrentHashMap<String, FileItem> keyMappings = new ConcurrentHashMap<>();
+    private final BlockingQueue<String> inmemoryQueue = new LinkedBlockingQueue<>();
     private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
     private final static AtomicLong COUNTER = new AtomicLong();
     private final String queueDirName;


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


[15/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
index f062ec0..1de8e9a 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
@@ -69,7 +69,7 @@ public class LSubProcessor extends AbstractSubscriptionProcessor<LsubRequest> {
         }
 
         final MailboxQuery expression = new MailboxQuery(basePath, CharsetUtil.decodeModifiedUTF7(mailboxName), mailboxSession.getPathDelimiter());
-        final Collection<String> mailboxResponses = new ArrayList<String>();
+        final Collection<String> mailboxResponses = new ArrayList<>();
         for (String mailbox : mailboxes) {
             respond(responder, expression, mailbox, true, mailboxes, mailboxResponses, mailboxSession.getPathDelimiter());
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
index 8a450c2..71c1361 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
@@ -122,7 +122,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
                 }
                 // Get the mailbox for the reference name.
                 final MailboxPath rootPath = new MailboxPath(referenceRoot, "", "");
-                results = new ArrayList<MailboxMetaData>(1);
+                results = new ArrayList<>(1);
                 results.add(new MailboxMetaData() {
 
                     public Children inferiors() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
index d881692..724b238 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
@@ -69,7 +69,7 @@ public class NamespaceProcessor extends AbstractMailboxProcessor<NamespaceReques
      * @return personal namespaces, not null
      */
     private List<NamespaceResponse.Namespace> buildPersonalNamespaces(MailboxSession mailboxSession, ImapSession session) {
-        final List<NamespaceResponse.Namespace> personalSpaces = new ArrayList<NamespaceResponse.Namespace>();
+        final List<NamespaceResponse.Namespace> personalSpaces = new ArrayList<>();
         String personal = "";
         if (session.supportMultipleNamespaces()) {
             personal = mailboxSession.getPersonalSpace();
@@ -84,7 +84,7 @@ public class NamespaceProcessor extends AbstractMailboxProcessor<NamespaceReques
         if (session.supportMultipleNamespaces() == false || otherUsersSpace == null) {
             otherUsersSpaces = null;
         } else {
-            otherUsersSpaces = new ArrayList<NamespaceResponse.Namespace>(1);
+            otherUsersSpaces = new ArrayList<>(1);
             otherUsersSpaces.add(new NamespaceResponse.Namespace(otherUsersSpace, mailboxSession.getPathDelimiter()));
         }
         return otherUsersSpaces;
@@ -94,7 +94,7 @@ public class NamespaceProcessor extends AbstractMailboxProcessor<NamespaceReques
         List<NamespaceResponse.Namespace> sharedNamespaces = null;
         final Collection<String> sharedSpaces = mailboxSession.getSharedSpaces();
         if (session.supportMultipleNamespaces() && !sharedSpaces.isEmpty()) {
-            sharedNamespaces = new ArrayList<NamespaceResponse.Namespace>(sharedSpaces.size());
+            sharedNamespaces = new ArrayList<>(sharedSpaces.size());
             for (String space : sharedSpaces) {
                 sharedNamespaces.add(new NamespaceResponse.Namespace(space, mailboxSession.getPathDelimiter()));
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
index 3d59941..f102b15 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
@@ -91,8 +91,8 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
             MailboxSession msession = ImapSessionUtils.getMailboxSession(session);
             final Iterator<MessageUid> it = mailbox.search(query, msession);
             
-            final Collection<Long> results = new TreeSet<Long>();
-            final Collection<MessageUid> uids = new TreeSet<MessageUid>();
+            final Collection<Long> results = new TreeSet<>();
+            final Collection<MessageUid> uids = new TreeSet<>();
             
             while (it.hasNext()) {
                 final MessageUid uid = it.next();
@@ -130,18 +130,18 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
             if (resultOptions == null || resultOptions.isEmpty()) {
                 response = new SearchResponse(ids, highestModSeq);
             } else {
-                List<Long> idList = new ArrayList<Long>(ids.length);
+                List<Long> idList = new ArrayList<>(ids.length);
                 for (long id : ids) {
                     idList.add(id);
                 }
 
-                List<IdRange> idsAsRanges = new ArrayList<IdRange>();
+                List<IdRange> idsAsRanges = new ArrayList<>();
                 for (Long id: idList) {
                     idsAsRanges.add(new IdRange(id));
                 }
                 IdRange[] idRanges = IdRange.mergeRanges(idsAsRanges).toArray(new IdRange[0]);
                 
-                List<UidRange> uidsAsRanges = new ArrayList<UidRange>();
+                List<UidRange> uidsAsRanges = new ArrayList<>();
                 for (MessageUid uid: uids) {
                     uidsAsRanges.add(new UidRange(uid));
                 }
@@ -172,7 +172,7 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
                             // if the options contain ALL or COUNT we need to save the complete sequence-set
                             SearchResUtil.saveSequenceSet(session, idRanges);
                         } else {
-                            List<IdRange> savedRanges = new ArrayList<IdRange>();
+                            List<IdRange> savedRanges = new ArrayList<>();
                             if (resultOptions.contains(SearchResultOption.MIN)) {
                                 // Store the MIN
                                 savedRanges.add(new IdRange(min));  
@@ -385,7 +385,7 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
 
         // First of check if we have any messages in the mailbox
         // if not we don't need to go through all of this
-        final List<SearchQuery.UidRange> ranges = new ArrayList<SearchQuery.UidRange>();
+        final List<SearchQuery.UidRange> ranges = new ArrayList<>();
         if (selected.existsCount() > 0) {
             for (IdRange range : sequenceNumbers) {
                 long lowVal = range.getLowVal();
@@ -442,7 +442,7 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
 
         // First of check if we have any messages in the mailbox
         // if not we don't need to go through all of this
-        final List<SearchQuery.UidRange> ranges = new ArrayList<SearchQuery.UidRange>();
+        final List<SearchQuery.UidRange> ranges = new ArrayList<>();
         if (selected.existsCount() > 0) {
             for (UidRange range : uids) {
                 MessageUid lowVal = range.getLowVal();
@@ -483,7 +483,7 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
 
     private Criterion and(List<SearchKey> keys, ImapSession session) throws MessageRangeException {
         final int size = keys.size();
-        final List<Criterion> criteria = new ArrayList<Criterion>(size);
+        final List<Criterion> criteria = new ArrayList<>(size);
         for (SearchKey key : keys) {
             final Criterion criterion = toCriterion(key, session);
             criteria.add(criterion);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
index d9e213b..a281c8d 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
@@ -112,8 +112,8 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
                 }
               
             } 
-            final List<MessageUid> failed = new ArrayList<MessageUid>();
-            List<Long> failedMsns = new ArrayList<Long>();
+            final List<MessageUid> failed = new ArrayList<>();
+            List<Long> failedMsns = new ArrayList<>();
             final List<String> userFlags = Arrays.asList(flags.getUserFlags());
             for (IdRange range : idSet) {
                 final SelectedMailbox selected = session.getSelected();
@@ -124,7 +124,7 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
                         // Ok we have a CONDSTORE option so use the CONDSTORE_COMMAND
                         imapCommand = CONDSTORE_COMMAND;
 
-                        List<MessageUid> uids = new ArrayList<MessageUid>();
+                        List<MessageUid> uids = new ArrayList<>();
 
                         MessageResultIterator results = mailbox.getMessages(messageSet, FetchGroupImpl.MINIMAL, mailboxSession);
                         while (results.hasNext()) {
@@ -199,7 +199,7 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
                     final StatusResponse response = getStatusResponseFactory().taggedOk(tag, command, HumanReadableText.FAILED, ResponseCode.condStore(idRanges));
                     responder.respond(response);
                 } else {
-                    List<IdRange> ranges = new ArrayList<IdRange>();
+                    List<IdRange> ranges = new ArrayList<>();
                     for (long msn: failedMsns) {
                         ranges.add(new IdRange(msn));
                     }
@@ -267,7 +267,7 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
         boolean condstoreEnabled = enabled.contains(ImapConstants.SUPPORTS_CONDSTORE);
         
         if (!silent || unchangedSince != -1 || qresyncEnabled || condstoreEnabled) {
-            final Map<MessageUid, Long> modSeqs = new HashMap<MessageUid, Long>();
+            final Map<MessageUid, Long> modSeqs = new HashMap<>();
            
             // Check if we need to also send the the mod-sequences back to the client
             //

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
index 103369d..fdd95cc 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
@@ -51,7 +51,7 @@ import com.google.common.collect.ImmutableList;
  */
 public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener{
 
-    private final Set<MessageUid> recentUids = new TreeSet<MessageUid>();
+    private final Set<MessageUid> recentUids = new TreeSet<>();
 
     private boolean recentUidRemoved = false;
 
@@ -62,9 +62,9 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener{
     private final ImapSession session;
 
     private final long sessionId;
-    private final Set<MessageUid> flagUpdateUids = new TreeSet<MessageUid>();
+    private final Set<MessageUid> flagUpdateUids = new TreeSet<>();
     private final Flags.Flag uninterestingFlag = Flags.Flag.RECENT;
-    private final Set<MessageUid> expungedUids = new TreeSet<MessageUid>();
+    private final Set<MessageUid> expungedUids = new TreeSet<>();
     private final UidMsnConverter uidMsnConverter;
 
     private boolean isDeletedByOtherSession = false;
@@ -148,7 +148,7 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener{
     @Override
     public synchronized Collection<MessageUid> getRecent() {
         checkExpungedRecents();
-        return new ArrayList<MessageUid>(recentUids);
+        return new ArrayList<>(recentUids);
     }
 
     @Override
@@ -275,7 +275,7 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener{
         // copy the TreeSet to fix possible
         // java.util.ConcurrentModificationException
         // See IMAP-278
-        return Collections.unmodifiableSet(new TreeSet<MessageUid>(flagUpdateUids));
+        return Collections.unmodifiableSet(new TreeSet<>(flagUpdateUids));
         
     }
 
@@ -284,7 +284,7 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener{
         // copy the TreeSet to fix possible
         // java.util.ConcurrentModificationException
         // See IMAP-278
-        return Collections.unmodifiableSet(new TreeSet<MessageUid>(expungedUids));
+        return Collections.unmodifiableSet(new TreeSet<>(expungedUids));
         
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
index fe8c519..5e75c95 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
@@ -41,7 +41,7 @@ public class UidMsnConverter {
     }
 
     public synchronized void addAll(List<MessageUid> addedUids) {
-        TreeSet<MessageUid> tmp = new TreeSet<MessageUid>();
+        TreeSet<MessageUid> tmp = new TreeSet<>();
         tmp.addAll(uids);
         tmp.addAll(addedUids);
         uids.clear();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
index 1c1eff1..333691f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java
@@ -133,7 +133,7 @@ public final class EnvelopeBuilder {
 
                 AddressList addressList = LenientAddressParser.DEFAULT.parseAddressList(value);
                 final int size = addressList.size();
-                final List<FetchResponse.Envelope.Address> addresses = new ArrayList<FetchResponse.Envelope.Address>(size);
+                final List<FetchResponse.Envelope.Address> addresses = new ArrayList<>(size);
                 for (Address address : addressList) {
                     if (address instanceof Group) {
                         final Group group = (Group) address;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
index a02fdd1..ec7f3e7 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
@@ -99,7 +99,7 @@ public class FetchProcessor extends AbstractMailboxProcessor<FetchRequest> {
                 condstoreEnablingCommand(session, responder,  metaData, true);
             }
             
-            List<MessageRange> ranges = new ArrayList<MessageRange>();
+            List<MessageRange> ranges = new ArrayList<>();
 
             for (IdRange range : idSet) {
                 MessageRange messageSet = messageRange(session.getSelected(), range, useUids);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
index d9f1fe5..a9bc77c 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchResponseBuilder.java
@@ -152,7 +152,7 @@ public final class FetchResponseBuilder {
 
         // BODY part responses.
         Collection<BodyFetchElement> elements = fetch.getBodyElements();
-        this.elements = new ArrayList<FetchResponse.BodyElement>();
+        this.elements = new ArrayList<>();
         for (BodyFetchElement fetchElement : elements) {
             final FetchResponse.BodyElement element = bodyFetch(result, fetchElement);
             if (element != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
index 6c83560..4929415 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
@@ -43,7 +43,7 @@ public class MessageResultUtils {
      * @throws MessagingException
      */
     public static List<MessageResult.Header> getAll(Iterator<MessageResult.Header> iterator) {
-        final List<MessageResult.Header> results = new ArrayList<MessageResult.Header>();
+        final List<MessageResult.Header> results = new ArrayList<>();
         if (iterator != null) {
             while (iterator.hasNext()) {
                 results.add(iterator.next());
@@ -65,7 +65,7 @@ public class MessageResultUtils {
      * @throws MessagingException
      */
     public static List<MessageResult.Header> getMatching(String[] names, Iterator<MessageResult.Header> iterator) throws MailboxException {
-        final List<MessageResult.Header> results = new ArrayList<MessageResult.Header>(20);
+        final List<MessageResult.Header> results = new ArrayList<>(20);
         if (iterator != null) {
             while (iterator.hasNext()) {
                 MessageResult.Header header = iterator.next();
@@ -98,7 +98,7 @@ public class MessageResultUtils {
     }
 
     private static List<MessageResult.Header> matching(Collection<String> names, Iterator<MessageResult.Header> iterator, boolean not) throws MailboxException {
-        final List<MessageResult.Header> results = new ArrayList<MessageResult.Header>(names.size());
+        final List<MessageResult.Header> results = new ArrayList<>(names.size());
         if (iterator != null) {
             while (iterator.hasNext()) {
                 final MessageResult.Header header = iterator.next();
@@ -176,7 +176,7 @@ public class MessageResultUtils {
      * @throws MessagingException
      */
     public static List<MessageResult.Header> getNotMatching(String[] names, Iterator<MessageResult.Header> iterator) throws MailboxException {
-        final List<MessageResult.Header> results = new ArrayList<MessageResult.Header>(20);
+        final List<MessageResult.Header> results = new ArrayList<>(20);
         if (iterator != null) {
             while (iterator.hasNext()) {
                 MessageResult.Header header = iterator.next();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java
index 5ff54fa..6e723ec 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeDescriptorStructure.java
@@ -79,7 +79,7 @@ final class MimeDescriptorStructure implements FetchResponse.Structure {
     }
 
     private static List<Structure> createParts(boolean allowExtensions, MimeDescriptor descriptor, EnvelopeBuilder builder) throws MailboxException {
-        final List<Structure> results = new ArrayList<Structure>();
+        final List<Structure> results = new ArrayList<>();
         for (Iterator<MimeDescriptor> it = descriptor.parts(); it.hasNext();) {
             final MimeDescriptor partDescriptor = it.next();
             results.add(new MimeDescriptorStructure(allowExtensions, partDescriptor, builder));
@@ -88,7 +88,7 @@ final class MimeDescriptorStructure implements FetchResponse.Structure {
     }
 
     private static List<String> createParameters(MimeDescriptor descriptor) throws MailboxException {
-        final List<String> results = new ArrayList<String>();
+        final List<String> results = new ArrayList<>();
         // TODO: consider revising this
         for (Map.Entry<String, String> entry : descriptor.contentTypeParameters().entrySet()) {
             results.add(entry.getKey());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/api/IdRangeTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/api/IdRangeTest.java b/protocols/imap/src/test/java/org/apache/james/imap/api/IdRangeTest.java
index a966d30..a3a3642 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/api/IdRangeTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/api/IdRangeTest.java
@@ -18,10 +18,12 @@
  ****************************************************************/
 package org.apache.james.imap.api;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import static org.junit.Assert.*;
 
 import org.apache.james.imap.api.message.IdRange;
 import org.junit.Test;
@@ -34,7 +36,7 @@ public class IdRangeTest {
         IdRange r2 = new IdRange(4, 5);
         IdRange r3 = new IdRange(7, 10);
         
-        List<IdRange> ranges = new ArrayList<IdRange>();
+        List<IdRange> ranges = new ArrayList<>();
         ranges.add(r);
         ranges.add(r2);
         ranges.add(r3);
@@ -55,7 +57,7 @@ public class IdRangeTest {
         IdRange r2 = new IdRange(1, 4);
         IdRange r3 = new IdRange(6, 7);
         
-        List<IdRange> ranges = new ArrayList<IdRange>();
+        List<IdRange> ranges = new ArrayList<>();
         ranges.add(r);
         ranges.add(r2);
         ranges.add(r3);
@@ -75,7 +77,7 @@ public class IdRangeTest {
         IdRange r2 = new IdRange(1, 4);
         IdRange r3 = new IdRange(5, 7);
         
-        List<IdRange> ranges = new ArrayList<IdRange>();
+        List<IdRange> ranges = new ArrayList<>();
         ranges.add(r);
         ranges.add(r2);
         ranges.add(r3);
@@ -93,7 +95,7 @@ public class IdRangeTest {
         IdRange r2 = new IdRange(1, 4);
         IdRange r3 = new IdRange(10, 15);
         
-        List<IdRange> ranges = new ArrayList<IdRange>();
+        List<IdRange> ranges = new ArrayList<>();
         ranges.add(r);
         ranges.add(r2);
         ranges.add(r3);
@@ -111,7 +113,7 @@ public class IdRangeTest {
         IdRange r2 = new IdRange(1, 1);
         IdRange r3 = new IdRange(2, 2);
         
-        List<IdRange> ranges = new ArrayList<IdRange>();
+        List<IdRange> ranges = new ArrayList<>();
         ranges.add(r);
         ranges.add(r2);
         ranges.add(r3);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserAndParenthesesTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserAndParenthesesTest.java b/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserAndParenthesesTest.java
index 2e5bb38..a5cdbe2 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserAndParenthesesTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserAndParenthesesTest.java
@@ -54,7 +54,7 @@ public class SearchCommandParserAndParenthesesTest {
             on(), unanswered() };
 
     public static Input and(Input[] parts, boolean parens) {
-        List<SearchKey> keys = new ArrayList<SearchKey>();
+        List<SearchKey> keys = new ArrayList<>();
         StringBuffer buffer = new StringBuffer();
         if (parens) {
             buffer.append("(");

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserTopLevelAndTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserTopLevelAndTest.java b/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserTopLevelAndTest.java
index f8f8957..f789f2a 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserTopLevelAndTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/SearchCommandParserTopLevelAndTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.imap.decode.parser;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -173,7 +173,7 @@ public class SearchCommandParserTopLevelAndTest {
     }
 
     private void permute(int mutations, Input[] inputs) throws Exception {
-        permute(mutations, new ArrayList<SearchKey>(), new StringBuffer(), inputs);
+        permute(mutations, new ArrayList<>(), new StringBuffer(), inputs);
     }
 
     private void permute(int mutations, List<SearchKey> keys, StringBuffer buffer,
@@ -188,7 +188,7 @@ public class SearchCommandParserTopLevelAndTest {
                     nextBuffer.append(' ');
                 }
                 nextBuffer.append(input.input);
-                List<SearchKey> nextKeys = new ArrayList<SearchKey>(keys);
+                List<SearchKey> nextKeys = new ArrayList<>(keys);
                 nextKeys.add(input.key);
                 permute(mutations, nextKeys, nextBuffer, inputs);
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/encode/FakeImapSession.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/encode/FakeImapSession.java b/protocols/imap/src/test/java/org/apache/james/imap/encode/FakeImapSession.java
index 08a189a..a95f60e 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/encode/FakeImapSession.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/encode/FakeImapSession.java
@@ -39,7 +39,7 @@ public class FakeImapSession implements ImapSession {
     private final Map<String, Object> attributesByKey;
 
     public FakeImapSession() {
-        this.attributesByKey = new ConcurrentHashMap<String, Object>();
+        this.attributesByKey = new ConcurrentHashMap<>();
     }
 
     public void logout() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
index 860d4cc..76b0ef9 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
@@ -19,7 +19,9 @@
 
 package org.apache.james.imap.encode;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -29,9 +31,6 @@ import java.util.Map;
 import javax.mail.Flags;
 
 import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.encode.FetchResponseEncoder;
-import org.apache.james.imap.encode.ImapEncoder;
-import org.apache.james.imap.encode.ImapResponseComposer;
 import org.apache.james.imap.encode.base.ByteImapResponseWriter;
 import org.apache.james.imap.encode.base.ImapResponseComposerImpl;
 import org.apache.james.imap.message.response.FetchResponse;
@@ -108,9 +107,9 @@ public class FetchResponseEncoderNoExtensionsTest  {
     public void testShouldNotAddExtensionsWithEncodingBodyStructure() throws Exception {
         FetchResponse message = new FetchResponse(100, flags, MessageUid.of(72), null,
                 null, null, null, null, stubStructure, null);
-        final Map<String, String> parameters = new HashMap<String, String>();
+        final Map<String, String> parameters = new HashMap<>();
         parameters.put("CHARSET", "US-ASCII");
-        final List<String> parameterList= new ArrayList<String>();
+        final List<String> parameterList= new ArrayList<>();
         parameterList.add("CHARSET");
         parameterList.add("US-ASCII");
         

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java b/protocols/imap/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java
index 30dc417..f4ea9f4 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/encode/ListingEncodingUtilsTest.java
@@ -21,15 +21,14 @@ package org.apache.james.imap.encode;
 import java.util.ArrayList;
 import java.util.List;
 
-import junit.framework.Assert;
-
 import org.apache.james.imap.encode.base.ByteImapResponseWriter;
 import org.apache.james.imap.encode.base.ImapResponseComposerImpl;
 import org.apache.james.imap.message.response.ListResponse;
-
 import org.junit.Before;
 import org.junit.Test;
 
+import junit.framework.Assert;
+
 public class ListingEncodingUtilsTest  {
 
     final String nameParameter = "LIST";
@@ -42,7 +41,7 @@ public class ListingEncodingUtilsTest  {
     
     @Before
     public void setUp() throws Exception {
-        attributesOutput = new ArrayList<String>();
+        attributesOutput = new ArrayList<>();
       
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java b/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java
index db4de83..a01dc53 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java
@@ -18,7 +18,8 @@
  ****************************************************************/
 package org.apache.james.imap.encode;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -76,7 +77,7 @@ public class NamespaceResponseEncoderTest {
                 oneOf(mockComposer).end(); inSequence(sequence);
             }
         });
-        List<NamespaceResponse.Namespace> namespaces = new ArrayList<NamespaceResponse.Namespace>();
+        List<NamespaceResponse.Namespace> namespaces = new ArrayList<>();
         namespaces.add(new NamespaceResponse.Namespace(aPrefix, aDeliminator
                 .charAt(0)));
         subject.doEncode(new NamespaceResponse(null, null, namespaces),
@@ -104,7 +105,7 @@ public class NamespaceResponseEncoderTest {
                 oneOf(mockComposer).end(); inSequence(sequence);
             }
         });
-        List<NamespaceResponse.Namespace> namespaces = new ArrayList<NamespaceResponse.Namespace>();
+        List<NamespaceResponse.Namespace> namespaces = new ArrayList<>();
         namespaces.add(new NamespaceResponse.Namespace(aPrefix, aDeliminator
                 .charAt(0)));
         subject.doEncode(new NamespaceResponse(null, namespaces, null),
@@ -132,7 +133,7 @@ public class NamespaceResponseEncoderTest {
                 oneOf(mockComposer).end(); inSequence(sequence);
             }
         });
-        List<NamespaceResponse.Namespace> namespaces = new ArrayList<NamespaceResponse.Namespace>();
+        List<NamespaceResponse.Namespace> namespaces = new ArrayList<>();
         namespaces.add(new NamespaceResponse.Namespace(aPrefix, aDeliminator
                 .charAt(0)));
         subject.doEncode(new NamespaceResponse(namespaces, null, null),
@@ -166,7 +167,7 @@ public class NamespaceResponseEncoderTest {
                 oneOf(mockComposer).end(); inSequence(sequence);
             }
         });
-        List<NamespaceResponse.Namespace> namespaces = new ArrayList<NamespaceResponse.Namespace>();
+        List<NamespaceResponse.Namespace> namespaces = new ArrayList<>();
         namespaces.add(new NamespaceResponse.Namespace(aPrefix, aDeliminator
                 .charAt(0)));
         namespaces.add(new NamespaceResponse.Namespace(anotherPrefix,

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
index ad486cc..67d1a77 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
@@ -98,7 +98,7 @@ public class LSubProcessorTest {
     
     @Before
     public void setUp() throws Exception {
-        subscriptions = new ArrayList<String>();
+        subscriptions = new ArrayList<>();
         serverResponseFactory = mockery.mock(StatusResponseFactory.class);
         session = mockery.mock(ImapSession.class);
         command = ImapCommand.anyStateCommand("Command");
@@ -248,7 +248,7 @@ public class LSubProcessorTest {
                  * @see org.apache.james.mailbox.MailboxSession.User#getLocalePreferences()
                  */
                 public List<Locale> getLocalePreferences() {
-                    return new ArrayList<Locale>();
+                    return new ArrayList<>();
                 }
 
                 /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
index a0d2dc4..da1bc78 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
@@ -69,7 +69,7 @@ public class NamespaceProcessorTest {
     
     @Before
     public void setUp() throws Exception {
-        sharedSpaces = new ArrayList<String>();
+        sharedSpaces = new ArrayList<>();
         statusResponseStub = mockery.mock(StatusResponseFactory.class);
         mailboxManagerStub = mockery.mock(MailboxManager.class);
         subject = new NamespaceProcessor(mockery.mock(ImapProcessor.class), mailboxManagerStub, statusResponseStub, new NoopMetricFactory());
@@ -134,7 +134,7 @@ public class NamespaceProcessorTest {
         this.sharedSpaces.add(sharedSpaceStub);
         
         
-        final List<NamespaceResponse.Namespace> sharedSpaces = new ArrayList<NamespaceResponse.Namespace>();
+        final List<NamespaceResponse.Namespace> sharedSpaces = new ArrayList<>();
         sharedSpaces.add(new NamespaceResponse.Namespace(SHARED_PREFIX, MailboxConstants.DEFAULT_DELIMITER));
         final NamespaceResponse response = buildResponse(sharedSpaces);
         
@@ -145,9 +145,9 @@ public class NamespaceProcessorTest {
 
     private NamespaceResponse buildResponse(List<NamespaceResponse.Namespace> sharedSpaces) {
        
-        final List<NamespaceResponse.Namespace> personalSpaces = new ArrayList<NamespaceResponse.Namespace>();
+        final List<NamespaceResponse.Namespace> personalSpaces = new ArrayList<>();
         personalSpaces.add(new NamespaceResponse.Namespace(PERSONAL_PREFIX, MailboxConstants.DEFAULT_DELIMITER));
-        final List<NamespaceResponse.Namespace> otherUsersSpaces = new ArrayList<NamespaceResponse.Namespace>();
+        final List<NamespaceResponse.Namespace> otherUsersSpaces = new ArrayList<>();
         otherUsersSpaces.add(new NamespaceResponse.Namespace(USERS_PREFIX, MailboxConstants.DEFAULT_DELIMITER));
 
         return new NamespaceResponse(personalSpaces, otherUsersSpaces, sharedSpaces);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
index d30df52..a604d4a 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
@@ -39,7 +39,6 @@ import org.apache.james.imap.api.message.UidRange;
 import org.apache.james.imap.api.message.request.DayMonthYear;
 import org.apache.james.imap.api.message.request.SearchKey;
 import org.apache.james.imap.api.message.request.SearchOperation;
-import org.apache.james.imap.api.message.request.SearchResultOption;
 import org.apache.james.imap.api.message.response.StatusResponse;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
@@ -343,11 +342,11 @@ public class SearchProcessorTest {
     @Test
     public void testAND() throws Exception {
         expectsGetSelectedMailbox();
-        List<SearchKey> keys = new ArrayList<SearchKey>();
+        List<SearchKey> keys = new ArrayList<>();
         keys.add(SearchKey.buildOn(DAY_MONTH_YEAR));
         keys.add(SearchKey.buildOld());
         keys.add(SearchKey.buildLarger(SIZE));
-        List<Criterion> criteria = new ArrayList<Criterion>();
+        List<Criterion> criteria = new ArrayList<>();
         criteria.add(SearchQuery.internalDateOn(getDate(DAY, MONTH, YEAR), DateResolution.Day));
         criteria.add(SearchQuery.flagIsUnSet(Flag.RECENT));
         criteria.add(SearchQuery.sizeGreaterThan(SIZE));
@@ -506,7 +505,7 @@ public class SearchProcessorTest {
             allowing(selectedMailbox).hasNewApplicableFlags(); will(returnValue(false));
           
         }});
-        SearchRequest message = new SearchRequest(command, new SearchOperation(key, new ArrayList<SearchResultOption>()), false, TAG);
+        SearchRequest message = new SearchRequest(command, new SearchOperation(key, new ArrayList<>()), false, TAG);
         processor.doProcess(message, session, TAG, command, responder);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
index e147a47..c8e0338 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
@@ -159,7 +159,7 @@ public class SelectedMailboxImplTest {
     }
 
     private void emitEvent(MailboxListener mailboxListener) {
-        TreeMap<MessageUid, MessageMetaData> result = new TreeMap<MessageUid, MessageMetaData>();
+        TreeMap<MessageUid, MessageMetaData> result = new TreeMap<>();
         result.put(EMITTED_EVENT_UID, new SimpleMessageMetaData(EMITTED_EVENT_UID, MOD_SEQ, new Flags(), SIZE, new Date(), new DefaultMessageId()));
         mailboxListener.event(new EventFactory().added(mock(MailboxSession.class), result, mailbox, ImmutableMap.<MessageUid, MailboxMessage> of()));
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/MailboxMessageResultUtilsTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/MailboxMessageResultUtilsTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/MailboxMessageResultUtilsTest.java
index a329c7c..8959869 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/MailboxMessageResultUtilsTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/fetch/MailboxMessageResultUtilsTest.java
@@ -79,7 +79,7 @@ public class MailboxMessageResultUtilsTest {
         headerOne = new Header("One");
         headerTwo = new Header("Two");
         headerThree = new Header("Three");
-        headers = new ArrayList<MessageResult.Header>();
+        headers = new ArrayList<>();
         headers.add(headerOne);
         headers.add(headerTwo);
         headers.add(headerThree);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPMultiResponse.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPMultiResponse.java b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPMultiResponse.java
index 6590bbc..f6efd59 100644
--- a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPMultiResponse.java
+++ b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPMultiResponse.java
@@ -31,7 +31,7 @@ import org.apache.james.protocols.api.Response;
  */
 public class LMTPMultiResponse implements Response {
 
-    private final List<Response> responses = new ArrayList<Response>();
+    private final List<Response> responses = new ArrayList<>();
 
     public LMTPMultiResponse(Response response) {
         addResponse(response);
@@ -55,7 +55,7 @@ public class LMTPMultiResponse implements Response {
      * @see org.apache.james.protocols.api.Response#getLines()
      */
     public List<CharSequence> getLines() {
-        List<CharSequence> lines = new ArrayList<CharSequence>();
+        List<CharSequence> lines = new ArrayList<>();
         for (Response response: responses) {
             lines.addAll(response.getLines());
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java
index cce63ff..64179bd 100644
--- a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java
+++ b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/LMTPProtocolHandlerChain.java
@@ -27,8 +27,8 @@ import org.apache.james.protocols.api.handler.CommandHandlerResultLogger;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.api.handler.WiringException;
 import org.apache.james.protocols.lmtp.core.DataLineMessageHookHandler;
-import org.apache.james.protocols.lmtp.core.ReceivedDataLineFilter;
 import org.apache.james.protocols.lmtp.core.LhloCmdHandler;
+import org.apache.james.protocols.lmtp.core.ReceivedDataLineFilter;
 import org.apache.james.protocols.lmtp.core.WelcomeMessageHandler;
 import org.apache.james.protocols.smtp.SMTPProtocolHandlerChain;
 import org.apache.james.protocols.smtp.SMTPSession;
@@ -67,7 +67,7 @@ public class LMTPProtocolHandlerChain extends SMTPProtocolHandlerChain{
 
     @Override
     protected List<ProtocolHandler> initDefaultHandlers() {
-        List<ProtocolHandler> defaultHandlers = new ArrayList<ProtocolHandler>();
+        List<ProtocolHandler> defaultHandlers = new ArrayList<>();
         defaultHandlers.add(new CommandDispatcher<SMTPSession>());
         defaultHandlers.add(new ExpnCmdHandler());
         defaultHandlers.add(new LhloCmdHandler(new NoopMetricFactory()));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
index b85f012..5df57f9 100644
--- a/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
+++ b/protocols/lmtp/src/main/java/org/apache/james/protocols/lmtp/core/DataLineMessageHookHandler.java
@@ -42,7 +42,7 @@ import org.apache.james.protocols.smtp.dsn.DSNStatus;
  */
 public class DataLineMessageHookHandler extends org.apache.james.protocols.smtp.core.DataLineMessageHookHandler{
 
-    private final List<DeliverToRecipientHook> handlers = new ArrayList<DeliverToRecipientHook>();
+    private final List<DeliverToRecipientHook> handlers = new ArrayList<>();
 
     
     @Override
@@ -75,7 +75,7 @@ public class DataLineMessageHookHandler extends org.apache.james.protocols.smtp.
 
     @Override
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> markers = new ArrayList<Class<?>>();
+        List<Class<?>> markers = new ArrayList<>();
         markers.add(DeliverToRecipientHook.class);
         return markers;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
index 96d7c34..009fdcf 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
@@ -43,7 +43,7 @@ public abstract class AbstractLMTPSServerTest extends AbstractLMTPServerTest{
 
     protected final class LMTPSClient extends SMTPSClient implements LMTPClient{
 
-        private final List<Integer> replies = new ArrayList<Integer>();
+        private final List<Integer> replies = new ArrayList<>();
         private int rcptCount = 0;
         
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
index 6f7ceb3..7f76506 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
@@ -58,7 +58,7 @@ public abstract class AbstractLMTPServerTest extends AbstractSMTPServerTest{
     @Override
     protected Protocol createProtocol(ProtocolHandler... handlers) throws WiringException {
         LMTPProtocolHandlerChain chain = new LMTPProtocolHandlerChain();
-        List<ProtocolHandler> hList = new ArrayList<ProtocolHandler>();
+        List<ProtocolHandler> hList = new ArrayList<>();
 
         for (ProtocolHandler handler : handlers) {
             if (handler instanceof MessageHook) {
@@ -256,7 +256,7 @@ public abstract class AbstractLMTPServerTest extends AbstractSMTPServerTest{
     
     private final class LMTPClientImpl extends SMTPClient implements LMTPClient {
 
-        private final List<Integer> replies = new ArrayList<Integer>();
+        private final List<Integer> replies = new ArrayList<>();
         private int rcptCount = 0;
         
         
@@ -343,7 +343,7 @@ public abstract class AbstractLMTPServerTest extends AbstractSMTPServerTest{
     
     private final class TestDeliverHook implements DeliverToRecipientHook {
         
-        private final List<MailEnvelope> delivered = new ArrayList<MailEnvelope>();
+        private final List<MailEnvelope> delivered = new ArrayList<>();
         
         /*
          * (non-Javadoc)

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java b/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
index c0b8d3f..9c06e4d 100644
--- a/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
+++ b/protocols/managesieve/src/main/java/org/apache/james/managesieve/core/CoreProcessor.java
@@ -318,7 +318,7 @@ public class CoreProcessor implements CoreCommands {
 
     private Map<Capabilities, String> precomputedCapabilitiesBase(SieveParser parser) {
         String extensions = buildExtensions(parser);
-        Map<Capabilities, String> capabilitiesBase = new HashMap<Capabilities, String>();
+        Map<Capabilities, String> capabilitiesBase = new HashMap<>();
         capabilitiesBase.put(Capabilities.IMPLEMENTATION, IMPLEMENTATION_DESCRIPTION);
         capabilitiesBase.put(Capabilities.VERSION, MANAGE_SIEVE_VERSION);
         capabilitiesBase.put(Capabilities.SASL, constructSaslSupportedAuthenticationMechanisms());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/managesieve/src/main/java/org/apache/james/managesieve/jsieve/Parser.java
----------------------------------------------------------------------
diff --git a/protocols/managesieve/src/main/java/org/apache/james/managesieve/jsieve/Parser.java b/protocols/managesieve/src/main/java/org/apache/james/managesieve/jsieve/Parser.java
index 8fb8765..c83846c 100644
--- a/protocols/managesieve/src/main/java/org/apache/james/managesieve/jsieve/Parser.java
+++ b/protocols/managesieve/src/main/java/org/apache/james/managesieve/jsieve/Parser.java
@@ -34,7 +34,7 @@ import org.apache.jsieve.parser.generated.ParseException;
 
 public class Parser implements SieveParser {
     
-    private static final List<String> EMPTY_WARNINGS = new ArrayList<String>(0);
+    private static final List<String> EMPTY_WARNINGS = new ArrayList<>(0);
     
     private SieveFactory sieveFactory;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java
----------------------------------------------------------------------
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java
index 50ea0be..9dc9b72 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/AbstractAsyncServer.java
@@ -57,7 +57,7 @@ public abstract class AbstractAsyncServer implements ProtocolServer{
 
     private volatile int ioWorker = DEFAULT_IO_WORKER_COUNT;
     
-    private List<InetSocketAddress> addresses = new ArrayList<InetSocketAddress>();
+    private List<InetSocketAddress> addresses = new ArrayList<>();
     
     public synchronized void setListenAddresses(InetSocketAddress... addresses) {
         if (started) throw new IllegalStateException("Can only be set when the server is not running");

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/netty/src/main/java/org/apache/james/protocols/netty/ConnectionPerIpLimitUpstreamHandler.java
----------------------------------------------------------------------
diff --git a/protocols/netty/src/main/java/org/apache/james/protocols/netty/ConnectionPerIpLimitUpstreamHandler.java b/protocols/netty/src/main/java/org/apache/james/protocols/netty/ConnectionPerIpLimitUpstreamHandler.java
index cd47ba0..c002f9d 100644
--- a/protocols/netty/src/main/java/org/apache/james/protocols/netty/ConnectionPerIpLimitUpstreamHandler.java
+++ b/protocols/netty/src/main/java/org/apache/james/protocols/netty/ConnectionPerIpLimitUpstreamHandler.java
@@ -39,7 +39,7 @@ import org.jboss.netty.channel.SimpleChannelUpstreamHandler;
  */
 public class ConnectionPerIpLimitUpstreamHandler extends SimpleChannelUpstreamHandler{
 
-    private final ConcurrentMap<String, AtomicInteger> connections = new ConcurrentHashMap<String, AtomicInteger>();    
+    private final ConcurrentMap<String, AtomicInteger> connections = new ConcurrentHashMap<>();
     private volatile int maxConnectionsPerIp = -1;
     
     public ConnectionPerIpLimitUpstreamHandler(int maxConnectionsPerIp) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java
index 9962bdb..985dd39 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3ProtocolHandlerChain.java
@@ -28,11 +28,11 @@ import org.apache.james.protocols.api.handler.CommandHandlerResultLogger;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandlerChainImpl;
 import org.apache.james.protocols.api.handler.WiringException;
+import org.apache.james.protocols.pop3.core.AbstractPassCmdHandler;
 import org.apache.james.protocols.pop3.core.CapaCmdHandler;
 import org.apache.james.protocols.pop3.core.DeleCmdHandler;
 import org.apache.james.protocols.pop3.core.ListCmdHandler;
 import org.apache.james.protocols.pop3.core.NoopCmdHandler;
-import org.apache.james.protocols.pop3.core.AbstractPassCmdHandler;
 import org.apache.james.protocols.pop3.core.QuitCmdHandler;
 import org.apache.james.protocols.pop3.core.RetrCmdHandler;
 import org.apache.james.protocols.pop3.core.RsetCmdHandler;
@@ -70,7 +70,7 @@ public class POP3ProtocolHandlerChain extends ProtocolHandlerChainImpl{
     }
     
     protected List<ProtocolHandler> initDefaultHandlers(AbstractPassCmdHandler... authHandlers) {
-        List<ProtocolHandler> handlers = new ArrayList<ProtocolHandler>();
+        List<ProtocolHandler> handlers = new ArrayList<>();
         // add all pass handlers
         Collections.addAll(handlers, authHandlers);
         

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3Response.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3Response.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3Response.java
index 326736d..510bb1e 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3Response.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/POP3Response.java
@@ -84,7 +84,7 @@ public class POP3Response extends AbstractResponse {
      * @return all responseLines
      */
     public List<CharSequence> getLines() {
-        List<CharSequence> responseList = new ArrayList<CharSequence>();
+        List<CharSequence> responseList = new ArrayList<>();
         if (lines.isEmpty()) {
             responseList.add(getRetCode());
         } else {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
index 5b9cf57..32db448 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
@@ -27,7 +27,6 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.protocols.api.Request;
@@ -44,7 +43,7 @@ import org.apache.james.protocols.pop3.POP3Session;
 public class CapaCmdHandler implements CommandHandler<POP3Session>, ExtensibleHandler, CapaCapability {    
     private List<CapaCapability> caps;
     private static final Collection<String> COMMANDS = Collections.unmodifiableCollection(Arrays.asList("CAPA"));
-    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList("PIPELINING")));
+    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("PIPELINING")));
 
     @Override
     public void init(Configuration config) throws ConfigurationException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
index 9bfdda9..94b6c71 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
@@ -76,7 +76,7 @@ public class ListCmdHandler implements CommandHandler<POP3Session> {
 
                 long size = 0;
                 int count = 0;
-                List<MessageMetaData> validResults = new ArrayList<MessageMetaData>();
+                List<MessageMetaData> validResults = new ArrayList<>();
                 if (uidList.isEmpty() == false) {
 
                     for (MessageMetaData data : uidList) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
index 7ffd46d..a2e305f 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
@@ -27,9 +27,9 @@ import java.util.List;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.handler.CommandHandler;
 import org.apache.james.protocols.pop3.POP3Response;
 import org.apache.james.protocols.pop3.POP3Session;
@@ -64,7 +64,7 @@ public class StatCmdHandler implements CommandHandler<POP3Session> {
             long size = 0;
             int count = 0;
             if (uidList.isEmpty() == false) {
-                List<MessageMetaData> validResults = new ArrayList<MessageMetaData>();
+                List<MessageMetaData> validResults = new ArrayList<>();
                 for (MessageMetaData data : uidList) {
                     if (deletedUidList.contains(data.getUid()) == false) {
                         size += data.getSize();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
index 0175b13..6249cc7 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
@@ -41,7 +41,7 @@ import org.apache.james.protocols.pop3.POP3StartTlsResponse;
 public class StlsCmdHandler implements CommandHandler<POP3Session>, CapaCapability {
 
     private static final Collection<String> COMMANDS = Collections.unmodifiableCollection(Arrays.asList("STLS"));
-    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList("STLS")));
+    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("STLS")));
 
     private static final Response BEGIN_TLS = new POP3StartTlsResponse(POP3Response.OK_RESPONSE, "Begin TLS negotiation").immutable();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
index dc62494..1994c7a 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/TopCmdHandler.java
@@ -42,7 +42,7 @@ import org.apache.james.protocols.pop3.mailbox.MessageMetaData;
  */
 public class TopCmdHandler extends RetrCmdHandler implements CapaCapability {
     private static final Collection<String> COMMANDS = Collections.unmodifiableCollection(Arrays.asList("TOP"));
-    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList("TOP")));
+    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("TOP")));
     
     private static final Response SYNTAX_ERROR = new POP3Response(POP3Response.ERR_RESPONSE, "Usage: TOP [mail number] [Line number]").immutable();
     private static final Response ERROR_MESSAGE_RETR = new POP3Response(POP3Response.ERR_RESPONSE, "Error while retrieving message.").immutable();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
index 9b4c5b1..48abe13 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
@@ -27,12 +27,11 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
-import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.handler.CommandHandler;
 import org.apache.james.protocols.pop3.POP3Response;
 import org.apache.james.protocols.pop3.POP3Session;
@@ -43,18 +42,18 @@ import org.apache.james.protocols.pop3.mailbox.MessageMetaData;
  */
 public class UidlCmdHandler implements CommandHandler<POP3Session>, CapaCapability {
     private static final Collection<String> COMMANDS = Collections.unmodifiableCollection(Arrays.asList("UIDL"));
-    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList("UIDL")));
+    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("UIDL")));
+
+    @Override
+    public void init(Configuration config) throws ConfigurationException {
+
+    }
+
+    @Override
+    public void destroy() {
+
+    }
 
-    @Override
-    public void init(Configuration config) throws ConfigurationException {
-
-    }
-
-    @Override
-    public void destroy() {
-
-    }
-
     /**
      * Handler method called upon receipt of a UIDL command. Returns a listing
      * of message ids to the client.

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
index 172bb75..20a0cea 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
@@ -25,8 +25,8 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
@@ -39,17 +39,17 @@ import org.apache.james.protocols.pop3.POP3Session;
 public class UserCmdHandler implements CommandHandler<POP3Session>, CapaCapability {
 
     private static final Collection<String> COMMANDS = Collections.unmodifiableCollection(Arrays.asList("USER"));
-    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList("USER")));
+    private static final Set<String> CAPS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("USER")));
 
-    @Override
-    public void init(Configuration config) throws ConfigurationException {
-
-    }
-
-    @Override
-    public void destroy() {
-
-    }
+    @Override
+    public void init(Configuration config) throws ConfigurationException {
+
+    }
+
+    @Override
+    public void destroy() {
+
+    }
 
     /**
      * Handler method called upon receipt of a USER command. Reads in the user

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java
index edbf803..1b6098d 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractPOP3ServerTest.java
@@ -512,7 +512,7 @@ public abstract class AbstractPOP3ServerTest {
     }
 
     private final class TestApopCmdHandler extends AbstractApopCmdHandler {
-        private final Map<String, Mailbox> mailboxes = new HashMap<String, Mailbox>();
+        private final Map<String, Mailbox> mailboxes = new HashMap<>();
        
         public void add(String username, Mailbox mailbox) {
             mailboxes.put(username, mailbox);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
index 308dac8..2aa8add 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
@@ -36,7 +36,7 @@ import com.github.steveash.guavate.Guavate;
 @SuppressWarnings("deprecation")
 public class MockMailbox extends ImapMailbox {
 
-    private final Map<Long, Message> messages = new HashMap<Long, Message>();
+    private final Map<Long, Message> messages = new HashMap<>();
     private final String identifier;
 
     public MockMailbox(String identifier, Message... messages) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java
index c208ef4..241286e 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/TestPassCmdHandler.java
@@ -26,7 +26,7 @@ import org.apache.james.protocols.pop3.core.AbstractPassCmdHandler;
 import org.apache.james.protocols.pop3.mailbox.Mailbox;
 
 public class TestPassCmdHandler extends AbstractPassCmdHandler {
-    private final Map<String, Mailbox> mailboxes = new HashMap<String, Mailbox>();
+    private final Map<String, Mailbox> mailboxes = new HashMap<>();
    
     public void add(String username, Mailbox mailbox) {
         mailboxes.put(username, mailbox);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
index 1fd0d8f..86718d7 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
@@ -89,7 +89,7 @@ public class SMTPProtocolHandlerChain extends ProtocolHandlerChainImpl {
     }
     
     protected List<ProtocolHandler> initDefaultHandlers() {
-        List<ProtocolHandler> defaultHandlers = new ArrayList<ProtocolHandler>();
+        List<ProtocolHandler> defaultHandlers = new ArrayList<>();
         defaultHandlers.add(new CommandDispatcher<SMTPSession>());
         defaultHandlers.add(new ExpnCmdHandler());
         defaultHandlers.add(new EhloCmdHandler(metricFactory));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPResponse.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPResponse.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPResponse.java
index 2603be8..5008517 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPResponse.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPResponse.java
@@ -84,7 +84,7 @@ public class SMTPResponse extends AbstractResponse {
      * @see org.apache.james.protocols.api.Response#getLines()
      */
     public List<CharSequence> getLines() {
-        List<CharSequence> responseList = new ArrayList<CharSequence>();
+        List<CharSequence> responseList = new ArrayList<>();
 
         for (int k = 0; k < lines.size(); k++) {
             StringBuilder respBuff = new StringBuilder(256);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java
index af85d91..624a659 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java
@@ -103,7 +103,7 @@ public abstract class AbstractAddHeadersFilter extends SeparatingDataLineFilter{
         public static final String MULTI_LINE_PREFIX = "          ";
         
         public final String name;
-        public final List<String> values = new ArrayList<String>();
+        public final List<String> values = new ArrayList<>();
                 
         public Header(String name, String value) {
             this.name = name;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
index f2c52ae..a935097 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
@@ -260,7 +260,7 @@ public abstract class AbstractHookableCmdHandler<Hook extends org.apache.james.p
      * @see org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> classes = new ArrayList<Class<?>>(2);
+        List<Class<?>> classes = new ArrayList<>(2);
         classes.add(getHookInterface());
         classes.add(HookResultHook.class);
         return classes;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
index c68be56..ff63c26 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
@@ -165,7 +165,7 @@ public class DataCmdHandler implements CommandHandler<SMTPSession>, ExtensibleHa
      */
     @SuppressWarnings("unchecked")
     protected Response doDATA(SMTPSession session, String argument) {
-        MailEnvelope env = createEnvelope(session, (MailAddress) session.getAttachment(SMTPSession.SENDER,ProtocolSession.State.Transaction), new ArrayList<MailAddress>((Collection<MailAddress>)session.getAttachment(SMTPSession.RCPT_LIST,ProtocolSession.State.Transaction)));
+        MailEnvelope env = createEnvelope(session, (MailAddress) session.getAttachment(SMTPSession.SENDER,ProtocolSession.State.Transaction), new ArrayList<>((Collection<MailAddress>) session.getAttachment(SMTPSession.RCPT_LIST, ProtocolSession.State.Transaction)));
         session.setAttachment(MAILENV, env,ProtocolSession.State.Transaction);
         session.pushLineHandler(lineHandler);
         

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java
index e5f342b..6f29ae6 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java
@@ -182,7 +182,7 @@ public class DataLineMessageHookHandler implements DataLineFilter, ExtensibleHan
      * @see org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> classes = new LinkedList<Class<?>>();
+        List<Class<?>> classes = new LinkedList<>();
         classes.add(MessageHook.class);
         classes.add(HookResultHook.class);
         return classes;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
index c2bc110..b68897e 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
@@ -310,7 +310,7 @@ public class MailCmdHandler extends AbstractHookableCmdHandler<MailHook> {
     @SuppressWarnings({ "unchecked", "rawtypes" })
     public void wireExtensions(Class interfaceName, List extension) {
         if (MailParametersHook.class.equals(interfaceName)) {
-            this.paramHooks = new HashMap<String, MailParametersHook>();
+            this.paramHooks = new HashMap<>();
             for (MailParametersHook hook : (Iterable<MailParametersHook>) extension) {
                 String[] params = hook.getMailParamNames();
                 for (String param : params) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
index 4433b03..5109e5d 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
@@ -89,7 +89,7 @@ public class RcptCmdHandler extends AbstractHookableCmdHandler<RcptHook> impleme
         Collection<MailAddress> rcptColl = (Collection<MailAddress>) session.getAttachment(
                 SMTPSession.RCPT_LIST, State.Transaction);
         if (rcptColl == null) {
-            rcptColl = new ArrayList<MailAddress>();
+            rcptColl = new ArrayList<>();
         }
         MailAddress recipientAddress = (MailAddress) session.getAttachment(
                 CURRENT_RECIPIENT, State.Transaction);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
index ad5b68c..9ebf858 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
@@ -520,7 +520,7 @@ public class AuthCmdHandler
      * @see org.apache.james.protocols.api.handler.ExtensibleHandler#getMarkerInterfaces()
      */
     public List<Class<?>> getMarkerInterfaces() {
-        List<Class<?>> classes = new ArrayList<Class<?>>(1);
+        List<Class<?>> classes = new ArrayList<>(1);
         classes.add(AuthHook.class);
         return classes;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
index 502da8a..7663d6b 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
@@ -40,9 +40,9 @@ import org.apache.james.protocols.smtp.hook.RcptHook;
 public class SpamTrapHandler implements RcptHook {
 
     /** Map which hold blockedIps and blockTime in memory */
-    private final Map<String,Long> blockedIps = new HashMap<String,Long>();
+    private final Map<String,Long> blockedIps = new HashMap<>();
     
-    private Collection<String> spamTrapRecips = new ArrayList<String>();
+    private Collection<String> spamTrapRecips = new ArrayList<>();
     
     /** Default blocktime 12 hours */
     protected long blockTime = 4320000;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
index 9ed65c1..25ddd96 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandlerTest.java
@@ -95,7 +95,7 @@ public class DNSRBLHandlerTest {
 
             @Override
             protected Collection<String> resolveTXTRecords(String hostname) {
-                List<String> res = new ArrayList<String>();
+                List<String> res = new ArrayList<>();
                 if (hostname == null) {
                     return res;
                 }
@@ -115,8 +115,8 @@ public class DNSRBLHandlerTest {
      */
     private void setupMockedSMTPSession(MailAddress rcpt) {
         mockedSMTPSession = new BaseFakeSMTPSession() {
-            HashMap<String,Object> sessionState = new HashMap<String,Object>();
-            HashMap<String,Object> connectionState = new HashMap<String,Object>();
+            HashMap<String,Object> sessionState = new HashMap<>();
+            HashMap<String,Object> connectionState = new HashMap<>();
             
             @Override
             public InetSocketAddress getRemoteAddress() {


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


[17/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
index 50c4ad3..bcbc54f 100644
--- a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
+++ b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
@@ -987,7 +987,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
         IndexSearcher searcher = null;
 
         try {
-            Set<MessageUid> uids = new HashSet<MessageUid>();
+            Set<MessageUid> uids = new HashSet<>();
             searcher = new IndexSearcher(IndexReader.open(writer, true));
             
             // query for all the documents sorted by uid
@@ -1007,7 +1007,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
                 }
             }
             
-            List<MessageRange> ranges = MessageRange.toRanges(new ArrayList<MessageUid>(uids));
+            List<MessageRange> ranges = MessageRange.toRanges(new ArrayList<>(uids));
             UidRange[] nRanges = new UidRange[ranges.size()];
             for (int i = 0; i < ranges.size(); i++) {
                 MessageRange range = ranges.get(i);
@@ -1028,7 +1028,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
     }
     
     private Sort createSort(List<SearchQuery.Sort> sorts) {
-        List<SortField> fields = new ArrayList<SortField>();
+        List<SortField> fields = new ArrayList<>();
 
         for (SearchQuery.Sort sort : sorts) {
             boolean reverse = sort.isReverse();
@@ -1336,7 +1336,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
      * @param f
      */
     private void indexFlags(Document doc, Flags f) {
-        List<String> fString = new ArrayList<String>();
+        List<String> fString = new ArrayList<>();
         Flag[] flags = f.getSystemFlags();
         for (Flag flag : flags) {
             fString.add(toString(flag));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java
index 15a9edb..4f36473 100644
--- a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java
+++ b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMailboxMessageSearchIndexTest.java
@@ -44,8 +44,8 @@ import org.apache.james.mailbox.model.SearchQuery;
 import org.apache.james.mailbox.model.SearchQuery.AddressType;
 import org.apache.james.mailbox.model.SearchQuery.DateResolution;
 import org.apache.james.mailbox.model.SearchQuery.Sort;
-import org.apache.james.mailbox.model.SearchQuery.Sort.SortClause;
 import org.apache.james.mailbox.model.SearchQuery.Sort.Order;
+import org.apache.james.mailbox.model.SearchQuery.Sort.SortClause;
 import org.apache.james.mailbox.model.SimpleMailboxACL;
 import org.apache.james.mailbox.model.TestId;
 import org.apache.james.mailbox.model.TestMessageId;
@@ -106,18 +106,18 @@ public class LuceneMailboxMessageSearchIndexTest {
         id5 = factory.generate();
         index = new LuceneMessageSearchIndex(null, new TestId.Factory(), new RAMDirectory(), true, useLenient(), factory);
         index.setEnableSuffixMatch(true);
-        Map<String, String> headersSubject = new HashMap<String, String>();
+        Map<String, String> headersSubject = new HashMap<>();
         headersSubject.put("Subject", "test (fwd)");
         headersSubject.put("From", "test99 <te...@localhost>");
         headersSubject.put("To", "test2 <te...@localhost>, test3 <te...@localhost>");
 
-        Map<String, String> headersTest = new HashMap<String, String>();
+        Map<String, String> headersTest = new HashMap<>();
         headersTest.put("Test", "test");
         headersTest.put("From", "test1 <te...@localhost>");
         headersTest.put("To", "test3 <te...@localhost>, test4 <te...@localhost>");
         headersTest.put("Cc", "test21 <te...@localhost>, test6 <te...@foobar>");
 
-        Map<String, String> headersTestSubject =  new HashMap<String, String>();
+        Map<String, String> headersTestSubject = new HashMap<>();
         headersTestSubject.put("Test", "test");
         headersTestSubject.put("Subject", "test2");
         headersTestSubject.put("Date", "Thu, 14 Feb 1990 12:00:00 +0000 (GMT)");

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
index 03c0639..3189e46 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
@@ -407,7 +407,7 @@ public class MaildirFolder {
     public SortedMap<MessageUid, MaildirMessageName> getUidMap(MailboxSession session, FilenameFilter filter, MessageUid from, MessageUid to)
     throws MailboxException {
         SortedMap<MessageUid, MaildirMessageName> allUids = getUidMap(session, from, to);
-        SortedMap<MessageUid, MaildirMessageName> filteredUids = new TreeMap<MessageUid, MaildirMessageName>();
+        SortedMap<MessageUid, MaildirMessageName> filteredUids = new TreeMap<>();
         for (Entry<MessageUid, MaildirMessageName> entry : allUids.entrySet()) {
             if (filter.accept(null, entry.getValue().getFullName()))
                 filteredUids.put(entry.getKey(), entry.getValue());
@@ -430,7 +430,7 @@ public class MaildirFolder {
     public SortedMap<MessageUid, MaildirMessageName> getUidMap(MailboxSession session, FilenameFilter filter, int limit) throws MailboxException {
         MessageUid to = null;
         SortedMap<MessageUid, MaildirMessageName> allUids = getUidMap(session, MessageUid.MIN_VALUE, to);
-        SortedMap<MessageUid, MaildirMessageName> filteredUids = new TreeMap<MessageUid, MaildirMessageName>();
+        SortedMap<MessageUid, MaildirMessageName> filteredUids = new TreeMap<>();
         int theLimit = limit;
         if (limit < 1)
             theLimit = allUids.size();
@@ -538,7 +538,7 @@ public class MaildirFolder {
      * @return The uid map
      */
     private Map<MessageUid, MaildirMessageName> createUidFile() throws MailboxException {
-        final Map<MessageUid, MaildirMessageName> uidMap = new TreeMap<MessageUid, MaildirMessageName>();
+        final Map<MessageUid, MaildirMessageName> uidMap = new TreeMap<>();
         File uidList = uidFile;
         PrintWriter pw = null;
         try {
@@ -565,12 +565,12 @@ public class MaildirFolder {
     }
     
     private Map<MessageUid, MaildirMessageName> updateUidFile() throws MailboxException {
-        final Map<MessageUid, MaildirMessageName> uidMap = new TreeMap<MessageUid, MaildirMessageName>();
+        final Map<MessageUid, MaildirMessageName> uidMap = new TreeMap<>();
         File uidList = uidFile;
         String[] curFiles = curFolder.list();
         String[] newFiles = newFolder.list();
         messageCount = curFiles.length + newFiles.length;
-        HashMap<String, MessageUid> reverseUidMap = new HashMap<String, MessageUid>(messageCount);
+        HashMap<String, MessageUid> reverseUidMap = new HashMap<>(messageCount);
         FileReader fileReader = null;
         BufferedReader reader = null;
         PrintWriter pw = null;
@@ -617,7 +617,7 @@ public class MaildirFolder {
     }
 
     private Map<MessageUid, MaildirMessageName> readUidFile(MailboxSession session, MessageUid from, MessageUid to) throws MailboxException {
-        final Map<MessageUid, MaildirMessageName> uidMap = new HashMap<MessageUid, MaildirMessageName>();
+        final Map<MessageUid, MaildirMessageName> uidMap = new HashMap<>();
 
         File uidList = uidFile;
         FileReader fileReader = null;
@@ -672,7 +672,7 @@ public class MaildirFolder {
     private SortedMap<MessageUid, MaildirMessageName> truncateMap(Map<MessageUid, MaildirMessageName> map, MessageUid from, MessageUid to) {
         TreeMap<MessageUid, MaildirMessageName> sortedMap;
         if (map instanceof TreeMap<?, ?>) sortedMap = (TreeMap<MessageUid, MaildirMessageName>) map;
-        else sortedMap = new TreeMap<MessageUid, MaildirMessageName>(map);
+        else sortedMap = new TreeMap<>(map);
         if (to != null)
             return sortedMap.subMap(from, to.next());
         return sortedMap.tailMap(from);
@@ -745,7 +745,7 @@ public class MaildirFolder {
                     // the first line in the file contains the next uid and message count
                     if (line != null)
                         readUidListHeader(line);
-                    ArrayList<String> lines = new ArrayList<String>();
+                    ArrayList<String> lines = new ArrayList<>();
                     while ((line = reader.readLine()) != null)
                         lines.add(line);
                     uid = getNextUid();
@@ -763,7 +763,7 @@ public class MaildirFolder {
                     String[] curFiles = curFolder.list();
                     String[] newFiles = newFolder.list();
                     messageCount = curFiles.length + newFiles.length;
-                    ArrayList<String> lines = new ArrayList<String>();
+                    ArrayList<String> lines = new ArrayList<>();
                     String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
                     for (String file : allFiles) {
                         MessageUid theUid = getNextUid();
@@ -811,7 +811,7 @@ public class MaildirFolder {
                 reader = new BufferedReader(fileReader);
                 String line = reader.readLine();
                 readUidListHeader(line);
-                ArrayList<String> lines = new ArrayList<String>();
+                ArrayList<String> lines = new ArrayList<>();
                 while ((line = reader.readLine()) != null) {
                     if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
                         line = String.valueOf(uid.asLong()) + " " + messageName;
@@ -854,7 +854,7 @@ public class MaildirFolder {
                 readUidListHeader(reader.readLine());
 
                 // It may be possible that message count is 0 so we should better not try to calculate the size of the ArrayList
-                ArrayList<String> lines = new ArrayList<String>();
+                ArrayList<String> lines = new ArrayList<>();
                 String line;
                 int lineNumber = 1;
                 while ((line = reader.readLine()) != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
index 52656f9..482a433 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
@@ -22,7 +22,7 @@ import java.util.LinkedList;
 
 public class UidConstraint {
     
-    private final LinkedList<Constraint> constraints = new LinkedList<Constraint>();
+    private final LinkedList<Constraint> constraints = new LinkedList<>();
     
     public UidConstraint append(Constraint constraint) {
         constraints.add(constraint);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
index b7f5d9e..e24e4c7 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
@@ -56,7 +56,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
     /**
      * A request-scoped list of mailboxes in order to refer to them via id
      */
-    private final ArrayList<Mailbox> mailboxCache = new ArrayList<Mailbox>();
+    private final ArrayList<Mailbox> mailboxCache = new ArrayList<>();
 
     private final MailboxSession session;
     
@@ -133,7 +133,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
         FilenameFilter filter = MaildirMessageName.createRegexFilter(searchPattern);
         File root = maildirStore.getMailboxRootForUser(mailboxPath.getUser());
         File[] folders = root.listFiles(filter);
-        ArrayList<Mailbox> mailboxList = new ArrayList<Mailbox>();
+        ArrayList<Mailbox> mailboxList = new ArrayList<>();
         for (File folder : folders)
             if (folder.isDirectory()) {
                 Mailbox mailbox = maildirStore.loadMailbox(session, root, mailboxPath.getNamespace(), mailboxPath.getUser(), folder.getName());
@@ -242,7 +242,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
     public List<Mailbox> list() throws MailboxException {
         
        File maildirRoot = maildirStore.getMaildirRoot();
-       List<Mailbox> mailboxList = new ArrayList<Mailbox>();
+       List<Mailbox> mailboxList = new ArrayList<>();
         
        if (maildirStore.getMaildirLocation().endsWith("/" + MaildirStore.PATH_FULLUSER)) {
            File[] users = maildirRoot.listFiles();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
index 1e77933..11370ec 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
@@ -131,7 +131,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
     public List<MessageUid> findRecentMessageUidsInMailbox(Mailbox mailbox) throws MailboxException {
         MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
         SortedMap<MessageUid, MaildirMessageName> recentMessageNames = folder.getRecentMessages(mailboxSession);
-        return new ArrayList<MessageUid>(recentMessageNames.keySet());
+        return new ArrayList<>(recentMessageNames.keySet());
 
     }
 
@@ -152,7 +152,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
      */
     @Override
     public Iterator<UpdatedFlags> updateFlags(Mailbox mailbox, FlagsUpdateCalculator flagsUpdateCalculator, MessageRange set) throws MailboxException {
-        final List<UpdatedFlags> updatedFlags = new ArrayList<UpdatedFlags>();
+        final List<UpdatedFlags> updatedFlags = new ArrayList<>();
         final MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
 
         Iterator<MailboxMessage> it = findInMailbox(mailbox, set, FetchType.Metadata, -1);
@@ -214,7 +214,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
     @Override
     public Map<MessageUid, MessageMetaData> expungeMarkedForDeletionInMailbox(Mailbox mailbox, MessageRange set)
             throws MailboxException {
-        List<MailboxMessage> results = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> results = new ArrayList<>();
         final MessageUid from = set.getUidFrom();
         final MessageUid to = set.getUidTo();
         final Type type = set.getType();
@@ -235,7 +235,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
                     -1);
             break;
         }
-        Map<MessageUid, MessageMetaData> uids = new HashMap<MessageUid, MessageMetaData>();
+        Map<MessageUid, MessageMetaData> uids = new HashMap<>();
         for (MailboxMessage m : results) {
             MessageUid uid = m.getUid();
             uids.put(uid, new SimpleMessageMetaData(m));
@@ -358,7 +358,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
         try {
             MaildirMessageName messageName = folder.getMessageNameByUid(mailboxSession, from);
 
-            ArrayList<MailboxMessage> messages = new ArrayList<MailboxMessage>();
+            ArrayList<MailboxMessage> messages = new ArrayList<>();
             if (messageName != null && messageName.getFile().exists()) {
                 messages.add(new MaildirMailboxMessage(mailbox, from, messageName));
             }
@@ -380,7 +380,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
             else
                 uidMap = folder.getUidMap(mailboxSession, from, to);
 
-            ArrayList<MailboxMessage> messages = new ArrayList<MailboxMessage>();
+            ArrayList<MailboxMessage> messages = new ArrayList<>();
             for (Entry<MessageUid, MaildirMessageName> entry : uidMap.entrySet()) {
                 messages.add(new MaildirMailboxMessage(mailbox, entry.getKey(), entry.getValue()));
                 if (max != -1) {
@@ -402,7 +402,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
         try {
             SortedMap<MessageUid, MaildirMessageName> uidMap = folder.getUidMap(mailboxSession, filter, limit);
 
-            ArrayList<MailboxMessage> filtered = new ArrayList<MailboxMessage>(uidMap.size());
+            ArrayList<MailboxMessage> filtered = new ArrayList<>(uidMap.size());
             for (Entry<MessageUid, MaildirMessageName> entry : uidMap.entrySet())
                 filtered.add(new MaildirMailboxMessage(mailbox, entry.getKey(), entry.getValue()));
             return filtered;
@@ -417,7 +417,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
         MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
         try {
             MaildirMessageName messageName = folder.getMessageNameByUid(mailboxSession, uid);
-            ArrayList<MailboxMessage> messages = new ArrayList<MailboxMessage>();
+            ArrayList<MailboxMessage> messages = new ArrayList<>();
             if (MaildirMessageName.FILTER_DELETED_MESSAGES.accept(null, messageName.getFullName())) {
                 messages.add(new MaildirMailboxMessage(mailbox, uid, messageName));
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
index 552c949..03854b6 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
@@ -168,7 +168,7 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements
      * @throws IOException
      */
     private void writeSubscriptions(File mailboxFolder, Set<String> subscriptions) throws IOException {
-        List<String> sortedSubscriptions = new ArrayList<String>(subscriptions);
+        List<String> sortedSubscriptions = new ArrayList<>(subscriptions);
         Collections.sort(sortedSubscriptions);
         if (!mailboxFolder.exists())
             if (!mailboxFolder.mkdirs())

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java
index a05a7a8..482b892 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/MailderMailboxMessageNameTest.java
@@ -42,7 +42,7 @@ public class MailderMailboxMessageNameTest {
 
     @Parameterized.Parameters
     public static List<Object[]> testData() {
-        List<Object[]> args = new ArrayList<Object[]>();
+        List<Object[]> args = new ArrayList<>();
         // no size, two flags
         Parts parts = Parts.fullName("1328026049.19146_0.km1111:2,RS").timeSeconds(1328026049)
                 .baseName("1328026049.19146_0.km1111").flagAnswered().flagSeen();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java
index c7a20d6..3b4f92d 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAttachmentMapper.java
@@ -39,7 +39,7 @@ public class InMemoryAttachmentMapper implements AttachmentMapper {
     private final Map<AttachmentId, Attachment> attachmentsById;
 
     public InMemoryAttachmentMapper() {
-        attachmentsById = new ConcurrentHashMap<AttachmentId, Attachment>(INITIAL_SIZE);
+        attachmentsById = new ConcurrentHashMap<>(INITIAL_SIZE);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
index 4ef6936..2500e78 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
@@ -44,7 +44,7 @@ public class InMemoryMailboxMapper implements MailboxMapper {
     private final AtomicLong mailboxIdGenerator = new AtomicLong();
 
     public InMemoryMailboxMapper() {
-        mailboxesByPath = new ConcurrentHashMap<MailboxPath, Mailbox>(INITIAL_SIZE);
+        mailboxesByPath = new ConcurrentHashMap<>(INITIAL_SIZE);
     }
 
     /**
@@ -147,7 +147,7 @@ public class InMemoryMailboxMapper implements MailboxMapper {
      * @see org.apache.james.mailbox.store.mail.MailboxMapper#list()
      */
     public List<Mailbox> list() throws MailboxException {
-        return new ArrayList<Mailbox>(mailboxesByPath.values());
+        return new ArrayList<>(mailboxesByPath.values());
     }
 
     public <T> T execute(Transaction<T> transaction) throws MailboxException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
index 9c6bfc0..81162fe 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
@@ -54,7 +54,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
     public InMemoryMessageMapper(MailboxSession session, UidProvider uidProvider,
             ModSeqProvider modSeqProvider) {
         super(session, uidProvider, modSeqProvider);
-        this.mailboxByUid = new ConcurrentHashMap<InMemoryId, Map<MessageUid, MailboxMessage>>(INITIAL_SIZE);
+        this.mailboxByUid = new ConcurrentHashMap<>(INITIAL_SIZE);
     }
 
     private Map<MessageUid, MailboxMessage> getMembershipByUidForMailbox(Mailbox mailbox) {
@@ -64,7 +64,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
     private Map<MessageUid, MailboxMessage> getMembershipByUidForId(InMemoryId id) {
         Map<MessageUid, MailboxMessage> membershipByUid = mailboxByUid.get(id);
         if (membershipByUid == null) {
-            membershipByUid = new ConcurrentHashMap<MessageUid, MailboxMessage>(INITIAL_SIZE);
+            membershipByUid = new ConcurrentHashMap<>(INITIAL_SIZE);
             mailboxByUid.put(id, membershipByUid);
         }
         return membershipByUid;
@@ -100,7 +100,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
     @Override
     public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange set, FetchType ftype, int max)
             throws MailboxException {
-        List<MailboxMessage> results = new ArrayList<MailboxMessage>(getMembershipByUidForMailbox(mailbox).values());
+        List<MailboxMessage> results = new ArrayList<>(getMembershipByUidForMailbox(mailbox).values());
         for (Iterator<MailboxMessage> it = results.iterator(); it.hasNext();) {
             if (!set.includes(it.next().getUid())) {
                 it.remove();
@@ -127,7 +127,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
 
     @Override
     public MessageUid findFirstUnseenMessageUid(Mailbox mailbox) throws MailboxException {
-        List<MailboxMessage> memberships = new ArrayList<MailboxMessage>(getMembershipByUidForMailbox(mailbox).values());
+        List<MailboxMessage> memberships = new ArrayList<>(getMembershipByUidForMailbox(mailbox).values());
         Collections.sort(memberships);
         return memberships.stream()
             .filter(m -> !m.isSeen())
@@ -139,7 +139,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
     @Override
     public Map<MessageUid, MessageMetaData> expungeMarkedForDeletionInMailbox(Mailbox mailbox, MessageRange set)
             throws MailboxException {
-        final Map<MessageUid, MessageMetaData> filteredResult = new HashMap<MessageUid, MessageMetaData>();
+        final Map<MessageUid, MessageMetaData> filteredResult = new HashMap<>();
 
         Iterator<MailboxMessage> it = findInMailbox(mailbox, set, FetchType.Metadata, -1);
         while (it.hasNext()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java
index fa0c9ae..435f351 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryModSeqProvider.java
@@ -31,7 +31,7 @@ import org.apache.james.mailbox.store.mail.ModSeqProvider;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 
 public class InMemoryModSeqProvider implements ModSeqProvider {
-    private final ConcurrentMap<InMemoryId, AtomicLong> map = new ConcurrentHashMap<InMemoryId, AtomicLong>();
+    private final ConcurrentMap<InMemoryId, AtomicLong> map = new ConcurrentHashMap<>();
 
     @Override
     public long nextModSeq(MailboxSession session, Mailbox mailbox) throws MailboxException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java
index be9942b..d3f4637 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java
@@ -35,7 +35,7 @@ import com.google.common.base.Optional;
 
 public class InMemoryUidProvider implements UidProvider{
 
-    private final ConcurrentMap<InMemoryId, AtomicLong> map = new ConcurrentHashMap<InMemoryId, AtomicLong>();
+    private final ConcurrentMap<InMemoryId, AtomicLong> map = new ConcurrentHashMap<>();
     
     @Override
     public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
index dabfb10..8f41f66 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
@@ -21,18 +21,18 @@ package org.apache.james.mailbox.inmemory.quota;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.james.mailbox.quota.MaxQuotaManager;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.Quota;
 import org.apache.james.mailbox.model.QuotaRoot;
+import org.apache.james.mailbox.quota.MaxQuotaManager;
 
 public class InMemoryPerUserMaxQuotaManager implements MaxQuotaManager {
 
     private long maxMessage = Quota.UNLIMITED;
     private long maxStorage = Quota.UNLIMITED;
 
-    private final Map<String, Long> userMaxStorage = new ConcurrentHashMap<String, Long>();
-    private final Map<String, Long> userMaxMessage = new ConcurrentHashMap<String, Long>();
+    private final Map<String, Long> userMaxStorage = new ConcurrentHashMap<>();
+    private final Map<String, Long> userMaxMessage = new ConcurrentHashMap<>();
 
     @Override
     public void setDefaultMaxStorage(long maxStorage) throws MailboxException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
index 7bad0e6..7ef4d62 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
@@ -35,7 +35,7 @@ public class InMemorySubscriptionMapper extends NonTransactionalMapper implement
     private final Map<String, List<Subscription>> subscriptionsByUser;
     
     public InMemorySubscriptionMapper() {
-        subscriptionsByUser = new ConcurrentHashMap<String, List<Subscription>>(INITIAL_SIZE);
+        subscriptionsByUser = new ConcurrentHashMap<>(INITIAL_SIZE);
     }
 
     public synchronized void delete(Subscription subscription) {
@@ -72,7 +72,7 @@ public class InMemorySubscriptionMapper extends NonTransactionalMapper implement
         final String user = subscription.getUser();
         final List<Subscription> subscriptions = subscriptionsByUser.get(user);
         if (subscriptions == null) {
-            final List<Subscription> newSubscriptions  = new ArrayList<Subscription>();
+            final List<Subscription> newSubscriptions  = new ArrayList<>();
             newSubscriptions.add(subscription);
             subscriptionsByUser.put(user, newSubscriptions);
         } else {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthenticator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthenticator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthenticator.java
index 5ce3126..6e1865b 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthenticator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthenticator.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 public class FakeAuthenticator implements Authenticator{
 
-    private final Map<String, String> users = new HashMap<String, String>();
+    private final Map<String, String> users = new HashMap<>();
 
     public boolean isAuthentic(String userid, CharSequence passwd) {
         String pass = users.get(userid);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java
index beed7f1..eadf5f9 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java
@@ -19,16 +19,16 @@
 
 package org.apache.james.mailbox.store;
 
-import org.apache.james.mailbox.MailboxPathLocker;
-import org.apache.james.mailbox.MailboxSession;
-import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.model.MailboxPath;
-
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
+import org.apache.james.mailbox.MailboxPathLocker;
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.model.MailboxPath;
+
 /**
  * {@link MailboxPathLocker} implementation which helps to synchronize the access the
  * same MailboxPath. This is done using one {@link ReentrantReadWriteLock}
@@ -36,7 +36,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
  */
 public final class JVMMailboxPathLocker extends AbstractMailboxPathLocker {
 
-    private final ConcurrentHashMap<MailboxPath, ReadWriteLock> paths = new ConcurrentHashMap<MailboxPath, ReadWriteLock>();
+    private final ConcurrentHashMap<MailboxPath, ReadWriteLock> paths = new ConcurrentHashMap<>();
 
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxMetaData.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxMetaData.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxMetaData.java
index 61f7f61..ba59371 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxMetaData.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MailboxMetaData.java
@@ -49,7 +49,7 @@ public class MailboxMetaData implements MessageManager.MetaData {
     public MailboxMetaData(List<MessageUid> recent, Flags premanentFlags, long uidValidity, MessageUid uidNext, long highestModSeq, long messageCount, long unseenCount, MessageUid firstUnseen, boolean writeable, boolean modSeqPermanent, MailboxACL acl) {
         super();
         if (recent == null) {
-            this.recent = new ArrayList<MessageUid>();
+            this.recent = new ArrayList<>();
         } else {
             this.recent = recent;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageBatcher.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageBatcher.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageBatcher.java
index d4e3d6a..c51154b 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageBatcher.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageBatcher.java
@@ -43,7 +43,7 @@ public class MessageBatcher {
 
     public List<MessageRange> batchMessages(MessageRange set, BatchedOperation batchedOperation) throws MailboxException {
         if (moveBatchSize > 0) {
-            List<MessageRange> movedRanges = new ArrayList<MessageRange>();
+            List<MessageRange> movedRanges = new ArrayList<>();
             for (MessageRange messageRange : set.split(moveBatchSize)) {
                 movedRanges.addAll(batchedOperation.execute(messageRange));
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java
index c7eb014..cf75533 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MessageResultImpl.java
@@ -51,7 +51,7 @@ import com.google.common.base.Objects;
  */
 public class MessageResultImpl implements MessageResult {
 
-    private final Map<MimePath, PartContent> partsByPath = new HashMap<MimePath, PartContent>();
+    private final Map<MimePath, PartContent> partsByPath = new HashMap<>();
 
     private MimeDescriptor mimeDescriptor;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
index 7137040..95c1f9b 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
@@ -82,7 +82,7 @@ public class MimeDescriptorImpl implements MimeDescriptor {
     private static MimeDescriptorImpl createDescriptor(
             final MimeTokenStream parser) throws IOException, MimeException {
         EntityState next = parser.next();
-        final Collection<MessageResult.Header> headers = new ArrayList<MessageResult.Header>();
+        final Collection<MessageResult.Header> headers = new ArrayList<>();
         while (next != EntityState.T_BODY
                 && next != EntityState.T_END_OF_STREAM
                 && next != EntityState.T_START_MULTIPART) {
@@ -169,7 +169,7 @@ public class MimeDescriptorImpl implements MimeDescriptor {
         final String subType = descriptor.getSubType();
         final String type = descriptor.getMediaType();
         final String transferEncoding = descriptor.getTransferEncoding();
-        final Map<String, String> contentTypeParameters = new TreeMap<String, String>(descriptor.getContentTypeParameters());
+        final Map<String, String> contentTypeParameters = new TreeMap<>(descriptor.getContentTypeParameters());
         final String codeset = descriptor.getCharset();
         if (codeset == null) {
             if ("TEXT".equals(type)) {
@@ -187,7 +187,7 @@ public class MimeDescriptorImpl implements MimeDescriptor {
         final String disposition = descriptor.getContentDispositionType();
         final Map<String, String> dispositionParams = descriptor
                 .getContentDispositionParameters();
-        final Collection<MimeDescriptor> parts = new ArrayList<MimeDescriptor>();
+        final Collection<MimeDescriptor> parts = new ArrayList<>();
         final String location = descriptor.getContentLocation();
         final String md5 = descriptor.getContentMD5Raw();
         return new MimeDescriptorImpl(

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
index c436585..ad4375c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
@@ -54,7 +54,7 @@ public class ResultUtils {
     static final Charset US_ASCII = Charset.forName("US-ASCII");
 
     public static List<MessageResult.Header> createHeaders(MailboxMessage document) throws IOException {
-        final List<MessageResult.Header> results = new ArrayList<MessageResult.Header>();
+        final List<MessageResult.Header> results = new ArrayList<>();
         MimeConfig config = MimeConfig.custom().setMaxLineLen(-1).setMaxHeaderLen(-1).build();
         final MimeStreamParser parser = new MimeStreamParser(config);
         parser.setContentHandler(new AbstractContentHandler() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java
index 24e5374..11d13f8 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java
@@ -62,7 +62,7 @@ public class SimpleMailboxSession implements MailboxSession, MailboxSession.User
     
     public SimpleMailboxSession(long sessionId, String userName, String password,
             final Logger log, List<Locale> localePreferences, char pathSeparator, SessionType type) {
-        this(sessionId, userName, password, log, localePreferences, new ArrayList<String>(), null, pathSeparator, type);
+        this(sessionId, userName, password, log, localePreferences, new ArrayList<>(), null, pathSeparator, type);
     }
 
     public SimpleMailboxSession(long sessionId, String userName, String password,
@@ -81,7 +81,7 @@ public class SimpleMailboxSession implements MailboxSession, MailboxSession.User
         }
 
         this.localePreferences = localePreferences;
-        this.attributes = new HashMap<Object, Object>();
+        this.attributes = new HashMap<>();
         this.pathSeparator = pathSeparator;
     }
     

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index 09d3a64..aab9340 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.EnumSet;
 import java.util.List;
-import java.util.Locale;
 import java.util.Random;
 import java.util.Set;
 
@@ -397,7 +396,7 @@ public class StoreMailboxManager implements MailboxManager {
      * @return session
      */
     protected MailboxSession createSession(String userName, String password, Logger log, SessionType type) {
-        return new SimpleMailboxSession(randomId(), userName, password, log, new ArrayList<Locale>(), getDelimiter(), type);
+        return new SimpleMailboxSession(randomId(), userName, password, log, new ArrayList<>(), getDelimiter(), type);
     }
 
     /**
@@ -545,7 +544,7 @@ public class StoreMailboxManager implements MailboxManager {
             // Create parents first
             // If any creation fails then the mailbox will not be created
             // TODO: transaction
-            final List<MailboxId> mailboxIds = new ArrayList<MailboxId>();
+            final List<MailboxId> mailboxIds = new ArrayList<>();
             for (final MailboxPath mailbox : mailboxPath.getHierarchyLevels(getDelimiter()))
 
                 locker.executeWithLock(mailboxSession, mailbox, (LockAwareExecution<Void>) () -> {
@@ -696,7 +695,7 @@ public class StoreMailboxManager implements MailboxManager {
 
         List<Mailbox> mailboxes = mailboxSessionMapperFactory.getMailboxMapper(session)
             .findMailboxWithPathLike(search);
-        List<MailboxMetaData> results = new ArrayList<MailboxMetaData>(mailboxes.size());
+        List<MailboxMetaData> results = new ArrayList<>(mailboxes.size());
         for (Mailbox mailbox : mailboxes) {
             final String name = mailbox.getName();
             if(belongsToNamespaceAndUser(mailboxExpression.getBase(), mailbox)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
index fc9da70..94b8449 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
@@ -203,7 +203,7 @@ public class StoreMessageIdManager implements MessageIdManager {
     }
 
     private Map<QuotaRoot, Integer> buildMapQuotaRoot(Collection<MailboxId> mailboxIdsToBeAdded, Collection<MailboxId> mailboxIdsToBeRemove, MailboxMapper mailboxMapper) throws MailboxException {
-        Map<QuotaRoot, Integer> messageCountByQuotaRoot = new HashMap<QuotaRoot, Integer>();
+        Map<QuotaRoot, Integer> messageCountByQuotaRoot = new HashMap<>();
         for (MailboxId mailboxId : mailboxIdsToBeAdded) {
             QuotaRoot quotaRoot = retrieveQuotaRoot(mailboxMapper, mailboxId);
             int currentCount = Optional.fromNullable(messageCountByQuotaRoot.get(quotaRoot)).or(0);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
index e4e3c30..7ff5509 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
@@ -522,7 +522,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
             if (resetRecent) {
                 recent(resetRecent, mailboxSession);
             }
-            recent = new ArrayList<MessageUid>();
+            recent = new ArrayList<>();
             break;
         }
         MailboxACL resolvedAcl = getResolvedMailboxACL(mailboxSession);
@@ -574,7 +574,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
         if (!isWriteable(mailboxSession)) {
             throw new ReadOnlyException(getMailboxPath(), mailboxSession.getPathDelimiter());
         }
-        final SortedMap<MessageUid, Flags> newFlagsByUid = new TreeMap<MessageUid, Flags>();
+        final SortedMap<MessageUid, Flags> newFlagsByUid = new TreeMap<>();
 
         trimFlags(flags, mailboxSession);
 
@@ -582,7 +582,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
 
         Iterator<UpdatedFlags> it = messageMapper.execute(() -> messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(flags, flagsUpdateMode), set));
 
-        final SortedMap<MessageUid, UpdatedFlags> uFlags = new TreeMap<MessageUid, UpdatedFlags>();
+        final SortedMap<MessageUid, UpdatedFlags> uFlags = new TreeMap<>();
 
         while (it.hasNext()) {
             UpdatedFlags flag = it.next();
@@ -590,7 +590,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
             uFlags.put(flag.getUid(), flag);
         }
 
-        dispatcher.flagsUpdated(mailboxSession, new ArrayList<>(uFlags.keySet()), getMailboxEntity(), new ArrayList<UpdatedFlags>(uFlags.values()));
+        dispatcher.flagsUpdated(mailboxSession, new ArrayList<>(uFlags.keySet()), getMailboxEntity(), new ArrayList<>(uFlags.values()));
 
         return newFlagsByUid;
     }
@@ -713,7 +713,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
     }
 
     private Iterator<MessageMetaData> copy(Iterator<MailboxMessage> originalRows, MailboxSession session) throws MailboxException {
-        final List<MessageMetaData> copiedRows = new ArrayList<MessageMetaData>();
+        final List<MessageMetaData> copiedRows = new ArrayList<>();
         final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
         QuotaChecker quotaChecker = new QuotaChecker(quotaManager, quotaRootResolver, mailbox);
 
@@ -728,8 +728,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
     }
 
     private MoveResult move(Iterator<MailboxMessage> originalRows, MailboxSession session) throws MailboxException {
-        final List<MessageMetaData> movedRows = new ArrayList<MessageMetaData>();
-        final List<MessageMetaData> originalRowsCopy = new ArrayList<MessageMetaData>();
+        final List<MessageMetaData> movedRows = new ArrayList<>();
+        final List<MessageMetaData> originalRowsCopy = new ArrayList<>();
         final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
 
         while (originalRows.hasNext()) {
@@ -744,7 +744,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
 
 
     private SortedMap<MessageUid, MessageMetaData> copy(MessageRange set, StoreMessageManager to, MailboxSession session) throws MailboxException {
-        IteratorWrapper<MailboxMessage> originalRows = new IteratorWrapper<MailboxMessage>(retrieveOriginalRows(set, session));
+        IteratorWrapper<MailboxMessage> originalRows = new IteratorWrapper<>(retrieveOriginalRows(set, session));
 
         SortedMap<MessageUid, MessageMetaData> copiedUids = collectMetadata(to.copy(originalRows, session));
 
@@ -758,7 +758,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
     }
 
     private SortedMap<MessageUid, MessageMetaData> move(MessageRange set, StoreMessageManager to, MailboxSession session) throws MailboxException {
-        IteratorWrapper<MailboxMessage> originalRows = new IteratorWrapper<MailboxMessage>(retrieveOriginalRows(set, session));
+        IteratorWrapper<MailboxMessage> originalRows = new IteratorWrapper<>(retrieveOriginalRows(set, session));
 
         MoveResult moveResult = to.move(originalRows, session);
         SortedMap<MessageUid, MessageMetaData> moveUids = collectMetadata(moveResult.getMovedMessages());
@@ -778,7 +778,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
     }
 
     private SortedMap<MessageUid, MessageMetaData> collectMetadata(Iterator<MessageMetaData> ids) {
-        final SortedMap<MessageUid, MessageMetaData> copiedMessages = new TreeMap<MessageUid, MessageMetaData>();
+        final SortedMap<MessageUid, MessageMetaData> copiedMessages = new TreeMap<>();
         while (ids.hasNext()) {
             MessageMetaData data = ids.next();
             copiedMessages.put(data.getUid(), data);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxListenerRegistry.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxListenerRegistry.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxListenerRegistry.java
index 13f98a3..f68a7c8 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxListenerRegistry.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxListenerRegistry.java
@@ -37,7 +37,7 @@ public class MailboxListenerRegistry {
     private final ConcurrentLinkedQueue<MailboxListener> globalListeners;
 
     public MailboxListenerRegistry() {
-        this.globalListeners = new ConcurrentLinkedQueue<MailboxListener>();
+        this.globalListeners = new ConcurrentLinkedQueue<>();
         this.listeners = Multimaps.synchronizedMultimap(HashMultimap.<MailboxPath, MailboxListener>create());
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegister.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegister.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegister.java
index be367aa..c770bb0 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegister.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/DistantMailboxPathRegister.java
@@ -19,14 +19,6 @@
 
 package org.apache.james.mailbox.store.event.distributed;
 
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.ImmutableSet;
-import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.store.publisher.Topic;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
 import java.util.Map;
 import java.util.Set;
 import java.util.Timer;
@@ -34,6 +26,16 @@ import java.util.TimerTask;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.model.MailboxPath;
+import org.apache.james.mailbox.store.publisher.Topic;
+
+import com.google.common.annotations.VisibleForTesting;
+import com.google.common.collect.ImmutableSet;
+
 public class DistantMailboxPathRegister implements MailboxPathRegister {
     private static final int DEFAULT_MAX_RETRY = 1000;
     private final ConcurrentHashMap<MailboxPath, Long> registeredMailboxPathCount;
@@ -50,7 +52,7 @@ public class DistantMailboxPathRegister implements MailboxPathRegister {
     public DistantMailboxPathRegister(DistantMailboxPathRegisterMapper mapper, int maxRetry, long schedulerPeriodInS) {
         this.maxRetry = maxRetry;
         this.mapper = mapper;
-        this.registeredMailboxPathCount = new ConcurrentHashMap<MailboxPath, Long>();
+        this.registeredMailboxPathCount = new ConcurrentHashMap<>();
         this.topic = new Topic(UUID.randomUUID().toString());
         this.timer = new Timer();
         this.schedulerPeriodInS = schedulerPeriodInS;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
index c49c917..c61fb89 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/extractor/DefaultTextExtractor.java
@@ -21,7 +21,6 @@ package org.apache.james.mailbox.store.extractor;
 
 import java.io.InputStream;
 import java.util.HashMap;
-import java.util.List;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.james.mailbox.extractor.ParsedContent;
@@ -37,9 +36,9 @@ public class DefaultTextExtractor implements TextExtractor {
     @Override
     public ParsedContent extractContent(InputStream inputStream, String contentType) throws Exception {
         if(contentType != null && contentType.startsWith("text/") ) {
-            return new ParsedContent(IOUtils.toString(inputStream), new HashMap<String, List<String>>());
+            return new ParsedContent(IOUtils.toString(inputStream), new HashMap<>());
         } else {
-            return new ParsedContent(null, new HashMap<String, List<String>>());
+            return new ParsedContent(null, new HashMap<>());
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
index 6e47062..d1225b0 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
@@ -167,7 +167,7 @@ public class EventConverter {
                                                                        MailboxDataTransferObject mailboxIntermediate,
                                                                        List<MessageUid> uids,
                                                                        MailboxListener.MetaDataHoldingEvent event) {
-        HashMap<MessageUid, MessageMetaDataDataTransferObject> metaDataProxyMap = new HashMap<MessageUid, MessageMetaDataDataTransferObject>();
+        HashMap<MessageUid, MessageMetaDataDataTransferObject> metaDataProxyMap = new HashMap<>();
         for(MessageUid uid : uids) {
             metaDataProxyMap.put(uid, new MessageMetaDataDataTransferObject(
                 event.getMetaData(uid)
@@ -184,7 +184,7 @@ public class EventConverter {
 
     private SortedMap<MessageUid, MessageMetaData> retrieveMetadata(Map<MessageUid, MessageMetaDataDataTransferObject> metaDataProxyMap) {
         if(metaDataProxyMap != null) {
-            TreeMap<MessageUid, MessageMetaData> result = new TreeMap<MessageUid, MessageMetaData>();
+            TreeMap<MessageUid, MessageMetaData> result = new TreeMap<>();
             Set<Map.Entry<MessageUid, MessageMetaDataDataTransferObject>> entrySet = metaDataProxyMap.entrySet();
             for (Map.Entry<MessageUid, MessageMetaDataDataTransferObject> entry : entrySet) {
                 result.put(entry.getKey(), entry.getValue().getMetadata());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
index 3598eaa..ec65a5d 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
@@ -56,7 +56,7 @@ public class MailboxSessionDataTransferObject {
 
     public MailboxSessionDataTransferObject(MailboxSession session) {
         username = session.getUser().getUserName();
-        sharedSpaces = new ArrayList<String>(session.getSharedSpaces());
+        sharedSpaces = new ArrayList<>(session.getSharedSpaces());
         otherUserSpace = session.getOtherUsersSpace();
         separator = session.getPathDelimiter();
         sessionType = extractSessionType(session);
@@ -81,7 +81,7 @@ public class MailboxSessionDataTransferObject {
         if (locales != null) {
             return Lists.transform(locales, LocaleDataTransferObject::getLocale);
         } else {
-            return new ArrayList<Locale>();
+            return new ArrayList<>();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
index 0cf6d8b..88dea75 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
@@ -78,7 +78,7 @@ public abstract class AbstractMessageMapper extends TransactionalMapper implemen
 
     @Override
     public Iterator<UpdatedFlags> updateFlags(Mailbox mailbox, FlagsUpdateCalculator flagsUpdateCalculator, MessageRange set) throws MailboxException {
-        final List<UpdatedFlags> updatedFlags = new ArrayList<UpdatedFlags>();
+        final List<UpdatedFlags> updatedFlags = new ArrayList<>();
         Iterator<MailboxMessage> messages = findInMailbox(mailbox, set, FetchType.Metadata, -1);
         
         long modSeq = -1;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
index 7d004c7..6667a37 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
@@ -81,7 +81,7 @@ public class PropertyBuilder {
     
     public PropertyBuilder() {
         textualLineCount = null;
-        properties = new ArrayList<SimpleProperty>(INITIAL_CAPACITY);
+        properties = new ArrayList<>(INITIAL_CAPACITY);
     }
 
     /**
@@ -466,7 +466,7 @@ public class PropertyBuilder {
      * @return not null
      */
     public List<Property> toProperties() {
-        return new ArrayList<Property>(properties);
+        return new ArrayList<>(properties);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
index c3ec988..9ebee95 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
@@ -52,7 +52,7 @@ import com.google.common.base.Preconditions;
 public class LazyMessageSearchIndex extends ListeningMessageSearchIndex {
 
     private final ListeningMessageSearchIndex index;
-    private final ConcurrentHashMap<MailboxId, Object> indexed = new ConcurrentHashMap<MailboxId, Object>();
+    private final ConcurrentHashMap<MailboxId, Object> indexed = new ConcurrentHashMap<>();
     
     
     public LazyMessageSearchIndex(ListeningMessageSearchIndex index) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
index 703385c..a51a7ff 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SearchUtil.java
@@ -475,7 +475,7 @@ public class SearchUtil {
 
     public static Predicate<MessageId> distinct() {
         return new Predicate<MessageId>() {
-            private final Set<MessageId> set = new HashSet<MessageId>();
+            private final Set<MessageId> set = new HashSet<>();
 
             @Override
             public boolean apply(MessageId input) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
index 082d90c..60f98a8 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
@@ -119,7 +119,7 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
         }
         MessageMapper mapper = messageMapperFactory.getMessageMapper(session);
 
-        final SortedSet<MailboxMessage> hitSet = new TreeSet<MailboxMessage>();
+        final SortedSet<MailboxMessage> hitSet = new TreeSet<>();
 
         UidCriterion uidCrit = findConjugatedUidCriterion(query.getCriterias());
         if (uidCrit != null) {
@@ -157,7 +157,7 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
         if (searchQuery.getInMailboxes().isEmpty()) {
             return getAsMessageIds(searchResults(session, filteredMailboxes, searchQuery.getSearchQuery()), limit);
         }
-        List<Mailbox> queriedMailboxes = new ArrayList<Mailbox>();
+        List<Mailbox> queriedMailboxes = new ArrayList<>();
         for (Mailbox mailbox: filteredMailboxes) {
             if (searchQuery.getInMailboxes().contains(mailbox.getMailboxId())) {
                 queriedMailboxes.add(mailbox);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/PartContentBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/PartContentBuilder.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/PartContentBuilder.java
index 1216094..75b9484 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/PartContentBuilder.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/PartContentBuilder.java
@@ -238,7 +238,7 @@ public class PartContentBuilder {
         if (empty) {
             results = Collections.EMPTY_LIST;
         } else {
-            results = new ArrayList<MessageResult.Header>();
+            results = new ArrayList<>();
             for (EntityState state = parser.getState(); state != EntityState.T_END_HEADER; state = parser
                     .next()) {
                 switch (state) {
@@ -276,7 +276,7 @@ public class PartContentBuilder {
         if (empty) {
             results = Collections.EMPTY_LIST;
         } else {
-            results = new ArrayList<MessageResult.Header>();
+            results = new ArrayList<>();
             try {
                 advancedToMessage();
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBuilder.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBuilder.java
index 59ec33b..70858e7 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBuilder.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBuilder.java
@@ -38,7 +38,7 @@ public class MessageBuilder {
     public int size = 8867;
     public Flags flags = new Flags();
     public byte[] body = {};
-    public final Map<String, String> headers = new HashMap<String, String>();
+    public final Map<String, String> headers = new HashMap<>();
     public int lineNumber = 0;
     
     public MailboxMessage build() throws Exception {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java
index 2934060..d9f6117 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsMultipartMixedTest.java
@@ -123,7 +123,7 @@ public class SearchUtilsMultipartMixedTest {
         builder.header("Content-Type", "multipart/mixed;boundary=1729");
         builder.body = Charset.forName("us-ascii").encode(BODY).array();
         row = builder.build();
-        recent = new ArrayList<MessageUid>();
+        recent = new ArrayList<>();
     }
     
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java
index c21c730..8f8d9d3 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsRFC822Test.java
@@ -54,7 +54,7 @@ public class SearchUtilsRFC822Test {
 
     @Before
     public void setUp() throws Exception {
-        recent = new ArrayList<MessageUid>();
+        recent = new ArrayList<>();
         MessageBuilder builder = new MessageBuilder();
         builder.header("From", "Alex <alex@example.org");
         builder.header("To", FROM_ADDRESS);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java
index 181cfff..efb6b80 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java
@@ -73,7 +73,7 @@ public class SearchUtilsTest {
     }
     @Before
     public void setUp() throws Exception {
-        recent = new ArrayList<MessageUid>();
+        recent = new ArrayList<>();
         builder = new MessageBuilder();
         builder.uid = MessageUid.of(1009);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
index d18501d..5d5ad03 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
@@ -71,7 +71,7 @@ public class SimpleMailboxMembership implements MailboxMessage {
         this.size = size;
         this.body = body;
         if (headers == null) {
-            this.headers = new HashMap<String,String>();
+            this.headers = new HashMap<>();
         } else {
             this.headers = headers;
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
index e21ea94..5feb68f 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
@@ -57,7 +57,7 @@ public class StoreMailboxMessageResultIteratorTest {
     private final class TestFetchGroup implements FetchGroup {
         @Override
         public Set<PartContentDescriptor> getPartContentDescriptors() {
-            return new HashSet<PartContentDescriptor>();
+            return new HashSet<>();
         }
 
         @Override
@@ -103,7 +103,7 @@ public class StoreMailboxMessageResultIteratorTest {
                                                               org.apache.james.mailbox.store.mail.MessageMapper.FetchType type, int limit)
                 throws MailboxException {
             
-            List<MailboxMessage> messages = new ArrayList<MailboxMessage>();
+            List<MailboxMessage> messages = new ArrayList<>();
             for (MessageUid uid: Iterables.limit(set, limit)) {
                 if (messageRange.includes(uid)) {
                     messages.add(createMessage(uid));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
index bef60ea..cf0ee8a 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java
@@ -73,7 +73,7 @@ public class TestMailboxSessionMapperFactory extends MailboxSessionMapperFactory
     private final SimpleMailbox mailbox3;
     private final SimpleMailbox mailbox4;
 
-    private final List<MailboxMessage> messages = new ArrayList<MailboxMessage>();
+    private final List<MailboxMessage> messages = new ArrayList<>();
     private final MailboxMapper mailboxMapper;
     private final MessageIdMapper messageIdMapper;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
index e360468..adadc2d 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListenerIntegrationTest.java
@@ -28,7 +28,6 @@ import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.mock.MockMailboxSession;
 import org.apache.james.mailbox.model.MailboxPath;
-import org.apache.james.mailbox.model.MessageMetaData;
 import org.apache.james.mailbox.model.TestId;
 import org.apache.james.mailbox.model.TestMessageId;
 import org.apache.james.mailbox.store.TestIdDeserializer;
@@ -118,7 +117,7 @@ public class BroadcastDelegatingMailboxListenerIntegrationTest {
     public void mailboxEventListenersShouldBeTriggeredIfRegistered() throws Exception {
         SimpleMailbox simpleMailbox = new SimpleMailbox(MAILBOX_PATH_1, 42);
         simpleMailbox.setMailboxId(TestId.of(52));
-        final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<MessageUid, MessageMetaData>(), simpleMailbox, EMPTY_MESSAGE_CACHE);
+        final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<>(), simpleMailbox, EMPTY_MESSAGE_CACHE);
 
         broadcastDelegatingMailboxListener1.event(event);
 
@@ -131,7 +130,7 @@ public class BroadcastDelegatingMailboxListenerIntegrationTest {
     public void onceEventListenersShouldBeTriggeredOnceAcrossTheCluster() {
         SimpleMailbox simpleMailbox = new SimpleMailbox(MAILBOX_PATH_1, 42);
         simpleMailbox.setMailboxId(TestId.of(52));
-        final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<MessageUid, MessageMetaData>(), simpleMailbox, EMPTY_MESSAGE_CACHE);
+        final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<>(), simpleMailbox, EMPTY_MESSAGE_CACHE);
 
         broadcastDelegatingMailboxListener1.event(event);
 
@@ -144,7 +143,7 @@ public class BroadcastDelegatingMailboxListenerIntegrationTest {
     public void eachEventListenersShouldBeTriggeredOnEachNode() {
         SimpleMailbox simpleMailbox = new SimpleMailbox(MAILBOX_PATH_1, 42);
         simpleMailbox.setMailboxId(TestId.of(52));
-        final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<MessageUid, MessageMetaData>(), simpleMailbox, EMPTY_MESSAGE_CACHE);
+        final MailboxListener.Event event = new EventFactory().added(mailboxSession, new TreeMap<>(), simpleMailbox, EMPTY_MESSAGE_CACHE);
 
         broadcastDelegatingMailboxListener1.event(event);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
index 76c1185..6202d25 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/EventSerializerTest.java
@@ -80,7 +80,7 @@ public abstract class EventSerializerTest {
 
     @Test
     public void addedEventShouldBeWellConverted() throws Exception {
-        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<MessageUid, MessageMetaData>();
+        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<>();
         treeMap.put(UID, MESSAGE_META_DATA);
         MailboxListener.Event event = eventFactory.added(mailboxSession, treeMap, mailbox, ImmutableMap.<MessageUid, MailboxMessage>of());
         byte[] serializedEvent = serializer.serializeEvent(event);
@@ -96,7 +96,7 @@ public abstract class EventSerializerTest {
 
     @Test
     public void expungedEventShouldBeWellConverted() throws Exception {
-        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<MessageUid, MessageMetaData>();
+        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<>();
         treeMap.put(UID, MESSAGE_META_DATA);
         MailboxListener.Event event = eventFactory.expunged(mailboxSession, treeMap, mailbox);
         byte[] serializedEvent = serializer.serializeEvent(event);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/SimpleMailboxACLJsonConverterTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/SimpleMailboxACLJsonConverterTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/SimpleMailboxACLJsonConverterTest.java
index 13e4d50..7eb7bea 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/SimpleMailboxACLJsonConverterTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/json/SimpleMailboxACLJsonConverterTest.java
@@ -25,18 +25,19 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.util.HashMap;
 import java.util.Map;
 
-import net.javacrumbs.jsonunit.core.Option;
 import org.apache.james.mailbox.model.MailboxACL;
 import org.apache.james.mailbox.model.SimpleMailboxACL;
 import org.junit.Test;
 
+import net.javacrumbs.jsonunit.core.Option;
+
 public class SimpleMailboxACLJsonConverterTest {
 
     public class ACLMapBuilder {
         private final Map<SimpleMailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights> map;
 
         public ACLMapBuilder() {
-            map = new HashMap<SimpleMailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>();
+            map = new HashMap<>();
         }
 
         public ACLMapBuilder addSingleUserEntryToMap() {
@@ -61,7 +62,7 @@ public class SimpleMailboxACLJsonConverterTest {
         }
 
         public MailboxACL buildAsACL() {
-            return new SimpleMailboxACL(new HashMap<SimpleMailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(map));
+            return new SimpleMailboxACL(new HashMap<>(map));
         }
 
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java
index 9fb3fc8..8b2b81c 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MetadataMapAssertTest.java
@@ -58,21 +58,21 @@ public class MetadataMapAssertTest {
 
     @Test
     public void metadataMapAssertShouldSucceedWhenContainingRightMetadata() {
-        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<MessageUid, MessageMetaData>();
+        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>();
         metaDataMap.put(UID, new SimpleMessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), DATE, MESSAGE_ID));
         MetadataMapAssert.assertThat(metaDataMap).containsMetadataForMessages(message1);
     }
 
     @Test(expected = AssertionError.class)
     public void metadataMapAssertShouldFailWhenUidMismatch() {
-        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<MessageUid, MessageMetaData>();
+        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>();
         metaDataMap.put(UID, new SimpleMessageMetaData(UID.next(), MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), DATE, MESSAGE_ID));
         MetadataMapAssert.assertThat(metaDataMap).containsMetadataForMessages(message1);
     }
 
     @Test(expected = AssertionError.class)
     public void metadataMapAssertShouldFailWhenDateMismatch() {
-        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<MessageUid, MessageMetaData>();
+        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>();
         Date date = new Date();
         date.setTime(DATE.getTime() + 100L);
         metaDataMap.put(UID, new SimpleMessageMetaData(UID, MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length(), date, MESSAGE_ID));
@@ -81,7 +81,7 @@ public class MetadataMapAssertTest {
 
     @Test(expected = AssertionError.class)
     public void metadataMapAssertShouldFailWhenSizeMismatch() {
-        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<MessageUid, MessageMetaData>();
+        Map<MessageUid, MessageMetaData> metaDataMap = new HashMap<>();
         metaDataMap.put(UID, new SimpleMessageMetaData(UID , MODSEQ, new Flags(), HEADER_STRING.length() + BODY_STRING.length() + 1, DATE, MESSAGE_ID));
         MetadataMapAssert.assertThat(metaDataMap).containsMetadataForMessages(message1);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
----------------------------------------------------------------------
diff --git a/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java b/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
index 9cab809..9c09cc9 100644
--- a/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
+++ b/mailbox/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
@@ -55,7 +55,7 @@ public class MailboxCopierImpl implements MailboxCopier {
 
         @Override
         public Set<PartContentDescriptor> getPartContentDescriptors() {
-            return new HashSet<PartContentDescriptor>();
+            return new HashSet<>();
         }
         
     };


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


[02/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Move from imperative to Stream API"

Posted by bt...@apache.org.
JAMES-2107 Run IntelliJ inspection: "Move from imperative to Stream API"


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

Branch: refs/heads/master
Commit: cb0f621f74e84d1597c37e929ba4ee61dbdde70c
Parents: 855a3c8
Author: benwa <bt...@linagora.com>
Authored: Tue Aug 1 18:01:11 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Aug 16 16:44:07 2017 +0700

----------------------------------------------------------------------
 .../james/mailbox/model/FetchGroupImpl.java     | 21 +++++-----
 .../mailbox/hbase/mail/HBaseMailboxMessage.java |  6 +--
 .../jcr/mail/model/JCRMailboxMessage.java       |  9 +++--
 .../openjpa/AbstractJPAMailboxMessage.java      |  8 ++--
 .../james/mailbox/maildir/UidConstraint.java    |  6 +--
 .../maildir/user/MaildirSubscriptionMapper.java | 40 ++++++++++----------
 .../inmemory/mail/InMemoryMailboxMapper.java    | 22 +++++------
 .../inmemory/mail/InMemoryMessageMapper.java    | 39 +++++++++----------
 .../user/InMemorySubscriptionMapper.java        | 13 +++----
 mailbox/store/pom.xml                           |  4 ++
 .../mailbox/store/StoreMailboxManager.java      | 13 +++----
 .../mailbox/store/StoreSubscriptionManager.java | 14 +++----
 .../store/json/event/EventConverter.java        | 17 ++++-----
 .../store/mail/model/impl/PropertyBuilder.java  | 27 ++++++-------
 .../mailbox/store/search/MessageSearches.java   | 19 +++-------
 .../org/apache/james/ai/classic/Tokenizer.java  |  9 ++---
 .../base/AutomaticallySentMailDetectorImpl.java |  8 ++--
 .../james/transport/matchers/HasHeader.java     | 26 ++++++-------
 .../apache/james/mpt/helper/ScriptBuilder.java  | 10 ++---
 protocols/api/pom.xml                           |  4 ++
 .../handler/AbstractProtocolHandlerChain.java   | 12 +++---
 .../api/handler/ProtocolHandlerChainImpl.java   |  5 +--
 .../api/AbstractProtocolTransportTest.java      | 29 +++++++-------
 .../apache/james/imap/api/message/UidRange.java |  9 ++---
 .../james/imap/processor/SearchProcessor.java   | 10 +----
 .../processor/fetch/MessageResultUtils.java     | 28 ++++----------
 .../protocols/lmtp/AbstractLMTPSServerTest.java | 11 ++----
 .../protocols/lmtp/AbstractLMTPServerTest.java  | 11 ++----
 protocols/pom.xml                               |  5 +++
 .../pop3/core/MessageMetaDataUtils.java         | 10 ++---
 .../protocols/pop3/mailbox/ImapMailbox.java     |  8 ++--
 .../pop3/AbstractStartTlsPOP3ServerTest.java    | 10 ++---
 .../james/protocols/pop3/utils/MockMailbox.java | 12 +++---
 .../smtp/SMTPProtocolHandlerChain.java          | 14 +------
 .../smtp/netty/NettyStartTlsSMTPServerTest.java | 10 ++---
 .../java/org/apache/james/cli/type/CmdType.java | 11 +++---
 .../james/core/MimeMessageWrapperTest.java      | 20 ++--------
 .../mailbox/MailboxManagerManagement.java       | 10 ++---
 .../james/util/bayesian/BayesianAnalyzer.java   |  9 ++---
 .../file/SieveFileRepository.java               | 10 ++---
 server/data/data-ldap/pom.xml                   |  4 ++
 .../user/ldap/ReadOnlyUsersLDAPRepository.java  | 13 +++----
 server/data/data-library/pom.xml                |  4 ++
 .../domainlist/lib/AbstractDomainList.java      | 33 +++++-----------
 .../repository/file/AbstractFileRepository.java | 13 ++-----
 .../repository/file/ExtensionFileFilter.java    |  8 +---
 server/mailet/mailetcontainer-camel/pom.xml     |  4 ++
 .../lib/AbstractStateMailetProcessor.java       | 18 ++++-----
 .../mailets/jsieve/SieveMailAdapter.java        | 14 +++----
 .../mailets/redirect/AddressExtractor.java      |  8 +---
 .../mailets/redirect/SpecialAddressKind.java    | 12 +++---
 .../remoteDelivery/DelaysAndMaxRetry.java       |  8 ++--
 .../RemoteDeliveryConfiguration.java            | 13 ++++---
 .../protocols/lib/ProtocolHandlerChainImpl.java | 20 ++++------
 .../pop3server/mailbox/MailboxAdapter.java      | 11 +++---
 .../james/smtpserver/fastfail/URIScanner.java   | 18 ++++-----
 .../james/smtpserver/fastfail/ValidRcptMX.java  | 11 +++---
 .../james/smtpserver/mock/MockMimeMessage.java  | 36 +++++++++++++-----
 58 files changed, 350 insertions(+), 457 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
index 38d4bd1..81a3560 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
@@ -86,19 +86,16 @@ public class FetchGroupImpl implements MessageResult.FetchGroup {
      */
     public void addPartContent(MimePath path, int content) {
         if (partContentDescriptors == null) {
-            partContentDescriptors = new HashSet<PartContentDescriptor>();
-        }
-        PartContentDescriptorImpl currentDescriptor = null;
-        for (PartContentDescriptor descriptor : partContentDescriptors) {
-            if (path.equals(descriptor.path())) {
-                currentDescriptor = (PartContentDescriptorImpl) descriptor;
-                break;
-            }
-        }
-        if (currentDescriptor == null) {
-            currentDescriptor = new PartContentDescriptorImpl(path);
-            partContentDescriptors.add(currentDescriptor);
+            partContentDescriptors = new HashSet<>();
         }
+        PartContentDescriptorImpl currentDescriptor = (PartContentDescriptorImpl) partContentDescriptors.stream()
+            .filter(descriptor -> path.equals(descriptor.path()))
+            .findFirst()
+            .orElseGet(() -> {
+                PartContentDescriptorImpl result = new PartContentDescriptorImpl(path);
+                partContentDescriptors.add(result);
+                return result;
+            });
 
         currentDescriptor.or(content);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
index e4b57e9a..d401e36 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
@@ -318,11 +318,7 @@ public class HBaseMailboxMessage implements MailboxMessage {
      * This implementation supports user flags
      */
     public String[] createUserFlags() {
-        String[] flags = new String[userFlags.size()];
-        for (int i = 0; i < userFlags.size(); i++) {
-            flags[i] = userFlags.get(i);
-        }
-        return flags;
+        return userFlags.toArray(new String[userFlags.size()]);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
index 3637e41..7ffabb6 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
@@ -53,6 +53,8 @@ import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
 import org.apache.james.mailbox.store.search.comparator.UidComparator;
 import org.slf4j.Logger;
 
+import com.github.steveash.guavate.Guavate;
+
 public class JCRMailboxMessage implements MailboxMessage, JCRImapConstants, Persistent {
 
     private static final Comparator<MailboxMessage> MESSAGE_UID_COMPARATOR = new UidComparator();
@@ -304,10 +306,9 @@ public class JCRMailboxMessage implements MailboxMessage, JCRImapConstants, Pers
 
 
             List<Property> currentProperties = getProperties();
-            List<Property> newProperties = new ArrayList<Property>();
-            for (Property prop : currentProperties) {
-                newProperties.add(new JCRProperty(prop, logger));
-            }
+            List<Property> newProperties = currentProperties.stream()
+                .map(prop -> new JCRProperty(prop, logger))
+                .collect(Guavate.toImmutableList());
             // remove old properties, we will add a bunch of new ones
             NodeIterator iterator = node.getNodes("messageProperty");
             while (iterator.hasNext()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
index c9ae2e4..2b27598 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
@@ -463,11 +463,9 @@ public abstract class AbstractJPAMailboxMessage implements MailboxMessage {
     }
 
     protected String[] createUserFlags() {
-        String[] flags = new String[userFlags.size()];
-        for (int i = 0; i < userFlags.size(); i++) {
-            flags[i] = userFlags.get(i).getName();
-        }
-        return flags;
+        return userFlags.stream()
+            .map(JPAUserFlag::getName)
+            .toArray(String[]::new);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
index 1608213..52656f9 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/UidConstraint.java
@@ -50,10 +50,8 @@ public class UidConstraint {
     }
     
     public boolean isAllowed(long uid) {
-        for (Constraint constraint : constraints)
-            if (!constraint.isAllowed(uid))
-                return false;
-        return true;
+        return constraints.stream()
+            .allMatch(constraint -> constraint.isAllowed(uid));
     }
 
     public abstract static class Constraint {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
index 43ea311..552c949 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java
@@ -26,7 +26,6 @@ import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -37,6 +36,10 @@ import org.apache.james.mailbox.store.user.SubscriptionMapper;
 import org.apache.james.mailbox.store.user.model.Subscription;
 import org.apache.james.mailbox.store.user.model.impl.SimpleSubscription;
 
+import com.github.steveash.guavate.Guavate;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
+
 public class MaildirSubscriptionMapper extends NonTransactionalMapper implements SubscriptionMapper {
 
     private static final String FILE_SUBSCRIPTION = "subscriptions";
@@ -53,10 +56,11 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements
     public void delete(Subscription subscription) throws SubscriptionException {
      // TODO: we need some kind of file locking here
         Set<String> subscriptionNames = readSubscriptionsForUser(subscription.getUser());
-        boolean changed = subscriptionNames.remove(subscription.getMailbox());
+        Set<String> newSubscriptions = Sets.difference(subscriptionNames, ImmutableSet.of(subscription.getMailbox()));
+        boolean changed = subscriptionNames.size() != newSubscriptions.size();
         if (changed) {
             try {
-                writeSubscriptions(new File(store.userRoot(subscription.getUser())), subscriptionNames);
+                writeSubscriptions(new File(store.userRoot(subscription.getUser())), newSubscriptions);
             } catch (IOException e) {
                 throw new SubscriptionException(e);
             }
@@ -69,11 +73,9 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements
     @Override
     public List<Subscription> findSubscriptionsForUser(String user) throws SubscriptionException {
         Set<String> subscriptionNames = readSubscriptionsForUser(user);
-        ArrayList<Subscription> subscriptions = new ArrayList<Subscription>();
-        for (String subscription : subscriptionNames) {
-            subscriptions.add(new SimpleSubscription(user, subscription));
-        }
-        return subscriptions;
+        return subscriptionNames.stream()
+            .map(subscription -> new SimpleSubscription(user, subscription))
+            .collect(Guavate.toImmutableList());
     }
 
     /**
@@ -100,10 +102,14 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements
     public void save(Subscription subscription) throws SubscriptionException {
         // TODO: we need some kind of file locking here
         Set<String> subscriptionNames = readSubscriptionsForUser(subscription.getUser());
-        boolean changed = subscriptionNames.add(subscription.getMailbox());
+        Set<String> newSubscriptions = ImmutableSet.<String>builder()
+            .addAll(subscriptionNames)
+            .add(subscription.getMailbox())
+            .build();
+        boolean changed = subscriptionNames.size() != newSubscriptions.size();
         if (changed) {
             try {
-                writeSubscriptions(new File(store.userRoot(subscription.getUser())), subscriptionNames);
+                writeSubscriptions(new File(store.userRoot(subscription.getUser())), newSubscriptions);
             } catch (IOException e) {
                 throw new SubscriptionException(e);
             }
@@ -127,13 +133,11 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements
      */
     private Set<String> readSubscriptionsForUser(String user) throws SubscriptionException { 
         File userRoot = new File(store.userRoot(user));
-        Set<String> subscriptionNames;
         try {
-            subscriptionNames = readSubscriptions(userRoot);
+            return readSubscriptions(userRoot);
         } catch (IOException e) {
             throw new SubscriptionException(e);
         }
-        return subscriptionNames;
     }
 
     /**
@@ -144,16 +148,14 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements
      */
     private Set<String> readSubscriptions(File mailboxFolder) throws IOException {
         File subscriptionFile = new File(mailboxFolder, FILE_SUBSCRIPTION);
-        HashSet<String> subscriptions = new HashSet<String>();
         if (!subscriptionFile.exists()) {
-            return subscriptions;
+            return ImmutableSet.of();
         }
         FileReader fileReader = new FileReader(subscriptionFile);
         BufferedReader reader = new BufferedReader(fileReader);
-        String subscription;
-        while ((subscription = reader.readLine()) != null)
-            if (!subscription.equals(""))
-                subscriptions.add(subscription);
+        Set<String> subscriptions = reader.lines()
+            .filter(subscription -> !subscription.equals(""))
+            .collect(Guavate.toImmutableSet());
         reader.close();
         fileReader.close();
         return subscriptions;

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
index 7e7eb8e..4ef6936 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java
@@ -34,6 +34,7 @@ import org.apache.james.mailbox.store.mail.MailboxMapper;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Objects;
 
 public class InMemoryMailboxMapper implements MailboxMapper {
@@ -84,13 +85,11 @@ public class InMemoryMailboxMapper implements MailboxMapper {
      */
     public List<Mailbox> findMailboxWithPathLike(MailboxPath path) throws MailboxException {
         final String regex = path.getName().replace("%", ".*");
-        List<Mailbox> results = new ArrayList<Mailbox>();
-        for (Mailbox mailbox: mailboxesByPath.values()) {
-            if (mailboxMatchesRegex(mailbox, path, regex)) {
-                results.add(new SimpleMailbox(mailbox));
-            }
-        }
-        return results;
+        return mailboxesByPath.values()
+            .stream()
+            .filter(mailbox -> mailboxMatchesRegex(mailbox, path, regex))
+            .map(SimpleMailbox::new)
+            .collect(Guavate.toImmutableList());
     }
 
     private boolean mailboxMatchesRegex(Mailbox mailbox, MailboxPath path, String regex) {
@@ -134,12 +133,9 @@ public class InMemoryMailboxMapper implements MailboxMapper {
      */
     public boolean hasChildren(Mailbox mailbox, char delimiter) throws MailboxException {
         String mailboxName = mailbox.getName() + delimiter;
-        for (Mailbox box: mailboxesByPath.values()) {
-            if (belongsToSameUser(mailbox, box) && box.getName().startsWith(mailboxName)) {
-                return true;
-            }
-        }
-        return false;
+        return mailboxesByPath.values()
+            .stream()
+            .anyMatch(box -> belongsToSameUser(mailbox, box) && box.getName().startsWith(mailboxName));
     }
 
     private boolean belongsToSameUser(Mailbox mailbox, Mailbox otherMailbox) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
index aacc35b..9c6bfc0 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
@@ -45,6 +45,8 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
 import org.apache.james.mailbox.store.mail.utils.ApplicableFlagCalculator;
 
+import com.github.steveash.guavate.Guavate;
+
 public class InMemoryMessageMapper extends AbstractMessageMapper {
     private final Map<InMemoryId, Map<MessageUid, MailboxMessage>> mailboxByUid;
     private static final int INITIAL_SIZE = 256;
@@ -75,13 +77,10 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
 
     @Override
     public long countUnseenMessagesInMailbox(Mailbox mailbox) throws MailboxException {
-        long count = 0;
-        for (MailboxMessage member : getMembershipByUidForMailbox(mailbox).values()) {
-            if (!member.isSeen()) {
-                count++;
-            }
-        }
-        return count;
+        return getMembershipByUidForMailbox(mailbox).values()
+            .stream()
+            .filter(member -> !member.isSeen())
+            .count();
     }
 
     @Override
@@ -118,27 +117,23 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
 
     @Override
     public List<MessageUid> findRecentMessageUidsInMailbox(Mailbox mailbox) throws MailboxException {
-        final List<MessageUid> results = new ArrayList<MessageUid>();
-        for (MailboxMessage member : getMembershipByUidForMailbox(mailbox).values()) {
-            if (member.isRecent()) {
-                results.add(member.getUid());
-            }
-        }
-        Collections.sort(results);
-
-        return results;
+        return getMembershipByUidForMailbox(mailbox).values()
+            .stream()
+            .filter(MailboxMessage::isRecent)
+            .map(MailboxMessage::getUid)
+            .sorted()
+            .collect(Guavate.toImmutableList());
     }
 
     @Override
     public MessageUid findFirstUnseenMessageUid(Mailbox mailbox) throws MailboxException {
         List<MailboxMessage> memberships = new ArrayList<MailboxMessage>(getMembershipByUidForMailbox(mailbox).values());
         Collections.sort(memberships);
-        for (MailboxMessage m : memberships) {
-            if (m.isSeen() == false) {
-                return m.getUid();
-            }
-        }
-        return null;
+        return memberships.stream()
+            .filter(m -> !m.isSeen())
+            .findFirst()
+            .map(MailboxMessage::getUid)
+            .orElse(null);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
index 7ec79d9..7bad0e6 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/user/InMemorySubscriptionMapper.java
@@ -48,16 +48,13 @@ public class InMemorySubscriptionMapper extends NonTransactionalMapper implement
 
     public Subscription findMailboxSubscriptionForUser(String user, String mailbox) {
         final List<Subscription> subscriptions = subscriptionsByUser.get(user);
-        Subscription result = null;
         if (subscriptions != null) {
-            for(Subscription subscription:subscriptions) {
-                if (subscription.getMailbox().equals(mailbox)) {
-                    result = subscription;
-                    break;
-                }
-            }
+            return subscriptions.stream()
+                .filter(subscription -> subscription.getMailbox().equals(mailbox))
+                .findFirst()
+                .orElse(null);
         }
-        return result;
+        return null;
     }
 
     public List<Subscription> findSubscriptionsForUser(String user) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/store/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/store/pom.xml b/mailbox/store/pom.xml
index 7459362..a12e0ff 100644
--- a/mailbox/store/pom.xml
+++ b/mailbox/store/pom.xml
@@ -73,6 +73,10 @@
             <artifactId>commons-lang</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index cc7083c..09d3a64 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -84,6 +84,7 @@ import org.apache.james.mailbox.store.transaction.Mapper;
 import org.apache.james.mailbox.store.transaction.TransactionalMapper;
 import org.slf4j.Logger;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
@@ -775,13 +776,11 @@ public class StoreMailboxManager implements MailboxManager {
 
     @Override
     public List<MailboxPath> list(MailboxSession session) throws MailboxException {
-        List<MailboxPath> mList = new ArrayList<MailboxPath>();
-        List<Mailbox> mailboxes = mailboxSessionMapperFactory.getMailboxMapper(session).list();
-        for (Mailbox m : mailboxes) {
-            mList.add(m.generateAssociatedPath());
-        }
-        return Collections.unmodifiableList(mList);
-
+        return mailboxSessionMapperFactory.getMailboxMapper(session)
+            .list()
+            .stream()
+            .map(Mailbox::generateAssociatedPath)
+            .collect(Guavate.toImmutableList());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java
index e611536..fb0c38c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java
@@ -20,7 +20,7 @@ package org.apache.james.mailbox.store;
 
 import java.util.Collection;
 import java.util.HashSet;
-import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.inject.Inject;
 
@@ -88,13 +88,11 @@ public class StoreSubscriptionManager implements SubscriptionManager {
      * @see org.apache.james.mailbox.SubscriptionManager#subscriptions(org.apache.james.mailbox.MailboxSession)
      */
     public Collection<String> subscriptions(MailboxSession session) throws SubscriptionException {
-        final SubscriptionMapper mapper = mapperFactory.getSubscriptionMapper(session);
-        final List<Subscription> subscriptions = mapper.findSubscriptionsForUser(session.getUser().getUserName());
-        final Collection<String> results = new HashSet<String>(INITIAL_SIZE);
-        for (Subscription subscription:subscriptions) {
-            results.add(subscription.getMailbox());
-        }        
-        return results;
+        return mapperFactory.getSubscriptionMapper(session)
+            .findSubscriptionsForUser(session.getUser().getUserName())
+            .stream()
+            .map(Subscription::getMailbox)
+            .collect(Collectors.toCollection(() -> new HashSet<>(INITIAL_SIZE)));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
index 0621d55..6e47062 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/EventConverter.java
@@ -19,7 +19,6 @@
 
 package org.apache.james.mailbox.store.json.event;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -46,6 +45,7 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.collect.ImmutableMap;
 
 public class EventConverter {
@@ -150,10 +150,9 @@ public class EventConverter {
                                                                MailboxDataTransferObject mailboxIntermediate,
                                                                List<MessageUid> uids,
                                                                List<UpdatedFlags> updatedFlagsList) {
-        ArrayList<UpdatedFlagsDataTransferObject> updatedFlagsDataTransferObjects = new ArrayList<UpdatedFlagsDataTransferObject>();
-        for(UpdatedFlags updatedFlags : updatedFlagsList) {
-            updatedFlagsDataTransferObjects.add(new UpdatedFlagsDataTransferObject(updatedFlags));
-        }
+        List<UpdatedFlagsDataTransferObject> updatedFlagsDataTransferObjects = updatedFlagsList.stream()
+            .map(UpdatedFlagsDataTransferObject::new)
+            .collect(Guavate.toImmutableList());
         return EventDataTransferObject.builder()
             .type(EventType.FLAGS)
             .session(new MailboxSessionDataTransferObject(session))
@@ -198,11 +197,9 @@ public class EventConverter {
     }
 
     private List<UpdatedFlags> retrieveUpdatedFlags(List<UpdatedFlagsDataTransferObject> updatedFlagsDataTransferObject) {
-        List<UpdatedFlags> result = new ArrayList<UpdatedFlags>();
-        for(UpdatedFlagsDataTransferObject proxy : updatedFlagsDataTransferObject) {
-            result.add(proxy.retrieveUpdatedFlags());
-        }
-        return result;
+        return updatedFlagsDataTransferObject.stream()
+            .map(UpdatedFlagsDataTransferObject::retrieveUpdatedFlags)
+            .collect(Guavate.toImmutableList());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
index 2c88849..7d004c7 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
@@ -50,6 +50,7 @@ import java.util.TreeMap;
 
 import org.apache.james.mailbox.store.mail.model.Property;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Predicate;
 
 /**
@@ -110,14 +111,11 @@ public class PropertyBuilder {
      * or null when no property has the given name and namespace
      */
     public String getFirstValue(String namespace, String localName) {
-        String result = null;
-        for (SimpleProperty property: properties) {
-            if (property.isNamed(namespace, localName)) {
-                result = property.getValue();
-                break;
-            }
-        }
-        return result;
+        return properties.stream()
+            .filter(property -> property.isNamed(namespace, localName))
+            .findFirst()
+            .map(SimpleProperty::getValue)
+            .orElse(null);
     }
     
     /**
@@ -127,13 +125,10 @@ public class PropertyBuilder {
      * @return not null
      */
     public List<String> getValues(String namespace, String localName) {
-        List<String> results = new ArrayList<String>();
-        for (SimpleProperty property: properties) {
-            if (property.isNamed(namespace, localName)) {
-                results.add(property.getValue());
-            }
-        }
-        return results;
+        return properties.stream()
+            .filter(property -> property.isNamed(namespace, localName))
+            .map(SimpleProperty::getValue)
+            .collect(Guavate.toImmutableList());
     }
     
     /**
@@ -183,7 +178,7 @@ public class PropertyBuilder {
      * @return values indexed by local name
      */
     public SortedMap<String,String> getProperties(String namespace) {
-        final SortedMap<String, String> parameters = new TreeMap<String, String>();
+        final SortedMap<String, String> parameters = new TreeMap<>();
         for (SimpleProperty property : properties) {
             if (property.isInSpace(namespace)) {
                 parameters.put(property.getLocalName(), property.getValue());

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
index 78fa9af..966814a 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
@@ -26,6 +26,7 @@ import java.io.InputStream;
 import java.io.SequenceInputStream;
 import java.io.StringReader;
 import java.text.SimpleDateFormat;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collection;
 import java.util.Date;
@@ -358,12 +359,8 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search
         SearchQuery.UidInOperator operator = criterion.getOperator();
         UidRange[] ranges = operator.getRange();
         MessageUid uid = message.getUid();
-        for (UidRange numericRange : ranges) {
-            if (numericRange.isIn(uid)) {
-                return true;
-            }
-        }
-        return false;
+        return Arrays.stream(ranges)
+            .anyMatch(numericRange -> numericRange.isIn(uid));
     }
 
     private boolean matches(SearchQuery.HeaderCriterion criterion, MailboxMessage message)
@@ -429,13 +426,9 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search
     private boolean exists(String headerName, MailboxMessage message) throws MailboxException, IOException {
         List<Header> headers = ResultUtils.createHeaders(message);
 
-        for (Header header : headers) {
-            String name = header.getName();
-            if (headerName.equalsIgnoreCase(name)) {
-                return true;
-            }
-        }
-        return false;
+        return headers.stream()
+            .map(Header::getName)
+            .anyMatch(headerName::equalsIgnoreCase);
     }
 
     private boolean matches(SearchQuery.ContainsOperator operator, String headerName,

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailet/ai/src/main/java/org/apache/james/ai/classic/Tokenizer.java
----------------------------------------------------------------------
diff --git a/mailet/ai/src/main/java/org/apache/james/ai/classic/Tokenizer.java b/mailet/ai/src/main/java/org/apache/james/ai/classic/Tokenizer.java
index af268ad..d61957a 100644
--- a/mailet/ai/src/main/java/org/apache/james/ai/classic/Tokenizer.java
+++ b/mailet/ai/src/main/java/org/apache/james/ai/classic/Tokenizer.java
@@ -21,6 +21,7 @@ package org.apache.james.ai.classic;
 
 import java.io.IOException;
 import java.io.Reader;
+import java.util.stream.IntStream;
 
 /**
  * Tokenizes streaming mail input.
@@ -70,12 +71,8 @@ public abstract class Tokenizer {
     protected abstract void next(String token);
 
     private boolean allDigits(String s) {
-        for (int i = 0; i < s.length(); i++) {
-            if (!Character.isDigit(s.charAt(i))) {
-                return false;
-            }
-        }
-        return true;
+        return IntStream.range(0, s.length())
+            .allMatch(i -> Character.isDigit(s.charAt(i)));
     }
     
     private String nextToken(Reader reader) throws java.io.IOException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java b/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java
index cdf9e50..d95a061 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/AutomaticallySentMailDetectorImpl.java
@@ -23,6 +23,7 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.util.Arrays;
 
 import javax.mail.MessagingException;
 
@@ -87,11 +88,8 @@ public class AutomaticallySentMailDetectorImpl implements AutomaticallySentMailD
     public boolean isAutoSubmitted(Mail mail) throws MessagingException {
         String[] headers = mail.getMessage().getHeader(AUTO_SUBMITTED_HEADER);
         if (headers != null) {
-            for (String header : headers) {
-                if (header.equalsIgnoreCase(AUTO_REPLIED_VALUE)) {
-                    return true;
-                }
-            }
+            return Arrays.stream(headers)
+                .anyMatch(header -> header.equalsIgnoreCase(AUTO_REPLIED_VALUE));
         }
         return false;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mailet/standard/src/main/java/org/apache/james/transport/matchers/HasHeader.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/HasHeader.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/HasHeader.java
index d982a61..1fe2108 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/HasHeader.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/HasHeader.java
@@ -20,6 +20,15 @@
 
 package org.apache.james.transport.matchers;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
 import org.apache.james.mime4j.codec.DecodeMonitor;
 import org.apache.james.mime4j.codec.DecoderUtil;
 import org.apache.james.mime4j.util.MimeUtil;
@@ -27,14 +36,6 @@ import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.base.GenericMatcher;
 
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.StringTokenizer;
-
 /**
  * use: <pre><code>&lt;mailet match="HasHeader={&lt;header&gt;[=value]}+" class="..." /&gt;</code></pre>
  * <p/>
@@ -83,11 +84,8 @@ public class HasHeader extends GenericMatcher {
         public boolean isMatching(MimeMessage mimeMessage) throws MessagingException {
             String[] headerArray = mimeMessage.getHeader(headerName);
             if (headerArray != null && headerArray.length > 0) {
-                for (String value : headerArray) {
-                    if (headerValue.equals(sanitizeHeaderField(value))) {
-                        return true;
-                    }
-                }
+                return Arrays.stream(headerArray)
+                    .anyMatch(value -> headerValue.equals(sanitizeHeaderField(value)));
             }
             return false;
         }
@@ -96,7 +94,7 @@ public class HasHeader extends GenericMatcher {
     private List<HeaderCondition> headerConditions;
 
     public void init() throws MessagingException {
-        headerConditions = new ArrayList<HeaderCondition>();
+        headerConditions = new ArrayList<>();
         StringTokenizer conditionTokenizer = new StringTokenizer(getCondition(), CONDITION_SEPARATOR);
         while (conditionTokenizer.hasMoreTokens()) {
             headerConditions.add(parseHeaderCondition(conditionTokenizer.nextToken().trim()));

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java b/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
index 589fac2..f431a29 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/helper/ScriptBuilder.java
@@ -28,6 +28,7 @@ import java.nio.channels.ReadableByteChannel;
 import java.nio.channels.SocketChannel;
 import java.nio.channels.WritableByteChannel;
 import java.nio.charset.Charset;
+import java.util.Arrays;
 import java.util.Locale;
 
 import org.apache.commons.lang.StringUtils;
@@ -1459,13 +1460,8 @@ public class ScriptBuilder {
         }
 
         private boolean ignoreLine(String line) {
-            boolean result = false;
-            for (String entry : IGNORE_LINES_CONTAINING) {
-                if (line.indexOf(entry) > 0) {
-                    result = true;
-                    break;
-                }
-            }
+            boolean result = Arrays.stream(IGNORE_LINES_CONTAINING)
+                .anyMatch(entry -> line.indexOf(entry) > 0);
             for (int i = 0; i < IGNORE_LINES_STARTING_WITH.length && !result; i++) {
                 if (line.startsWith(IGNORE_LINES_STARTING_WITH[i])) {
                     result = true;

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/api/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/api/pom.xml b/protocols/api/pom.xml
index 3d44414..8d0f0fd 100644
--- a/protocols/api/pom.xml
+++ b/protocols/api/pom.xml
@@ -39,6 +39,10 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>commons-configuration</groupId>
             <artifactId>commons-configuration</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/api/src/main/java/org/apache/james/protocols/api/handler/AbstractProtocolHandlerChain.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/AbstractProtocolHandlerChain.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/AbstractProtocolHandlerChain.java
index 146c3f6..23c1f08 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/AbstractProtocolHandlerChain.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/AbstractProtocolHandlerChain.java
@@ -20,6 +20,7 @@ package org.apache.james.protocols.api.handler;
 
 import java.util.LinkedList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
@@ -41,14 +42,11 @@ public abstract class AbstractProtocolHandlerChain implements ProtocolHandlerCha
      */
     @SuppressWarnings("unchecked")
     public <T> LinkedList<T> getHandlers(Class<T> type) {
-        LinkedList<T> result = new LinkedList<T>();
         List<ProtocolHandler> handlers = getHandlers();
-        for (ProtocolHandler handler : handlers) {
-            if (type.isInstance(handler)) {
-                result.add((T) handler);
-            }
-        }
-        return result;
+        return handlers.stream()
+            .filter(type::isInstance)
+            .map(handler -> (T) handler)
+            .collect(Collectors.toCollection(LinkedList::new));
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
index 3ca9437..4eb4f8f 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
@@ -259,10 +259,7 @@ public class ProtocolHandlerChainImpl extends AbstractProtocolHandlerChain imple
      * @see java.util.List#subList(int, int)
      */
     public List<ProtocolHandler> subList(int fromIndex, int toIndex) {
-        List<ProtocolHandler> sList = new ArrayList<ProtocolHandler>();
-        for (Object handler : handlers.subList(fromIndex, toIndex)) {
-            sList.add((ProtocolHandler) handler);
-        }
+        List<ProtocolHandler> sList = new ArrayList<>(handlers.subList(fromIndex, toIndex));
         if (readyOnly) {
             return Collections.unmodifiableList(sList);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java b/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
index 039a01d..e19db8b 100644
--- a/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
+++ b/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
@@ -30,11 +30,14 @@ import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
+import java.util.stream.IntStream;
 
 import org.apache.james.protocols.api.future.FutureResponseImpl;
 import org.apache.james.protocols.api.handler.LineHandler;
 import org.junit.Test;
 
+import com.github.steveash.guavate.Guavate;
+
 /**
  * Test-case for PROTOCOLS-62
  *
@@ -45,11 +48,10 @@ public class AbstractProtocolTransportTest {
     
     @Test
     public void testWriteOrder() throws InterruptedException, UnsupportedEncodingException {
-        final List<Response> messages = new ArrayList<Response>();
-        for (int i = 0; i < 2000; i++) {
-            messages.add(new TestResponse());
-        }
-        
+        final List<Response> messages = IntStream.range(0, 2000)
+            .mapToObj(i -> new TestResponse())
+            .collect(Guavate.toImmutableList());
+
         checkWrittenResponses(messages);
     }
     
@@ -67,22 +69,21 @@ public class AbstractProtocolTransportTest {
        
     @Test
     public void testWriteOrderFutureResponse() throws InterruptedException, UnsupportedEncodingException {
-        final List<Response> messages = new ArrayList<Response>();
-        for (int i = 0; i < 2000; i++) {
-            messages.add(new FutureResponseImpl());
-        }
-        notifyFutureResponses(messages, false);
+        final List<Response> messages = IntStream.range(0, 2000)
+            .mapToObj(i -> new FutureResponseImpl())
+            .collect(Guavate.toImmutableList());
 
+        notifyFutureResponses(messages, false);
         
         checkWrittenResponses(messages);
     }
 
     @Test
     public void testWriteOrderFutureResponseReverseNotify() throws InterruptedException, UnsupportedEncodingException {
-        final List<Response> messages = new ArrayList<Response>();
-        for (int i = 0; i < 2000; i++) {
-            messages.add(new FutureResponseImpl());
-        }
+        final List<Response> messages = IntStream.range(0, 2000)
+            .mapToObj(i -> new FutureResponseImpl())
+            .collect(Guavate.toImmutableList());
+
         notifyFutureResponses(messages, true);
 
         checkWrittenResponses(messages);

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
index cf1455e..d972442 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
@@ -22,6 +22,7 @@ package org.apache.james.imap.api.message;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.model.MessageRange;
@@ -80,11 +81,9 @@ public final class UidRange implements Iterable<MessageUid> {
 
 
     private static LinkedList<UidRange> toUidRanges(List<Range<MessageUid>> mergedRanges) {
-        LinkedList<UidRange> result = new LinkedList<UidRange>();
-        for (Range<MessageUid> range: mergedRanges) {
-            result.add(new UidRange(range.lowerEndpoint(), range.upperEndpoint()));
-        }
-        return result;
+        return mergedRanges.stream()
+            .map(range -> new UidRange(range.lowerEndpoint(), range.upperEndpoint()))
+            .collect(Collectors.toCollection(LinkedList::new));
     }
     
     private final MessageRange range;

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
index 2713d73..3d59941 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
@@ -134,7 +134,7 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
                 for (long id : ids) {
                     idList.add(id);
                 }
-                
+
                 List<IdRange> idsAsRanges = new ArrayList<IdRange>();
                 for (Long id: idList) {
                     idsAsRanges.add(new IdRange(id));
@@ -219,13 +219,7 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
     }
     
     private long[] toArray(Collection<Long> results) {
-        final Iterator<Long> it = results.iterator();
-        final int length = results.size();
-        long[] ids = new long[length];
-        for (int i = 0; i < length; i++) {
-            ids[i] = ((Long) it.next()).longValue();
-        }
-        return ids;
+        return results.stream().mapToLong(x -> x).toArray();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
index 411f6dc..6c83560 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MessageResultUtils.java
@@ -20,6 +20,7 @@
 package org.apache.james.imap.processor.fetch;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
@@ -70,11 +71,9 @@ public class MessageResultUtils {
                 MessageResult.Header header = iterator.next();
                 final String headerName = header.getName();
                 if (headerName != null) {
-                    for (String name : names) {
-                        if (headerName.equalsIgnoreCase(name)) {
-                            results.add(header);
-                            break;
-                        }
+                    if (Arrays.stream(names)
+                        .anyMatch(headerName::equalsIgnoreCase)) {
+                        results.add(header);
                     }
                 }
             }
@@ -114,17 +113,11 @@ public class MessageResultUtils {
     }
 
     private static boolean contains(Collection<String> names, MessageResult.Header header) throws MailboxException {
-        boolean match = false;
         final String headerName = header.getName();
         if (headerName != null) {
-            for (String name : names) {
-                if (name.equalsIgnoreCase(headerName)) {
-                    match = true;
-                    break;
-                }
-            }
+            return names.stream().anyMatch(name -> name.equalsIgnoreCase(headerName));
         }
-        return match;
+        return false;
     }
 
     /**
@@ -189,13 +182,8 @@ public class MessageResultUtils {
                 MessageResult.Header header = iterator.next();
                 final String headerName = header.getName();
                 if (headerName != null) {
-                    boolean match = false;
-                    for (String name : names) {
-                        if (headerName.equalsIgnoreCase(name)) {
-                            match = true;
-                            break;
-                        }
-                    }
+                    boolean match = Arrays.stream(names)
+                        .anyMatch(headerName::equalsIgnoreCase);
                     if (!match) {
                         results.add(header);
                     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
index 7363969..96d7c34 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPSServerTest.java
@@ -93,13 +93,10 @@ public abstract class AbstractLMTPSServerTest extends AbstractLMTPServerTest{
             for (int i = 0; i < rcptCount; i++) {
                 replies.add(getReply());
             }
-            
-            for (int code: replies) {
-                if (SMTPReply.isPositiveCompletion(code)) {
-                    return true;
-                }
-            }
-            return false;
+
+            return replies.stream()
+                .mapToInt(code -> code)
+                .anyMatch(SMTPReply::isPositiveCompletion);
         }
 
         

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
index 333a961..6f7ceb3 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
@@ -301,13 +301,10 @@ public abstract class AbstractLMTPServerTest extends AbstractSMTPServerTest{
             for (int i = 0; i < rcptCount; i++) {
                 replies.add(getReply());
             }
-            
-            for (int code: replies) {
-                if (SMTPReply.isPositiveCompletion(code)) {
-                    return true;
-                }
-            }
-            return false;
+
+            return replies.stream()
+                .mapToInt(code -> code)
+                .anyMatch(SMTPReply::isPositiveCompletion);
         }
 
         

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/pom.xml
----------------------------------------------------------------------
diff --git a/protocols/pom.xml b/protocols/pom.xml
index 20ab218..02bb164 100644
--- a/protocols/pom.xml
+++ b/protocols/pom.xml
@@ -157,6 +157,11 @@
                 <version>${apache-commons-io.version}</version>
             </dependency>
             <dependency>
+                <groupId>com.github.steveash.guavate</groupId>
+                <artifactId>guavate</artifactId>
+                <version>1.0.0</version>
+            </dependency>
+            <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava</artifactId>
                 <version>18.0</version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/MessageMetaDataUtils.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/MessageMetaDataUtils.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/MessageMetaDataUtils.java
index 2b6add0..6f69806 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/MessageMetaDataUtils.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/MessageMetaDataUtils.java
@@ -20,6 +20,7 @@
 package org.apache.james.protocols.pop3.core;
 
 import java.util.List;
+import java.util.stream.IntStream;
 
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.pop3.POP3Session;
@@ -56,12 +57,7 @@ public class MessageMetaDataUtils {
             return false;
         }
 
-        for (int i = 0; i < uid.length(); i++) {
-            if ((uid.charAt(i) >= 0x21 && uid.charAt(i) <= 0x7E) == false) {
-                return false;
-            }
-        }
-
-        return true;
+        return IntStream.range(0, uid.length())
+            .allMatch(i -> uid.charAt(i) >= 0x21 && uid.charAt(i) <= 0x7E);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/mailbox/ImapMailbox.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/mailbox/ImapMailbox.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/mailbox/ImapMailbox.java
index 00c2195..5998e64 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/mailbox/ImapMailbox.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/mailbox/ImapMailbox.java
@@ -20,6 +20,7 @@ package org.apache.james.protocols.pop3.mailbox;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Arrays;
 
 /**
  * An IMAP Mailbox adapter which is used in POP3 to retrieve messages
@@ -80,10 +81,9 @@ public abstract class ImapMailbox implements Mailbox {
     public abstract void remove(long... uids) throws IOException;
 
 	public void remove(String... uids) throws NumberFormatException, IOException {
-        long imapUids[] = new long[uids.length];
-        for (int i = 0; i < uids.length; i++) {
-            imapUids[i] = Long.parseLong(uids[i]);
-        }
+        long imapUids[] = Arrays.stream(uids)
+            .mapToLong(Long::parseLong)
+            .toArray();
         this.remove(imapUids);
 	}
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java
index e3fe5d3..128e388 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/AbstractStartTlsPOP3ServerTest.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.net.InetSocketAddress;
+import java.util.Arrays;
 
 import org.apache.commons.net.pop3.POP3Reply;
 import org.apache.commons.net.pop3.POP3SClient;
@@ -78,13 +79,8 @@ public abstract class AbstractStartTlsPOP3ServerTest {
             assertEquals(POP3Reply.OK, client.sendCommand("CAPA"));
             client.getAdditionalReply();
 
-            boolean startTlsCapa = false;
-            for (String cap: client.getReplyStrings()) {
-                if (cap.equalsIgnoreCase("STLS")) {
-                    startTlsCapa = true;
-                    break;
-                }
-            }
+            boolean startTlsCapa = Arrays.stream(client.getReplyStrings())
+                .anyMatch(cap -> cap.equalsIgnoreCase("STLS"));
             assertTrue(startTlsCapa);
             
             assertTrue(client.execTLS());

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
----------------------------------------------------------------------
diff --git a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
index c2dbe27..308dac8 100644
--- a/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
+++ b/protocols/pop3/src/test/java/org/apache/james/protocols/pop3/utils/MockMailbox.java
@@ -22,7 +22,6 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.SequenceInputStream;
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -32,6 +31,8 @@ import org.apache.james.protocols.pop3.mailbox.ImapMailbox;
 import org.apache.james.protocols.pop3.mailbox.ImapMessageMetaData;
 import org.apache.james.protocols.pop3.mailbox.MessageMetaData;
 
+import com.github.steveash.guavate.Guavate;
+
 @SuppressWarnings("deprecation")
 public class MockMailbox extends ImapMailbox {
 
@@ -75,11 +76,10 @@ public class MockMailbox extends ImapMailbox {
     }
 
     public List<MessageMetaData> getMessages() throws IOException {
-        List<MessageMetaData> meta = new ArrayList<MessageMetaData>();
-        for (Message m: messages.values()) {
-            meta.add(m.meta);
-        }
-        return meta;
+        return messages.values()
+            .stream()
+            .map(m -> m.meta)
+            .collect(Guavate.toImmutableList());
     }
 
     public void remove(long... uids) throws IOException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
index 1f3faff..1fd0d8f 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/SMTPProtocolHandlerChain.java
@@ -138,22 +138,12 @@ public class SMTPProtocolHandlerChain extends ProtocolHandlerChainImpl {
 
     @Override
     public boolean addAll(Collection<? extends ProtocolHandler> c) {
-        for (ProtocolHandler handler: c) {
-            if (!checkForAuth(handler)) {
-                return false;
-            }
-        }
-        return super.addAll(c);
+        return c.stream().allMatch(this::checkForAuth) && super.addAll(c);
     }
 
     @Override
     public boolean addAll(int index, Collection<? extends ProtocolHandler> c) {
-        for (ProtocolHandler handler: c) {
-            if (!checkForAuth(handler)) {
-                return false;
-            }
-        }
-        return super.addAll(index, c);
+        return c.stream().allMatch(this::checkForAuth) && super.addAll(index, c);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/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 a979e81..25e627e 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
@@ -22,6 +22,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import java.net.InetSocketAddress;
 import java.net.Socket;
+import java.util.Arrays;
 import java.util.Locale;
 import java.util.Properties;
 
@@ -148,12 +149,9 @@ public class NettyStartTlsSMTPServerTest {
         }
 
         public boolean isStartTLSAnnounced() {
-            for (String reply: client.getReplyStrings()) {
-                if (reply.toUpperCase(Locale.US).endsWith("STARTTLS")) {
-                    return true;
-                }
-            }
-            return false;
+            return Arrays.stream(client.getReplyStrings())
+                .anyMatch(reply -> reply.toUpperCase(Locale.US)
+                    .endsWith("STARTTLS"));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/container/cli/src/main/java/org/apache/james/cli/type/CmdType.java
----------------------------------------------------------------------
diff --git a/server/container/cli/src/main/java/org/apache/james/cli/type/CmdType.java b/server/container/cli/src/main/java/org/apache/james/cli/type/CmdType.java
index b94e0da..d3d0f74 100644
--- a/server/container/cli/src/main/java/org/apache/james/cli/type/CmdType.java
+++ b/server/container/cli/src/main/java/org/apache/james/cli/type/CmdType.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.james.cli.type;
 
+import java.util.Arrays;
+
 /**
  * Enumeration of valid command types.
  */
@@ -92,11 +94,10 @@ public enum CmdType {
      */
     public static CmdType lookup(String command) {
         if (command != null) {
-            for (CmdType cmd : values()) {
-                if (cmd.getCommand().equalsIgnoreCase(command)) {
-                    return cmd;
-                }
-            }
+            return Arrays.stream(values())
+                .filter(cmd -> cmd.getCommand().equalsIgnoreCase(command))
+                .findFirst()
+                .orElse(null);
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java b/server/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java
index 449eedc..2f06915 100644
--- a/server/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java
+++ b/server/container/core/src/test/java/org/apache/james/core/MimeMessageWrapperTest.java
@@ -225,15 +225,9 @@ public class MimeMessageWrapperTest extends MimeMessageFromStreamTest {
         mw.saveChanges();
 
         BufferedReader reader = new BufferedReader(new InputStreamReader(mw.getMessageInputStream()));
-        String line;
 
-        boolean headerUpdated = false;
-        while ((line = reader.readLine()) != null) {
-            if (line.equals("X-Test: X-Value")) {
-                headerUpdated = true;
-                break;
-            }
-        }
+        boolean headerUpdated = reader.lines()
+            .anyMatch(line -> line.equals("X-Test: X-Value"));
         reader.close();
         assertTrue(headerUpdated);
     }
@@ -250,15 +244,9 @@ public class MimeMessageWrapperTest extends MimeMessageFromStreamTest {
         mw.saveChanges();
 
         BufferedReader reader = new BufferedReader(new InputStreamReader(mw.getMessageInputStream()));
-        String line;
 
-        boolean contentUpdated = false;
-        while ((line = reader.readLine()) != null) {
-            if (line.equals(newContent)) {
-                contentUpdated = true;
-                break;
-            }
-        }
+        boolean contentUpdated = reader.lines()
+            .anyMatch(line -> line.equals(newContent));
         reader.close();
         assertTrue(contentUpdated);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
----------------------------------------------------------------------
diff --git a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
index 5f794a8..8afca6a 100644
--- a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
+++ b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
@@ -21,7 +21,6 @@ package org.apache.james.adapter.mailbox;
 import java.io.FileInputStream;
 import java.io.InputStream;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -42,6 +41,7 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MailboxQuery;
 import org.slf4j.Logger;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Preconditions;
 
 /**
@@ -107,10 +107,10 @@ public class MailboxManagerManagement extends StandardMBean implements MailboxMa
             session = mailboxManager.createSystemSession(username, log);
             mailboxManager.startProcessingRequest(session);
             List<MailboxMetaData> mList = retrieveAllUserMailboxes(username, session);
-            for (MailboxMetaData aMList : mList) {
-                boxes.add(aMList.getPath().getName());
-            }
-            Collections.sort(boxes);
+            boxes = mList.stream()
+                .map(aMList -> aMList.getPath().getName())
+                .sorted()
+                .collect(Guavate.toImmutableList());
         } catch (MailboxException e) {
             log.error("Error list mailboxes for user " + username, e);
         } finally {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
----------------------------------------------------------------------
diff --git a/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java b/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
index fe2ebca..d775a75 100644
--- a/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
+++ b/server/container/util/src/main/java/org/apache/james/util/bayesian/BayesianAnalyzer.java
@@ -31,6 +31,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
+import java.util.stream.IntStream;
 
 /**
  * <p>
@@ -707,11 +708,7 @@ public class BayesianAnalyzer {
     }
 
     private boolean allDigits(String s) {
-        for (int i = 0; i < s.length(); i++) {
-            if (!Character.isDigit(s.charAt(i))) {
-                return false;
-            }
-        }
-        return true;
+        return IntStream.range(0, s.length())
+            .allMatch(i -> Character.isDigit(s.charAt(i)));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
index 60f5351..c6d315e 100644
--- a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
@@ -178,12 +178,10 @@ public class SieveFileRepository implements SieveRepository {
      */
     @Override
     public void haveSpace(String user, String name, long size) throws QuotaExceededException, StorageException {
-        long usedSpace = 0;
-        for (File file : getUserDirectory(user).listFiles()) {
-            if (!(file.getName().equals(name) || SYSTEM_FILES.contains(file.getName()))) {
-                usedSpace = usedSpace + file.length();
-            }
-        }
+        long usedSpace = Arrays.stream(getUserDirectory(user).listFiles())
+            .filter(file -> !(file.getName().equals(name) || SYSTEM_FILES.contains(file.getName())))
+            .mapToLong(File::length)
+            .sum();
 
         long quota = Long.MAX_VALUE;
         File file = getQuotaFile(user);

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/data/data-ldap/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-ldap/pom.xml b/server/data/data-ldap/pom.xml
index da79b91..761680f 100644
--- a/server/data/data-ldap/pom.xml
+++ b/server/data/data-ldap/pom.xml
@@ -50,6 +50,10 @@
             <artifactId>commons-configuration</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
index e2007cb..f7f48ef 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
@@ -54,6 +54,7 @@ import org.apache.james.util.retry.naming.ldap.RetryingLdapContext;
 import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Optional;
 
 /**
@@ -715,19 +716,17 @@ public class ReadOnlyUsersLDAPRepository implements UsersRepository, Configurabl
      * @see UsersRepository#list()
      */
     public Iterator<String> list() throws UsersRepositoryException {
-        List<String> result = new ArrayList<String>();
         try {
-
-            for (ReadOnlyLDAPUser readOnlyLDAPUser : buildUserCollection(getValidUsers())) {
-                result.add(readOnlyLDAPUser.getUserName());
-            }
+            return buildUserCollection(getValidUsers())
+                .stream()
+                .map(ReadOnlyLDAPUser::getUserName)
+                .collect(Guavate.toImmutableList())
+                .iterator();
         } catch (NamingException namingException) {
             throw new UsersRepositoryException(
                     "Unable to retrieve users list from LDAP due to unknown naming error.",
                     namingException);
         }
-
-        return result.iterator();
     }
 
     private Collection<String> getValidUsers() throws NamingException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/data/data-library/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-library/pom.xml b/server/data/data-library/pom.xml
index 1d33e2e..00c8c27 100644
--- a/server/data/data-library/pom.xml
+++ b/server/data/data-library/pom.xml
@@ -54,6 +54,10 @@
             <artifactId>apache-mailet-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
index e238d4b..8c0a6e1 100644
--- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
+++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
@@ -23,7 +23,6 @@ import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
 
@@ -37,6 +36,7 @@ import org.apache.james.lifecycle.api.LogEnabled;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.github.steveash.guavate.Guavate;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
@@ -211,38 +211,25 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf
      * @return domainIP List of ipaddress for domains
      */
     private static List<String> getDomainsIP(List<String> domains, DNSService dns, Logger log) {
-        List<String> domainIP = new ArrayList<String>();
-        if (domains.size() > 0) {
-            for (String domain : domains) {
-                List<String> domList = getDomainIP(domain, dns, log);
-
-                for (String aDomList : domList) {
-                    if (!domainIP.contains(aDomList)) {
-                        domainIP.add(aDomList);
-                    }
-                }
-            }
-        }
-        return domainIP;
+        return domains.stream()
+            .flatMap(domain -> getDomainIP(domain, dns, log).stream())
+            .distinct()
+            .collect(Guavate.toImmutableList());
     }
 
     /**
      * @see #getDomainsIP(List, DNSService, Logger)
      */
     private static List<String> getDomainIP(String domain, DNSService dns, Logger log) {
-        List<String> domainIP = new ArrayList<String>();
         try {
-            Collection<InetAddress> addrs = dns.getAllByName(domain);
-            for (InetAddress addr : addrs) {
-                String ip = addr.getHostAddress();
-                if (!domainIP.contains(ip)) {
-                    domainIP.add(ip);
-                }
-            }
+            return dns.getAllByName(domain).stream()
+                .map(InetAddress::getHostAddress)
+                .distinct()
+                .collect(Guavate.toImmutableList());
         } catch (UnknownHostException e) {
             log.error("Cannot get IP address(es) for " + domain);
+            return ImmutableList.of();
         }
-        return domainIP;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java b/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java
index 3f6409e..2472fed 100644
--- a/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java
@@ -27,9 +27,8 @@ import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
-import java.util.List;
 
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
@@ -294,14 +293,10 @@ public abstract class AbstractFileRepository implements Repository, Configurable
     public Iterator<String> list() {
         final File storeDir = new File(m_baseDirectory.getAbsolutePath());
         final String[] names = storeDir.list(m_filter);
-        final List<String> list = new ArrayList<String>();
 
-        for (String name : names) {
-            String decoded = decode(name);
-            list.add(decoded);
-        }
-
-        return list.iterator();
+        return Arrays.stream(names)
+            .map(this::decode)
+            .iterator();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/data/data-library/src/main/java/org/apache/james/repository/file/ExtensionFileFilter.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/repository/file/ExtensionFileFilter.java b/server/data/data-library/src/main/java/org/apache/james/repository/file/ExtensionFileFilter.java
index a5ab933..2820a4a 100644
--- a/server/data/data-library/src/main/java/org/apache/james/repository/file/ExtensionFileFilter.java
+++ b/server/data/data-library/src/main/java/org/apache/james/repository/file/ExtensionFileFilter.java
@@ -21,6 +21,7 @@ package org.apache.james.repository.file;
 
 import java.io.File;
 import java.io.FilenameFilter;
+import java.util.Arrays;
 
 /**
  * This filters files based on the extension (what the filename ends with). This
@@ -51,11 +52,6 @@ public class ExtensionFileFilter implements FilenameFilter {
     }
 
     public boolean accept(File file, String name) {
-        for (String m_extension : m_extensions) {
-            if (name.endsWith(m_extension)) {
-                return true;
-            }
-        }
-        return false;
+        return Arrays.stream(m_extensions).anyMatch(name::endsWith);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/mailet/mailetcontainer-camel/pom.xml
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/pom.xml b/server/mailet/mailetcontainer-camel/pom.xml
index 0ec7778..0d4c959 100644
--- a/server/mailet/mailetcontainer-camel/pom.xml
+++ b/server/mailet/mailetcontainer-camel/pom.xml
@@ -88,6 +88,10 @@
             <artifactId>commons-configuration</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/cb0f621f/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
index 2086e40..7912568 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
@@ -54,6 +54,8 @@ import org.apache.mailet.base.GenericMailet;
 import org.apache.mailet.base.MatcherInverter;
 import org.slf4j.Logger;
 
+import com.github.steveash.guavate.Guavate;
+
 /**
  * Abstract base class for {@link MailProcessor} implementations which want to
  * process {@link Mail} via {@link Matcher} and {@link Mailet}
@@ -179,11 +181,9 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
      * @return mailets
      */
     public List<Mailet> getMailets() {
-        List<Mailet> mailets = new ArrayList<Mailet>();
-        for (MatcherMailetPair pair : pairs) {
-            mailets.add(pair.getMailet());
-        }
-        return Collections.unmodifiableList(mailets);
+        return pairs.stream()
+            .map(MatcherMailetPair::getMailet)
+            .collect(Guavate.toImmutableList());
     }
 
     /**
@@ -192,11 +192,9 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
      * @return matchers
      */
     public List<Matcher> getMatchers() {
-        List<Matcher> matchers = new ArrayList<Matcher>();
-        for (MatcherMailetPair pair : pairs) {
-            matchers.add(pair.getMatcher());
-        }
-        return Collections.unmodifiableList(matchers);
+        return pairs.stream()
+            .map(MatcherMailetPair::getMatcher)
+            .collect(Guavate.toImmutableList());
     }
 
     public void addListener(MailetProcessorListener listener) {


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


[08/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Simplify stream call chain"

Posted by bt...@apache.org.
JAMES-2107 Run IntelliJ inspection: "Simplify stream call chain"


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

Branch: refs/heads/master
Commit: 94db8075ba8404e6de36bc5538a7fde690bda087
Parents: 03b574c
Author: benwa <bt...@linagora.com>
Authored: Wed Aug 2 09:27:15 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Aug 16 16:44:08 2017 +0700

----------------------------------------------------------------------
 .../james/mailbox/cassandra/mail/FlagsExtractor.java    |  2 --
 .../cassandra/mail/CassandraUidProviderTest.java        |  2 +-
 .../org/apache/james/http/jetty/JettyHttpServer.java    |  2 +-
 .../apache/james/mailets/TemporaryFilesystemModule.java |  2 +-
 .../integration/cucumber/GetMessagesMethodStepdefs.java |  1 -
 .../main/java/org/apache/james/jmap/model/Message.java  | 12 ++++--------
 .../jmap/utils/SortingHierarchicalCollections.java      |  2 +-
 .../apache/james/jmap/utils/DependencyGraphTest.java    |  2 +-
 8 files changed, 9 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/FlagsExtractor.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/FlagsExtractor.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/FlagsExtractor.java
index d1b33b5..873e438 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/FlagsExtractor.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/FlagsExtractor.java
@@ -40,7 +40,6 @@ public class FlagsExtractor {
             }
         }
         row.getSet(Flag.USER_FLAGS, String.class)
-            .stream()
             .forEach(flags::add);
         return flags;
     }
@@ -48,7 +47,6 @@ public class FlagsExtractor {
     public Flags getApplicableFlags() {
         Flags flags = new Flags();
         row.getSet(Flag.USER_FLAGS, String.class)
-            .stream()
             .forEach(flags::add);
         return flags;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
index 7e61a92..9faddfb 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
@@ -97,7 +97,7 @@ public class CassandraUidProviderTest {
         int nbEntries = 100;
         long nbValues = LongStream.range(0, nbEntries)
             .parallel()
-            .mapToObj(x -> x)
+            .boxed()
             .map(Throwing.function(x -> uidProvider.nextUid(null, mailbox)))
             .distinct()
             .count();

http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServer.java
----------------------------------------------------------------------
diff --git a/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServer.java b/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServer.java
index c0a63bc..7bb7ffa 100644
--- a/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServer.java
+++ b/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServer.java
@@ -70,7 +70,7 @@ public class JettyHttpServer implements Closeable {
         
         BiConsumer<String, ServletHolder> addServletMapping = (path, servletHolder) -> servletHandler.addServletWithMapping(servletHolder, path);
         BiConsumer<String, Collection<FilterHolder>> addFilterMappings = 
-                (path, filterHolders) -> filterHolders.stream().forEachOrdered(
+                (path, filterHolders) -> filterHolders.forEach(
                         filterHolder -> servletHandler.addFilterWithMapping(filterHolder, path, EnumSet.of(DispatcherType.REQUEST)));
                 
         Maps.transformEntries(configuration.getMappings(), this::toServletHolder).forEach(addServletMapping);

http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
index d470352..7aee891 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
@@ -82,7 +82,7 @@ public class TemporaryFilesystemModule extends AbstractModule {
     }
 
     private void copyResources(Path resourcesFolder) throws FileNotFoundException, IOException {
-        CONFIGURATION_FILE_NAMES.stream()
+        CONFIGURATION_FILE_NAMES
             .forEach(resourceName -> copyResource(resourcesFolder, resourceName));
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
index 1024bec..13200f9 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java
@@ -505,7 +505,6 @@ public class GetMessagesMethodStepdefs {
 
     private void assertAttachment(String attachment, DataTable attachmentProperties) {
         attachmentProperties.asList(TableRow.class)
-            .stream()
             .forEach(entry -> assertThat(jsonPath.<Object>read(attachment + "." + entry.getKey())).isEqualTo(entry.getValue()));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Message.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Message.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Message.java
index 9dae5e9..969525d 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Message.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Message.java
@@ -235,18 +235,14 @@ public class Message {
     }
 
     private static Predicate<BlobId> inAttachments(ImmutableList<Attachment> attachments) {
-        return (key) -> {
-            return attachments.stream()
-                .map(Attachment::getBlobId)
-                .anyMatch(blobId -> blobId.equals(key));
-        };
+        return (key) -> attachments.stream()
+            .map(Attachment::getBlobId)
+            .anyMatch(blobId -> blobId.equals(key));
     }
 
     private static boolean hasAttachment(List<Attachment> attachments) {
         return attachments.stream()
-                .filter(attachment -> !attachment.isInlinedWithCid())
-                .findAny()
-                .isPresent();
+                .anyMatch(attachment -> !attachment.isInlinedWithCid());
     }
 
     private final MessageId id;

http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SortingHierarchicalCollections.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SortingHierarchicalCollections.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SortingHierarchicalCollections.java
index bbf0d2e..ca82680 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SortingHierarchicalCollections.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SortingHierarchicalCollections.java
@@ -48,7 +48,7 @@ public class SortingHierarchicalCollections<T, Id> {
         DependencyGraph<T> graph = new DependencyGraph<>(m ->
                 parentId.apply(m).map(mapOfElementsById::get));
 
-        elements.stream().forEach(graph::registerItem);
+        elements.forEach(graph::registerItem);
 
         return graph.getBuildChain().collect(Collectors.toList());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/94db8075/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/DependencyGraphTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/DependencyGraphTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/DependencyGraphTest.java
index add1853..7acc0fa 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/DependencyGraphTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/utils/DependencyGraphTest.java
@@ -63,7 +63,7 @@ public class DependencyGraphTest {
     public void getBuildChainOnIsolatedVerticesShouldReturnSameOrder() {
         DependencyGraph<Commit> graph = new DependencyGraph<>(m -> Optional.empty());
         ImmutableList<Commit> isolatedMailboxes = ImmutableList.of(new Commit("A"), new Commit("B"), new Commit("C"));
-        isolatedMailboxes.stream().forEach(graph::registerItem);
+        isolatedMailboxes.forEach(graph::registerItem);
 
         List<Commit> orderedResultList = graph.getBuildChain().collect(Collectors.toList());
 


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


[16/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
----------------------------------------------------------------------
diff --git a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
index abfea13..eec1716 100644
--- a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
+++ b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
@@ -19,11 +19,12 @@
 
 package org.apache.james.mailbox.indexer.registrations;
 
-import com.google.common.base.Optional;
+import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.model.MailboxPath;
 
-import java.util.concurrent.ConcurrentHashMap;
+import com.google.common.base.Optional;
 
 public class GlobalRegistration implements MailboxListener {
 
@@ -31,8 +32,8 @@ public class GlobalRegistration implements MailboxListener {
     private final ConcurrentHashMap<MailboxPath, MailboxPath> nameCorrespondence;
 
     public GlobalRegistration() {
-        this.isPathDeleted = new ConcurrentHashMap<MailboxPath, Boolean>();
-        this.nameCorrespondence = new ConcurrentHashMap<MailboxPath, MailboxPath>();
+        this.isPathDeleted = new ConcurrentHashMap<>();
+        this.nameCorrespondence = new ConcurrentHashMap<>();
     }
 
     public Optional<MailboxPath> getPathToIndex(MailboxPath mailboxPath) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistrationTest.java b/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistrationTest.java
index 480d3f4..7c15da8 100644
--- a/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistrationTest.java
+++ b/mailbox/tool/src/test/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistrationTest.java
@@ -73,7 +73,7 @@ public class MailboxRegistrationTest {
 
     @Test
     public void AddedEventsShouldNotBeReported() {
-        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<MessageUid, MessageMetaData>();
+        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<>();
         treeMap.put(UID, new SimpleMessageMetaData(UID, MOD_SEQ, new Flags(), SIZE, new Date(), new DefaultMessageId()));
         MailboxListener.Event event = eventFactory.added(session, treeMap, MAILBOX, ImmutableMap.<MessageUid, MailboxMessage> of());
         mailboxRegistration.event(event);
@@ -82,7 +82,7 @@ public class MailboxRegistrationTest {
 
     @Test
     public void ExpungedEventsShouldBeReported() {
-        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<MessageUid, MessageMetaData>();
+        TreeMap<MessageUid, MessageMetaData> treeMap = new TreeMap<>();
         treeMap.put(UID, new SimpleMessageMetaData(UID, MOD_SEQ, new Flags(), SIZE, new Date(), new DefaultMessageId()));
         MailboxListener.Event event = eventFactory.expunged(session, treeMap, MAILBOX);
         mailboxRegistration.event(event);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java
----------------------------------------------------------------------
diff --git a/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java b/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java
index f83c641..0d9d492 100644
--- a/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java
+++ b/mailet/ai/src/main/java/org/apache/james/ai/classic/BayesianAnalyzer.java
@@ -105,10 +105,10 @@ public class BayesianAnalyzer {
     final static double DEFAULT_TOKEN_PROBABILITY = 0.4;
 
     /** Map of ham tokens and their occurrences. */
-    private Map<String, Integer> hamTokenCounts = new HashMap<String, Integer>();
+    private Map<String, Integer> hamTokenCounts = new HashMap<>();
 
     /** Map of spam tokens and their occurrences. */
-    private Map<String, Integer> spamTokenCounts = new HashMap<String, Integer>();
+    private Map<String, Integer> spamTokenCounts = new HashMap<>();
 
     /** Number of ham messages analyzed. */
     private int hamMessageCount = 0;
@@ -117,7 +117,7 @@ public class BayesianAnalyzer {
     private int spamMessageCount = 0;
 
     /** Final token/probability corpus. */
-    private Map<String, Double> corpus = new HashMap<String, Double>();
+    private Map<String, Double> corpus = new HashMap<>();
 
     /**
      * Basic class constructor.
@@ -235,10 +235,10 @@ public class BayesianAnalyzer {
      */
     public void buildCorpus() {
         // Combine the known ham & spam tokens.
-        Set<String> set = new HashSet<String>(hamTokenCounts.size() + spamTokenCounts.size());
+        Set<String> set = new HashSet<>(hamTokenCounts.size() + spamTokenCounts.size());
         set.addAll(hamTokenCounts.keySet());
         set.addAll(spamTokenCounts.keySet());
-        Map<String, Double> tempCorpus = new HashMap<String, Double>(set.size());
+        Map<String, Double> tempCorpus = new HashMap<>(set.size());
 
         // Iterate through all the tokens and compute their new
         // individual probabilities.
@@ -319,7 +319,7 @@ public class BayesianAnalyzer {
      * @return Set
      */
     private Set<String> parse(Reader stream) throws java.io.IOException {
-        Set<String> tokens = new HashSet<String>();
+        Set<String> tokens = new HashSet<>();
         new TokenCollector(tokens).collect(stream);
         // Return the unique set of tokens encountered.
         return tokens;
@@ -385,7 +385,7 @@ public class BayesianAnalyzer {
      */
     private SortedSet<TokenProbabilityStrength> getTokenProbabilityStrengths(Set<String> tokens, Map<String, Double> workCorpus) {
         // Convert to a SortedSet of token probability strengths.
-        SortedSet<TokenProbabilityStrength> tokenProbabilityStrengths = new TreeSet<TokenProbabilityStrength>();
+        SortedSet<TokenProbabilityStrength> tokenProbabilityStrengths = new TreeSet<>();
 
         for (String token : tokens) {
             TokenProbabilityStrength tps = new TokenProbabilityStrength();
@@ -433,7 +433,7 @@ public class BayesianAnalyzer {
     }
 
     private Collection<String> buildDegenerated(String fullToken) {
-        ArrayList<String> tokens = new ArrayList<String>();
+        ArrayList<String> tokens = new ArrayList<>();
         String header;
         String token;
         String tokenLower;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/ai/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java
----------------------------------------------------------------------
diff --git a/mailet/ai/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java b/mailet/ai/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java
index e73f5d1..e019b3f 100644
--- a/mailet/ai/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java
+++ b/mailet/ai/src/main/java/org/apache/james/ai/classic/JDBCBayesianAnalyzer.java
@@ -64,7 +64,7 @@ public class JDBCBayesianAnalyzer extends BayesianAnalyzer implements Log {
     private String sqlFileName;
 
     /** Holds value of property sqlParameters. */
-    private Map<String, String> sqlParameters = new HashMap<String, String>();
+    private Map<String, String> sqlParameters = new HashMap<>();
 
     /** Holds value of property lastDatabaseUpdateTime. */
     private static long lastDatabaseUpdateTime;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java
----------------------------------------------------------------------
diff --git a/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java b/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java
index c685c1c..42d05f3 100644
--- a/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java
+++ b/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java
@@ -46,10 +46,10 @@ import org.w3c.dom.NodeList;
  */
 class SqlResources {
     /** A map of statement types to SQL statements */
-    private final Map<String, String> m_sql = new HashMap<String, String>();
+    private final Map<String, String> m_sql = new HashMap<>();
 
     /** A map of engine specific options */
-    private final Map<String, String> m_dbOptions = new HashMap<String, String>();
+    private final Map<String, String> m_dbOptions = new HashMap<>();
 
     /** A set of all used String values */
     static private final Map<String, String> stringTable = java.util.Collections.synchronizedMap(new HashMap<String, String>());
@@ -175,7 +175,7 @@ class SqlResources {
 
         // Get parameters defined within the file as defaults,
         // and use supplied parameters as overrides.
-        Map<String, String> parameters = new HashMap<String, String>();
+        Map<String, String> parameters = new HashMap<>();
         // First read from the <params> element, if it exists.
         Element parametersElement = (Element) (sectionElement.getElementsByTagName("parameters").item(0));
         if (parametersElement != null) {
@@ -194,8 +194,8 @@ class SqlResources {
         // 2 maps - one for storing default statements,
         // the other for statements with a "db" attribute matching this
         // connection.
-        Map<String, String> defaultSqlStatements = new HashMap<String, String>();
-        Map<String, String> dbProductSqlStatements = new HashMap<String, String>();
+        Map<String, String> defaultSqlStatements = new HashMap<>();
+        Map<String, String> dbProductSqlStatements = new HashMap<>();
 
         // Process each sql statement, replacing string parameters,
         // and adding to the appropriate map..

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/base/src/main/java/org/apache/mailet/base/GenericMailet.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/GenericMailet.java b/mailet/base/src/main/java/org/apache/mailet/base/GenericMailet.java
index 641d90c..3edeb37 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/GenericMailet.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/GenericMailet.java
@@ -280,8 +280,8 @@ public abstract class GenericMailet implements Mailet, MailetConfig {
             return;
         }
         
-        Collection<String> allowed = new HashSet<String>();
-        Collection<String> bad = new ArrayList<String>();
+        Collection<String> allowed = new HashSet<>();
+        Collection<String> bad = new ArrayList<>();
 
         Collections.addAll(allowed, allowedArray);
         

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/base/src/main/java/org/apache/mailet/base/GenericRecipientMatcher.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/GenericRecipientMatcher.java b/mailet/base/src/main/java/org/apache/mailet/base/GenericRecipientMatcher.java
index c5b53d2..0676c13 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/GenericRecipientMatcher.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/GenericRecipientMatcher.java
@@ -49,7 +49,7 @@ public abstract class GenericRecipientMatcher extends GenericMatcher {
      * @return Collection the Collection of MailAddress objects that have been matched
      */
     public final Collection<MailAddress> match(Mail mail) throws MessagingException {
-        Collection<MailAddress> matching = new ArrayList<MailAddress>();
+        Collection<MailAddress> matching = new ArrayList<>();
         for (MailAddress recipient : mail.getRecipients()) {
             if (matchRecipient(recipient)) {
                 matching.add(recipient);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/base/src/main/java/org/apache/mailet/base/MatcherInverter.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/MatcherInverter.java b/mailet/base/src/main/java/org/apache/mailet/base/MatcherInverter.java
index 767c198..2628fdf 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/MatcherInverter.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/MatcherInverter.java
@@ -77,7 +77,7 @@ public class MatcherInverter implements Matcher {
     public Collection<MailAddress> match(Mail mail) throws MessagingException {
         // Create a new recipient Collection cause mail.getRecipients() give a reference to the internal 
         // list of recipients. If we make changes there the original collection whould be corrupted
-        Collection<MailAddress> recipients = new ArrayList<MailAddress>(mail.getRecipients());
+        Collection<MailAddress> recipients = new ArrayList<>(mail.getRecipients());
         Collection<MailAddress> matchedRcpts = wrappedMatcher.match(mail);
         
         // check if a only a part of the recipients matched

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java b/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
index 703726e..f24507f 100644
--- a/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
+++ b/mailet/base/src/main/java/org/apache/mailet/base/StringUtils.java
@@ -46,7 +46,7 @@ public final class StringUtils {
      */
     public static String[] split(String text, String pattern) {
         String[] array = text.split(pattern, -1);
-        ArrayList<String> list = new ArrayList<String>();
+        ArrayList<String> list = new ArrayList<>();
         for (int i = 0; i < array.length; i++) {
             boolean escaped = false;
             if (i > 0 && array[i - 1].endsWith("\\")) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java
----------------------------------------------------------------------
diff --git a/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java b/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java
index 9a70622..38ffad6 100644
--- a/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java
+++ b/mailet/base/src/test/java/org/apache/mailet/base/test/FakeMailContext.java
@@ -68,7 +68,7 @@ public class FakeMailContext implements MailetContext {
     }
 
     private static ImmutableMap<String, Serializable> buildAttributesMap(Mail mail) {
-        Map<String, Serializable> result = new HashMap<String, Serializable>();
+        Map<String, Serializable> result = new HashMap<>();
         List<String> attributesNames = Lists.newArrayList(mail.getAttributeNames());
         for (String attributeName: attributesNames) {
             result.put(attributeName, mail.getAttribute(attributeName));
@@ -110,7 +110,7 @@ public class FakeMailContext implements MailetContext {
             private MailAddress sender;
             private Optional<Collection<MailAddress>> recipients = Optional.absent();
             private MimeMessage msg;
-            private Map<String, Serializable> attributes = new HashMap<String, Serializable>();
+            private Map<String, Serializable> attributes = new HashMap<>();
             private Optional<String> state = Optional.absent();
             private Optional<Boolean> fromMailet = Optional.absent();
 
@@ -298,9 +298,9 @@ public class FakeMailContext implements MailetContext {
     private final MailAddress postmaster;
 
     private FakeMailContext(Optional<Logger> logger, MailAddress postmaster) {
-        attributes = new HashMap<String, Object>();
-        sentMails = new ArrayList<SentMail>();
-        bouncedMails = new ArrayList<BouncedMail>();
+        attributes = new HashMap<>();
+        sentMails = new ArrayList<>();
+        bouncedMails = new ArrayList<>();
         this.logger = logger;
         this.postmaster = postmaster;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolder.java
----------------------------------------------------------------------
diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolder.java b/mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolder.java
index 55349d7..c71e51e 100644
--- a/mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolder.java
+++ b/mailet/crypto/src/main/java/org/apache/james/transport/KeyStoreHolder.java
@@ -131,7 +131,7 @@ public class KeyStoreHolder {
             .build();
         SignerInformationStore siginfo = signed.getSignerInfos();
         Collection<SignerInformation> sigCol = siginfo.getSigners();
-        List<SMIMESignerInfo> result = new ArrayList<SMIMESignerInfo>(sigCol.size());
+        List<SMIMESignerInfo> result = new ArrayList<>(sigCol.size());
         // I iterate over the signer collection 
         // checking if the signatures put
         // on the message are valid.

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/crypto/src/main/java/org/apache/james/transport/SMIMEKeyHolder.java
----------------------------------------------------------------------
diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/SMIMEKeyHolder.java b/mailet/crypto/src/main/java/org/apache/james/transport/SMIMEKeyHolder.java
index e8b2374..74ff5dc 100644
--- a/mailet/crypto/src/main/java/org/apache/james/transport/SMIMEKeyHolder.java
+++ b/mailet/crypto/src/main/java/org/apache/james/transport/SMIMEKeyHolder.java
@@ -164,7 +164,7 @@ public class SMIMEKeyHolder implements KeyHolder{
             throw new KeyStoreException("The \"" + keyAlias + "\" X509Certificate alias was not found in keystore.");
         }
         java.security.cert.Certificate[] certificateChain = keyStore.getCertificateChain(keyAlias);
-        ArrayList<java.security.cert.Certificate> certList = new ArrayList<java.security.cert.Certificate>();
+        ArrayList<java.security.cert.Certificate> certList = new ArrayList<>();
         if (certificateChain == null) {
             certList.add(this.certificate);
         } else {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMECheckSignature.java
----------------------------------------------------------------------
diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMECheckSignature.java b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMECheckSignature.java
index 887329b..f9e5aba 100644
--- a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMECheckSignature.java
+++ b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMECheckSignature.java
@@ -34,9 +34,9 @@ import javax.mail.internet.MimeMultipart;
 
 import org.apache.james.transport.KeyStoreHolder;
 import org.apache.james.transport.SMIMESignerInfo;
-import org.apache.mailet.base.GenericMailet;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailetConfig;
+import org.apache.mailet.base.GenericMailet;
 import org.bouncycastle.cms.CMSException;
 import org.bouncycastle.mail.smime.SMIMEException;
 import org.bouncycastle.mail.smime.SMIMESigned;
@@ -189,7 +189,7 @@ public class SMIMECheckSignature extends GenericMailet {
         // If at least one mail signer is found 
         // the mail attributes are set.
         if (signers != null) {
-            ArrayList<X509Certificate> signerinfolist = new ArrayList<X509Certificate>();
+            ArrayList<X509Certificate> signerinfolist = new ArrayList<>();
 
             for (SMIMESignerInfo info : signers) {
                 if (info.isSignValid()

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
----------------------------------------------------------------------
diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
index 215ce34..a6a628a 100644
--- a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
+++ b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/SMIMEDecrypt.java
@@ -158,7 +158,7 @@ public class SMIMEDecrypt extends GenericMailet {
             // behavior of the SMIMEVerifySignature mailet. In that way
             // it is possible to reuse the same matchers to analyze
             // the result of the operation.
-            ArrayList<X509Certificate> list = new ArrayList<X509Certificate>(1);
+            ArrayList<X509Certificate> list = new ArrayList<>(1);
             list.add(keyHolder.getCertificate());
             mail.setAttribute(mailAttribute, list);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
----------------------------------------------------------------------
diff --git a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
index 9f1da32..0c7d075 100644
--- a/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
+++ b/mailet/mailetdocs-maven-plugin/src/main/java/org/apache/james/mailet/DefaultDescriptorsExtractor.java
@@ -55,7 +55,7 @@ public class DefaultDescriptorsExtractor {
     private final List<MailetMatcherDescriptor> descriptors;
     
     public DefaultDescriptorsExtractor() {
-        descriptors = new ArrayList<MailetMatcherDescriptor> ();
+        descriptors = new ArrayList<>();
     }
 
     /**
@@ -298,7 +298,7 @@ public class DefaultDescriptorsExtractor {
 
 
     private List<JavaClass> getAllInterfacesQdox(JavaClass javaClass) {
-        List<JavaClass> res = new LinkedList<JavaClass>();
+        List<JavaClass> res = new LinkedList<>();
         if (javaClass.getImplementedInterfaces() != null) {
             JavaClass[] interfaces = javaClass.getImplementedInterfaces();
             Collections.addAll(res, interfaces);
@@ -310,7 +310,7 @@ public class DefaultDescriptorsExtractor {
     }
 
     private List<Class<?>> getAllInterfaces(Class<?> klass) {
-        List<Class<?>> res = new LinkedList<Class<?>>();
+        List<Class<?>> res = new LinkedList<>();
         if (klass.getInterfaces() != null) {
             Class<?>[] interfaces = klass.getInterfaces();
             for (Class<?> anInterface : interfaces) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClamAVScan.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClamAVScan.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClamAVScan.java
index 5d3fc8e..8be918b 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClamAVScan.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ClamAVScan.java
@@ -527,7 +527,7 @@ public class ClamAVScan extends GenericMailet {
 
         InetAddress address;
 
-        Set<InetAddress> usedAddresses = new HashSet<InetAddress>(getAddressesCount());
+        Set<InetAddress> usedAddresses = new HashSet<>(getAddressesCount());
         for (; ; ) {
             // this do-while loop is needed because other threads could in the meantime
             // calling getNextAddress(), and because of that the current thread may skip

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java
index 241e243..0057ea0 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/HeadersToHTTP.java
@@ -162,7 +162,7 @@ public class HeadersToHTTP extends GenericMailet {
         // reply to
         // subject
 
-        HashSet<NameValuePair> pairs = new HashSet<NameValuePair>();
+        HashSet<NameValuePair> pairs = new HashSet<>();
 
         if (message!=null) {
             if (message.getSender()!=null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/mailets/OnlyText.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/OnlyText.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/OnlyText.java
index fffc6c0..3fc4f53 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/OnlyText.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/OnlyText.java
@@ -19,18 +19,19 @@
 
 package org.apache.james.transport.mailets;
 
-import org.apache.mailet.Experimental;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailetException;
-import org.apache.mailet.base.GenericMailet;
+import java.io.IOException;
+import java.util.HashMap;
 
 import javax.mail.Message;
 import javax.mail.MessagingException;
 import javax.mail.Multipart;
 import javax.mail.Part;
 import javax.mail.internet.ContentType;
-import java.io.IOException;
-import java.util.HashMap;
+
+import org.apache.mailet.Experimental;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailetException;
+import org.apache.mailet.base.GenericMailet;
 
 /**
  * Keep only the text part of a message.
@@ -45,7 +46,7 @@ public class OnlyText extends GenericMailet {
     private static final String PARAMETER_NAME_NOTEXT_PROCESSOR = "NoTextProcessor";
 
     private String optionsNotextProcessor = null;
-    private final HashMap<String, String> charMap = new HashMap<String, String>();
+    private final HashMap<String, String> charMap = new HashMap<>();
 
     /**
      * returns a String describing this mailet.

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/mailets/PostmasterAlias.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/PostmasterAlias.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/PostmasterAlias.java
index a419f95..6f822db 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/PostmasterAlias.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/PostmasterAlias.java
@@ -21,14 +21,15 @@
 
 package org.apache.james.transport.mailets;
 
-import org.apache.mailet.base.GenericMailet;
+import java.util.Collection;
+import java.util.Vector;
+
+import javax.mail.MessagingException;
+
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.MailetContext;
-
-import javax.mail.MessagingException;
-import java.util.Collection;
-import java.util.Vector;
+import org.apache.mailet.base.GenericMailet;
 
 /**
  * Rewrites recipient addresses to make sure email for the postmaster is
@@ -59,7 +60,7 @@ public class PostmasterAlias extends GenericMailet {
                 //Should remove this address... we want to replace it with
                 //  the server's postmaster address
                 if (recipientsToRemove == null) {
-                    recipientsToRemove = new Vector<MailAddress>();
+                    recipientsToRemove = new Vector<>();
                 }
                 recipientsToRemove.add(addr);
                 //Flag this as having found the postmaster

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java
index 58b7304..dd20ed4 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/StripAttachment.java
@@ -342,7 +342,7 @@ public class StripAttachment extends GenericMailet {
         @SuppressWarnings("unchecked")
         List<String> attributeValues = (List<String>) mail.getAttribute(attributeName);
         if (attributeValues == null) {
-            attributeValues = new ArrayList<String>();
+            attributeValues = new ArrayList<>();
             mail.setAttribute(attributeName, (Serializable) attributeValues);
         }
         attributeValues.add(filename);
@@ -358,7 +358,7 @@ public class StripAttachment extends GenericMailet {
         @SuppressWarnings("unchecked")
         Map<String, byte[]> fileNamesToPartContent = (Map<String, byte[]>) mail.getAttribute(attributeName);
         if (fileNamesToPartContent == null) {
-            fileNamesToPartContent = new LinkedHashMap<String, byte[]>();
+            fileNamesToPartContent = new LinkedHashMap<>();
             mail.setAttribute(attributeName, (Serializable) fileNamesToPartContent);
         }
         ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/matchers/AbstractQuotaMatcher.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/AbstractQuotaMatcher.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/AbstractQuotaMatcher.java
index ba41e1b..7b7de31 100755
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/AbstractQuotaMatcher.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/AbstractQuotaMatcher.java
@@ -21,14 +21,15 @@
 
 package org.apache.james.transport.matchers;
 
-import java.util.Collection;
 import java.util.ArrayList;
+import java.util.Collection;
+
 import javax.mail.MessagingException;
 
 import org.apache.mailet.Experimental;
-import org.apache.mailet.base.GenericMatcher;
-import org.apache.mailet.MailAddress;
 import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.GenericMatcher;
 
 /**
  * <P>Abstract matcher checking whether a recipient has exceeded a maximum allowed quota.</P>
@@ -53,7 +54,7 @@ abstract public class AbstractQuotaMatcher extends GenericMatcher {
     public final Collection<MailAddress> match(Mail mail) throws MessagingException {
         Collection<MailAddress> matching = null;
         if (isSenderChecked(mail.getSender())) {
-            matching = new ArrayList<MailAddress>();
+            matching = new ArrayList<>();
             for (MailAddress recipient : mail.getRecipients()) {
                 if (isRecipientChecked(recipient) && isOverQuota(recipient, mail)) {
                     matching.add(recipient);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/matchers/AttachmentFileNameIs.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/AttachmentFileNameIs.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/AttachmentFileNameIs.java
index e35a10e..ea9ec07 100755
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/AttachmentFileNameIs.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/AttachmentFileNameIs.java
@@ -21,23 +21,24 @@
  
 package org.apache.james.transport.matchers;
 
-import org.apache.mailet.Experimental;
-import org.apache.mailet.base.GenericMatcher;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
-
-import javax.mail.MessagingException;
-import javax.mail.Multipart;
-import javax.mail.Part;
-import javax.mail.internet.MimeMessage;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.StringTokenizer;
 import java.util.Locale;
-import java.util.zip.ZipInputStream;
+import java.util.StringTokenizer;
 import java.util.zip.ZipEntry;
-import java.io.UnsupportedEncodingException;
+import java.util.zip.ZipInputStream;
+
+import javax.mail.MessagingException;
+import javax.mail.Multipart;
+import javax.mail.Part;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.mailet.Experimental;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.GenericMatcher;
 
 
 /**
@@ -97,7 +98,7 @@ public class AttachmentFileNameIs extends GenericMatcher {
         /* sets up fileNameMasks variable by parsing the condition */
         
         StringTokenizer st = new StringTokenizer(getCondition(), ", ", false);
-        ArrayList<Mask> theMasks = new ArrayList<Mask>(20);
+        ArrayList<Mask> theMasks = new ArrayList<>(20);
         while (st.hasMoreTokens()) {
             String fileName = st.nextToken();
             

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/matchers/HostIs.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/HostIs.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/HostIs.java
index 409745a..2600007 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/HostIs.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/HostIs.java
@@ -21,14 +21,14 @@
 
 package org.apache.james.transport.matchers;
 
-import org.apache.mailet.base.GenericRecipientMatcher;
-import org.apache.mailet.MailAddress;
-
 import java.util.Collection;
 import java.util.Locale;
 import java.util.StringTokenizer;
 import java.util.Vector;
 
+import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.GenericRecipientMatcher;
+
 /**
  * Matches mail to given hosts.
  */
@@ -42,7 +42,7 @@ public class HostIs extends GenericRecipientMatcher {
      */
     public void init() {
         StringTokenizer st = new StringTokenizer(getCondition(), ", ", false);
-        hosts = new Vector<String>();
+        hosts = new Vector<>();
         while (st.hasMoreTokens()) {
             hosts.add(st.nextToken().toLowerCase(Locale.US));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailet/standard/src/main/java/org/apache/james/transport/matchers/SMTPAuthUserIs.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/SMTPAuthUserIs.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/SMTPAuthUserIs.java
index d7eda39..cc3fc52 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/SMTPAuthUserIs.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/SMTPAuthUserIs.java
@@ -24,9 +24,9 @@ package org.apache.james.transport.matchers;
 import java.util.Collection;
 import java.util.StringTokenizer;
 
-import org.apache.mailet.base.GenericMatcher;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
+import org.apache.mailet.base.GenericMatcher;
 
 /**
  * <P>Matches mails that are sent by an SMTP authenticated user present in a supplied list.</P>
@@ -48,7 +48,7 @@ public class SMTPAuthUserIs extends GenericMatcher {
 
     public void init() throws javax.mail.MessagingException {
         StringTokenizer st = new StringTokenizer(getCondition(), ", \t", false);
-        users = new java.util.HashSet<String>();
+        users = new java.util.HashSet<>();
         while (st.hasMoreTokens()) {
             users.add(st.nextToken());
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java
----------------------------------------------------------------------
diff --git a/mpt/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java b/mpt/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java
index 353e2c3..673350a 100644
--- a/mpt/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java
+++ b/mpt/antlib/src/main/java/org/apache/james/mpt/ant/MailProtocolTestTask.java
@@ -59,7 +59,7 @@ public class MailProtocolTestTask extends Task implements Monitor {
     private String host = "127.0.0.1";
     private boolean skip = false;
     private String shabang = null;
-    private final Collection<AddUser> users = new ArrayList<AddUser>();
+    private final Collection<AddUser> users = new ArrayList<>();
     private String errorProperty;
     
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/core/src/main/java/org/apache/james/mpt/protocol/FileProtocolSessionBuilder.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/protocol/FileProtocolSessionBuilder.java b/mpt/core/src/main/java/org/apache/james/mpt/protocol/FileProtocolSessionBuilder.java
index 8488db5..f9e94fd 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/protocol/FileProtocolSessionBuilder.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/protocol/FileProtocolSessionBuilder.java
@@ -146,7 +146,7 @@ public class FileProtocolSessionBuilder extends ProtocolSessionBuilder {
                     session.REINIT(sessionNumber);
                 }
                 else if (next.startsWith(OPEN_UNORDERED_BLOCK_TAG)) {
-                    List<String> unorderedLines = new ArrayList<String>(5);
+                    List<String> unorderedLines = new ArrayList<>(5);
                     next = reader.readLine();
 
                     if (next == null)

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSession.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSession.java b/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSession.java
index 21ee26c..874319e 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSession.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSession.java
@@ -53,7 +53,7 @@ public class ProtocolSession implements ProtocolInteractor {
 
     private int maxSessionNumber;
 
-    protected List<ProtocolElement> testElements = new ArrayList<ProtocolElement>();
+    protected List<ProtocolElement> testElements = new ArrayList<>();
 
     private Iterator<ProtocolElement> elementsIterator;
 
@@ -63,7 +63,7 @@ public class ProtocolSession implements ProtocolInteractor {
 
     private boolean continueAfterFailure = false;
 
-    private Map<String, Stopwatch> timers = new HashMap<String, Stopwatch>();
+    private Map<String, Stopwatch> timers = new HashMap<>();
 
     public final boolean isContinueAfterFailure() {
         return continueAfterFailure;
@@ -392,7 +392,7 @@ public class ProtocolSession implements ProtocolInteractor {
      * non-specified order.
      */
     private class ServerUnorderedBlockResponse extends ServerResponse {
-        private List<String> expectedLines = new ArrayList<String>();
+        private List<String> expectedLines = new ArrayList<>();
 
         /**
          * Sets up a ServerUnorderedBlockResponse with the list of expected
@@ -439,7 +439,7 @@ public class ProtocolSession implements ProtocolInteractor {
          *             expected lines.
          */
         protected void checkResponse(Session session, boolean continueAfterFailure) throws Exception {
-            List<String> testLines = new ArrayList<String>(expectedLines);
+            List<String> testLines = new ArrayList<>(expectedLines);
             while (testLines.size() > 0) {
                 String actualLine = readLine(session);
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSessionBuilder.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSessionBuilder.java b/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSessionBuilder.java
index ccf50ed..eb58a60 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSessionBuilder.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/protocol/ProtocolSessionBuilder.java
@@ -200,7 +200,7 @@ public class ProtocolSessionBuilder {
                 }
                 session.SL(sessionNumber, serverMsg, location, lastClientMsg);
             } else if (line.startsWith(OPEN_UNORDERED_BLOCK_TAG)) {
-                List<String> unorderedLines = new ArrayList<String>(5);
+                List<String> unorderedLines = new ArrayList<>(5);
                 line = reader.readLine();
 
                 while (!line.startsWith(CLOSE_UNORDERED_BLOCK_TAG)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/core/src/main/java/org/apache/james/mpt/script/GenericSimpleScriptedTestProtocol.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/main/java/org/apache/james/mpt/script/GenericSimpleScriptedTestProtocol.java b/mpt/core/src/main/java/org/apache/james/mpt/script/GenericSimpleScriptedTestProtocol.java
index 8f0bc0f..64a562f 100644
--- a/mpt/core/src/main/java/org/apache/james/mpt/script/GenericSimpleScriptedTestProtocol.java
+++ b/mpt/core/src/main/java/org/apache/james/mpt/script/GenericSimpleScriptedTestProtocol.java
@@ -72,7 +72,7 @@ public class GenericSimpleScriptedTestProtocol<T extends HostSystem, SELF extend
         this.scriptDirectory = scriptDirectory;
         this.hostSystem = hostSystem;
         this.locale = Locale.getDefault();
-        this.prepareCommands = new ArrayList<PrepareCommand<? super T>>();
+        this.prepareCommands = new ArrayList<>();
     }
 
     @SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java b/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
index f1cb19b..c459572 100644
--- a/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
+++ b/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
@@ -66,8 +66,8 @@ public class DiscardProtocol {
 
     public DiscardProtocol() {
         super();
-        queue = new LinkedList<Server>();
-        runningServers = new LinkedList<Server>();
+        queue = new LinkedList<>();
+        runningServers = new LinkedList<>();
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
index e5eb9c4..b477ddf 100644
--- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
+++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
@@ -59,7 +59,7 @@ public abstract class JamesImapHostSystem implements ImapHostSystem {
 
     public JamesImapHostSystem() {
         super();
-        users = new HashSet<User>();
+        users = new HashSet<>();
         memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting();
         try {
             memoryUsersRepository.configure(userRepositoryConfiguration());

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/session/ImapSessionImpl.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/session/ImapSessionImpl.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/session/ImapSessionImpl.java
index 7703913..e726307 100644
--- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/session/ImapSessionImpl.java
+++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/session/ImapSessionImpl.java
@@ -38,7 +38,7 @@ public class ImapSessionImpl implements ImapSession {
     private final Logger log;
 
     public ImapSessionImpl(Logger log) {
-        this.attributesByKey = new ConcurrentHashMap<String, Object>();
+        this.attributesByKey = new ConcurrentHashMap<>();
         this.log = log;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/InMemoryMailboxUserManager.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/InMemoryMailboxUserManager.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/InMemoryMailboxUserManager.java
index 20b5211..6fda45e 100644
--- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/InMemoryMailboxUserManager.java
+++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/InMemoryMailboxUserManager.java
@@ -35,7 +35,7 @@ public class InMemoryMailboxUserManager implements SubscriptionManager {
     private final Map<String, MailboxUser> users;
 
     public InMemoryMailboxUserManager() {
-        this.users = new HashMap<String, MailboxUser>();
+        this.users = new HashMap<>();
     }
 
     public boolean isAuthentic(String userid, CharSequence password) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/MailboxUser.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/MailboxUser.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/MailboxUser.java
index 0a40125..05f9c89 100644
--- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/MailboxUser.java
+++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/user/MailboxUser.java
@@ -33,7 +33,7 @@ class MailboxUser {
 
     public MailboxUser(String userName) {
         this.userName = userName;
-        this.subscriptions = new HashSet<String>();
+        this.subscriptions = new HashSet<>();
     }
 
     public String getUserName() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java b/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
index 0bb351e..5d5dd3f 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java
@@ -41,7 +41,7 @@ public abstract class AbstractProtocolTransport implements ProtocolTransport{
 
     
     // TODO: Should we limit the size ?
-    private final Queue<Response> responses = new LinkedBlockingQueue<Response>();
+    private final Queue<Response> responses = new LinkedBlockingQueue<>();
     private volatile boolean isAsync = false;
     
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractResponse.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractResponse.java b/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractResponse.java
index 48c2e05..81706ea 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractResponse.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/AbstractResponse.java
@@ -31,7 +31,7 @@ public abstract class AbstractResponse implements Response{
 
 
     private String retCode = null;
-    protected final List<CharSequence> lines = new LinkedList<CharSequence>();
+    protected final List<CharSequence> lines = new LinkedList<>();
     private boolean endSession = false;
     
     protected AbstractResponse() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java b/protocols/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
index 8a38bfc..227f005 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/ProtocolSessionImpl.java
@@ -24,8 +24,6 @@ import java.nio.charset.Charset;
 import java.util.HashMap;
 import java.util.Map;
 
-
-import org.apache.james.protocols.api.ProtocolTransport;
 import org.apache.james.protocols.api.handler.LineHandler;
 import org.apache.james.protocols.api.logger.ContextualLogger;
 import org.apache.james.protocols.api.logger.Logger;
@@ -49,8 +47,8 @@ public class ProtocolSessionImpl implements ProtocolSession {
     public ProtocolSessionImpl(Logger logger, ProtocolTransport transport, ProtocolConfiguration config) {
         this.transport = transport;
         this.pLog = new ContextualLogger(this, logger);
-        this.connectionState = new HashMap<String, Object>();
-        this.sessionState = new HashMap<String, Object>();
+        this.connectionState = new HashMap<>();
+        this.sessionState = new HashMap<>();
         this.config = config;
 
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/main/java/org/apache/james/protocols/api/future/FutureResponseImpl.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/future/FutureResponseImpl.java b/protocols/api/src/main/java/org/apache/james/protocols/api/future/FutureResponseImpl.java
index 8987f82..1716d25 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/future/FutureResponseImpl.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/future/FutureResponseImpl.java
@@ -70,7 +70,7 @@ public class FutureResponseImpl implements FutureResponse{
             listener.onResponse(this);
         } else {
             if (listeners == null) {
-                listeners = new ArrayList<ResponseListener>();
+                listeners = new ArrayList<>();
             }
             listeners.add(listener);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
index 22b8b09..0d296b0 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
@@ -48,9 +48,9 @@ public class CommandDispatcher<Session extends ProtocolSession> implements Exten
     /**
      * The list of available command handlers
      */
-    private final HashMap<String, List<CommandHandler<Session>>> commandHandlerMap = new HashMap<String, List<CommandHandler<Session>>>();
+    private final HashMap<String, List<CommandHandler<Session>>> commandHandlerMap = new HashMap<>();
 
-    private final List<ProtocolHandlerResultHandler<Response, Session>> rHandlers = new ArrayList<ProtocolHandlerResultHandler<Response, Session>>();
+    private final List<ProtocolHandlerResultHandler<Response, Session>> rHandlers = new ArrayList<>();
 
     private final Collection<String> mandatoryCommands;
     
@@ -81,7 +81,7 @@ public class CommandDispatcher<Session extends ProtocolSession> implements Exten
     protected void addToMap(String commandName, CommandHandler<Session> cmdHandler) {
         List<CommandHandler<Session>> handlers = commandHandlerMap.get(commandName);
         if(handlers == null) {
-            handlers = new ArrayList<CommandHandler<Session>>();
+            handlers = new ArrayList<>();
             commandHandlerMap.put(commandName, handlers);
         }
         handlers.add(cmdHandler);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java
index 78e1556..2315f7c 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/MultiLineHandler.java
@@ -46,7 +46,7 @@ public abstract class MultiLineHandler<S extends ProtocolSession> implements Lin
     public Response onLine(S session, ByteBuffer line) {
         Collection<ByteBuffer> lines = (List<ByteBuffer>) session.getAttachment(BUFFERED_LINES, State.Transaction);
         if (lines == null)  {
-            lines = new ArrayList<ByteBuffer>();
+            lines = new ArrayList<>();
             session.setAttachment(BUFFERED_LINES, lines, State.Transaction);
         }
         lines.add(line);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
index 4eb4f8f..531e840 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandlerChainImpl.java
@@ -36,7 +36,7 @@ import java.util.ListIterator;
  */
 public class ProtocolHandlerChainImpl extends AbstractProtocolHandlerChain implements List<ProtocolHandler> {
 
-    private final List<ProtocolHandler> handlers = new ArrayList<ProtocolHandler>();
+    private final List<ProtocolHandler> handlers = new ArrayList<>();
     private volatile boolean readyOnly = false;
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
----------------------------------------------------------------------
diff --git a/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java b/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
index e19db8b..e89f379 100644
--- a/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
+++ b/protocols/api/src/test/java/org/apache/james/protocols/api/AbstractProtocolTransportTest.java
@@ -57,7 +57,7 @@ public class AbstractProtocolTransportTest {
     
     @Test
     public void testWriteOrderFutureResponseAllReady() throws InterruptedException, UnsupportedEncodingException {
-        final List<Response> messages = new ArrayList<Response>();
+        final List<Response> messages = new ArrayList<>();
         for (int i = 0; i < 2000; i++) {
                 FutureResponseImpl r = new FutureResponseImpl();
                 r.setResponse(new TestResponse());
@@ -91,7 +91,7 @@ public class AbstractProtocolTransportTest {
     
     @Test
     public void testWriteOrderMixedResponse() throws InterruptedException, UnsupportedEncodingException {
-        final List<Response> messages = new ArrayList<Response>();
+        final List<Response> messages = new ArrayList<>();
         for (int i = 0; i < 2000; i++) {
             if (i % 2 == 0) {
                 messages.add(new TestResponse());
@@ -127,7 +127,7 @@ public class AbstractProtocolTransportTest {
         }).start();
     }
     private void checkWrittenResponses(List<Response> messages) throws InterruptedException, UnsupportedEncodingException {
-        final List<byte[]> writtenMessages = new ArrayList<byte[]>();
+        final List<byte[]> writtenMessages = new ArrayList<>();
 
         final CountDownLatch latch = new CountDownLatch(messages.size());
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java b/protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java
index cb377e2..49bfe08 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java
@@ -43,8 +43,8 @@ public class CharsetUtil {
 
     // build the sets which holds the charsets and names
     static {
-        Set<String>cNames = new HashSet<String>();
-        Set<Charset> sets = new HashSet<Charset>();
+        Set<String>cNames = new HashSet<>();
+        Set<Charset> sets = new HashSet<>();
 
         for (Charset charset : Charset.availableCharsets().values()) {
             final Set<String> aliases = charset.aliases();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java
index 670224e..5b91c2f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/FetchData.java
@@ -39,7 +39,7 @@ public class FetchData {
 
     private boolean setSeen = false;
 
-    private final Set<BodyFetchElement> bodyElements = new HashSet<BodyFetchElement>();
+    private final Set<BodyFetchElement> bodyElements = new HashSet<>();
 
     private boolean modSeq;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java
index 154bc95..347b05d 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/IdRange.java
@@ -130,7 +130,7 @@ public final class IdRange implements Iterable<Long>, Comparable<IdRange>{
      * @return mergedRanges
      */
     public static List<IdRange> mergeRanges(List<IdRange> ranges) {
-        List<IdRange> copy = new ArrayList<IdRange>(ranges);
+        List<IdRange> copy = new ArrayList<>(ranges);
         Collections.sort(copy);
 
         boolean lastUid = false;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/api/message/MessageFlags.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/MessageFlags.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/MessageFlags.java
index 2a890c0..0c28c6c 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/MessageFlags.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/MessageFlags.java
@@ -79,7 +79,7 @@ public class MessageFlags {
      *         flags.
      */
     public static Collection<String> names(Flags flags) {
-        final Collection<String> results = new ArrayList<String>();
+        final Collection<String> results = new ArrayList<>();
         if (flags.contains(Flags.Flag.ANSWERED)) {
             results.add(ANSWERED_OUTPUT_CAPITALISED);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
index d972442..e499cda 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/UidRange.java
@@ -53,7 +53,7 @@ public final class UidRange implements Iterable<MessageUid> {
     }
 
     private static LinkedList<Range<MessageUid>> mergeContiguousRanges(RangeSet<MessageUid> rangeSet) {
-        LinkedList<Range<MessageUid>> mergedRanges = new LinkedList<Range<MessageUid>>();
+        LinkedList<Range<MessageUid>> mergedRanges = new LinkedList<>();
         
         for (Range<MessageUid> range: rangeSet.asRanges()) {
             Range<MessageUid> previous = mergedRanges.peekLast();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/api/message/request/SearchKey.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/message/request/SearchKey.java b/protocols/imap/src/main/java/org/apache/james/imap/api/message/request/SearchKey.java
index 67fc626..232c500 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/api/message/request/SearchKey.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/api/message/request/SearchKey.java
@@ -300,14 +300,14 @@ public final class SearchKey {
 
     // NOT
     public static SearchKey buildNot(SearchKey key) {
-        final List<SearchKey> keys = new ArrayList<SearchKey>();
+        final List<SearchKey> keys = new ArrayList<>();
         keys.add(key);
         return new SearchKey(TYPE_NOT, null, keys, 0, null, null, null, null, -1, -1);
     }
 
     // OR
     public static SearchKey buildOr(SearchKey keyOne, SearchKey keyTwo) {
-        final List<SearchKey> keys = new ArrayList<SearchKey>();
+        final List<SearchKey> keys = new ArrayList<>();
         keys.add(keyOne);
         keys.add(keyTwo);
         return new SearchKey(TYPE_OR, null, keys, 0, null, null, null, null, -1, -1);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/decode/FetchPartPathDecoder.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/FetchPartPathDecoder.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/FetchPartPathDecoder.java
index 516f23f..3cbac01 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/FetchPartPathDecoder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/FetchPartPathDecoder.java
@@ -335,7 +335,7 @@ public class FetchPartPathDecoder {
     }
 
     private void readHeaderNames(int at, CharSequence sectionSpecification) throws DecodingException {
-        names = new ArrayList<String>();
+        names = new ArrayList<>();
         int firstWordStart = skipSpaces(at, sectionSpecification);
         readHeaderNames(firstWordStart, firstWordStart, sectionSpecification);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
index a0e1f0f..89875bd 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
@@ -668,7 +668,7 @@ public abstract class ImapRequestLineReader {
             return new IdRange[] { parseRange(nextWord) };
         }
 
-        ArrayList<IdRange> rangeList = new ArrayList<IdRange>();
+        ArrayList<IdRange> rangeList = new ArrayList<>();
         int pos = 0;
         while (commaPos != -1) {
             String range = nextWord.substring(pos, commaPos);
@@ -701,7 +701,7 @@ public abstract class ImapRequestLineReader {
             return new UidRange[] { parseUidRange(nextWord) };
         }
 
-        ArrayList<UidRange> rangeList = new ArrayList<UidRange>();
+        ArrayList<UidRange> rangeList = new ArrayList<>();
         int pos = 0;
         while (commaPos != -1) {
             String range = nextWord.substring(pos, commaPos);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java
index bf486e1..7b747af 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/EnableCommandParser.java
@@ -39,7 +39,7 @@ public class EnableCommandParser extends AbstractImapCommandParser {
 
     @Override
     protected ImapMessage decode(ImapCommand command, ImapRequestLineReader request, String tag, ImapSession session) throws DecodingException {
-        List<String> caps = new ArrayList<String>();
+        List<String> caps = new ArrayList<>();
         String cap = request.astring();
         caps.add(cap.toUpperCase(Locale.US));
         while (request.nextChar() == ' ') {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java
index 15c65ac..8dc36be 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/ImapParserFactory.java
@@ -41,7 +41,7 @@ public class ImapParserFactory implements ImapCommandParserFactory {
 
     public ImapParserFactory(StatusResponseFactory statusResponseFactory) {
         this.statusResponseFactory = statusResponseFactory;
-        _imapCommands = new HashMap<String, Class<?>>();
+        _imapCommands = new HashMap<>();
 
         // Commands valid in any state
         // CAPABILITY, NOOP, and LOGOUT

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
index 00b668b..875b2cd 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SearchCommandParser.java
@@ -150,7 +150,7 @@ public class SearchCommandParser extends AbstractUidCommandParser {
 
     private SearchKey paren(ImapSession session, ImapRequestLineReader request, Charset charset) throws DecodingException {
         request.consume();
-        List<SearchKey> keys = new ArrayList<SearchKey>();
+        List<SearchKey> keys = new ArrayList<>();
         addUntilParen(session, request, keys, charset);
         return SearchKey.buildAnd(keys);
     }
@@ -884,7 +884,7 @@ public class SearchCommandParser extends AbstractUidCommandParser {
         final SearchKey firstKey = searchKey(session, request, null, true);
         final SearchKey result;
         if (request.nextChar() == ' ') {
-            List<SearchKey> keys = new ArrayList<SearchKey>();
+            List<SearchKey> keys = new ArrayList<>();
             keys.add(firstKey);
             while (request.nextChar() == ' ') {
                 request.nextWordChar();
@@ -909,7 +909,7 @@ public class SearchCommandParser extends AbstractUidCommandParser {
      * Parse the {@link SearchResultOption}'s which are used for ESEARCH
      */
     private List<SearchResultOption> parseOptions(ImapRequestLineReader reader) throws DecodingException {
-        List<SearchResultOption> options = new ArrayList<SearchResultOption>();
+        List<SearchResultOption> options = new ArrayList<>();
         reader.consumeChar('(');
         reader.nextWordChar();
         
@@ -1017,7 +1017,7 @@ public class SearchCommandParser extends AbstractUidCommandParser {
             
             
             if (options == null) {
-                options = new ArrayList<SearchResultOption>();
+                options = new ArrayList<>();
             }
 
             return new SearchRequest(command, new SearchOperation(finalKey, options), useUids, tag);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
index f66efc2..b31f7ad 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Locale;
 
 import org.apache.james.imap.api.ImapMessage;
 import org.apache.james.imap.api.display.HumanReadableText;
@@ -49,7 +48,7 @@ public class ContinuationResponseEncoder extends AbstractChainedImapEncoder {
 
     private String asString(HumanReadableText text, ImapSession session) {
         // TODO: calculate locales
-        return localizer.localize(text, new Locales(new ArrayList<Locale>(), null));
+        return localizer.localize(text, new Locales(new ArrayList<>(), null));
     }
 
     protected boolean isAcceptable(ImapMessage message) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
index 81c8975..53e5910 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
@@ -196,7 +196,7 @@ public class FetchResponseEncoder extends AbstractChainedImapEncoder {
         } else {
             composer.openParen();
             final Set<String> keySet = params.keySet();
-            final Collection<String> names = new TreeSet<String>(keySet);
+            final Collection<String> names = new TreeSet<>(keySet);
             for (String name : names) {
                 final String value = params.get(name);
                 if (value == null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
index c24dba1..81b7309 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/ListingEncodingUtils.java
@@ -61,7 +61,7 @@ public class ListingEncodingUtils {
     private static List<String> getNameAttributes(AbstractListingResponse response) {
         final List<String> attributes;
         if (response.isNameAttributed()) {
-            attributes = new ArrayList<String>();
+            attributes = new ArrayList<>();
             if (response.isNoInferiors()) {
                 attributes.add(ImapConstants.NAME_ATTRIBUTE_NOINFERIORS);
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java
index e01de28..90b6789 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Locale;
 
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapMessage;
@@ -102,7 +101,7 @@ public class StatusResponseEncoder extends AbstractChainedImapEncoder {
 
     private String asString(HumanReadableText text, ImapSession session) {
         // TODO: calculate locales
-        return localizer.localize(text, new Locales(new ArrayList<Locale>(), null));
+        return localizer.localize(text, new Locales(new ArrayList<>(), null));
     }
 
     private String asString(StatusResponse.ResponseCode code) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/message/request/SetQuotaRequest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/message/request/SetQuotaRequest.java b/protocols/imap/src/main/java/org/apache/james/imap/message/request/SetQuotaRequest.java
index b39f33c..1af01a9 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/message/request/SetQuotaRequest.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/message/request/SetQuotaRequest.java
@@ -19,11 +19,11 @@
 
 package org.apache.james.imap.message.request;
 
-import org.apache.james.imap.api.ImapCommand;
-
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.james.imap.api.ImapCommand;
+
 /**
  * SETQUOTA request
  */
@@ -53,7 +53,7 @@ public class SetQuotaRequest extends AbstractImapRequest {
     public SetQuotaRequest(String tag, ImapCommand command, String quotaRoot) {
         super(tag, command);
         this.quotaRoot = quotaRoot;
-        this.resourceLimits = new ArrayList<ResourceLimit>();
+        this.resourceLimits = new ArrayList<>();
     }
 
     public void addResourceLimit(String resource, long limit) {
@@ -61,7 +61,7 @@ public class SetQuotaRequest extends AbstractImapRequest {
     }
 
     public List<ResourceLimit> getResourceLimits() {
-        return new ArrayList<ResourceLimit>(resourceLimits);
+        return new ArrayList<>(resourceLimits);
     }
 
     public String getQuotaRoot() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
index 66e828f..3c2fa43 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
@@ -558,7 +558,7 @@ abstract public class AbstractMailboxProcessor<M extends ImapRequest> extends Ab
         if (metaData.getHighestModSeq() > changedSince) {
             SearchQuery searchQuery = new SearchQuery();
             SearchQuery.UidRange[] nRanges = new SearchQuery.UidRange[ranges.size()];
-            Set<MessageUid> vanishedUids = new HashSet<MessageUid>();
+            Set<MessageUid> vanishedUids = new HashSet<>();
             for (int i = 0; i < ranges.size(); i++) {
                 MessageRange r = ranges.get(i);
                 SearchQuery.UidRange nr;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
index 8663bb4..1d3ff26 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
@@ -76,7 +76,7 @@ public abstract class AbstractMessageRangeProcessor<M extends AbstractMessageRan
 
                 final MessageManager mailbox = mailboxManager.getMailbox(targetMailbox, mailboxSession);
 
-                List<IdRange> resultRanges = new ArrayList<IdRange>();
+                List<IdRange> resultRanges = new ArrayList<>();
                 for (IdRange range : idSet) {
                     MessageRange messageSet = messageRange(currentMailbox, range, useUids);
                     if (messageSet != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
index 4a80611..18f5e0b 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
@@ -217,7 +217,7 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
                     if (knownSequences != null && knownUids != null) {
                         
                         // Add all uids which are contained in the knownuidsset to a List so we can later access them via the index
-                        List<MessageUid> knownUidsList = new ArrayList<MessageUid>();
+                        List<MessageUid> knownUidsList = new ArrayList<>();
                         for (UidRange range : knownUids) {
                             for (MessageUid uid : range) {
                                 knownUidsList.add(uid);
@@ -258,7 +258,7 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
                                 firstUid = firstUid.next();
 
                                 // Ok now its time to filter out the IdRanges which we are not interested in
-                                List<UidRange> filteredUidSet = new ArrayList<UidRange>();
+                                List<UidRange> filteredUidSet = new ArrayList<>();
                                 for (UidRange r : uidSet) {
                                     if (r.getLowVal().compareTo(firstUid) < 0) {
                                         if (r.getHighVal().compareTo(firstUid) > 0) {
@@ -277,7 +277,7 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
                         
                     }
                     
-                    List<MessageRange> ranges = new ArrayList<MessageRange>();
+                    List<MessageRange> ranges = new ArrayList<>();
                     for (UidRange range : uidSet) {
                         MessageRange messageSet = range.toMessageRange();
                         if (messageSet != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
index a26d74d..f50ace2 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
@@ -148,7 +148,7 @@ public class AuthenticateProcessor extends AbstractAuthProcessor<AuthenticateReq
      * #getImplementedCapabilities(org.apache.james.imap.api.process.ImapSession)
      */
     public List<String> getImplementedCapabilities(ImapSession session) {
-        List<String> caps = new ArrayList<String>();
+        List<String> caps = new ArrayList<>();
         // Only ounce AUTH=PLAIN if the session does allow plain auth or TLS is active.
         // See IMAP-304
         if (session.isPlainAuthDisallowed()  == false || session.isTLSActive()) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
index 828c442..f9f3048 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
@@ -48,7 +48,7 @@ public class CapabilityProcessor extends AbstractMailboxProcessor<CapabilityRequ
     private final static List<String> CAPS;
     
     static {
-        List<String> caps = new ArrayList<String>();
+        List<String> caps = new ArrayList<>();
         caps.add(VERSION);
         caps.add(SUPPORTS_LITERAL_PLUS);
         caps.add(SUPPORTS_RFC3348);
@@ -61,8 +61,8 @@ public class CapabilityProcessor extends AbstractMailboxProcessor<CapabilityRequ
         CAPS = Collections.unmodifiableList(caps);
     }
     
-    private final List<CapabilityImplementingProcessor> capabilities = new ArrayList<CapabilityImplementingProcessor>();
-    private final Set<String> disabledCaps = new HashSet<String>();
+    private final List<CapabilityImplementingProcessor> capabilities = new ArrayList<>();
+    private final Set<String> disabledCaps = new HashSet<>();
     
     public CapabilityProcessor(ImapProcessor next, MailboxManager mailboxManager, StatusResponseFactory factory, List<CapabilityImplementingProcessor> capabilities,
             MetricFactory metricFactory) {
@@ -132,7 +132,7 @@ public class CapabilityProcessor extends AbstractMailboxProcessor<CapabilityRequ
      * @return supported
      */
     public Set<String> getSupportedCapabilities(ImapSession session) {
-        Set<String> caps = new HashSet<String>();
+        Set<String> caps = new HashSet<>();
         for (CapabilityImplementingProcessor capability : capabilities) {
             caps.addAll(capability.getImplementedCapabilities(session));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
index b07af73..50ddb9e 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
@@ -43,7 +43,7 @@ import org.apache.james.metrics.api.MetricFactory;
 
 public class EnableProcessor extends AbstractMailboxProcessor<EnableRequest> implements CapabilityImplementingProcessor {
 
-    private final static List<PermitEnableCapabilityProcessor> capabilities = new ArrayList<PermitEnableCapabilityProcessor>();
+    private final static List<PermitEnableCapabilityProcessor> capabilities = new ArrayList<>();
     public final static String ENABLED_CAPABILITIES = "ENABLED_CAPABILITIES";
     private final static List<String> CAPS = Collections.unmodifiableList(Arrays.asList(SUPPORTS_ENABLE));
     private final CapabilityProcessor capabilityProcessor;
@@ -86,7 +86,7 @@ public class EnableProcessor extends AbstractMailboxProcessor<EnableRequest> imp
     }
    
     public Set<String> enable(ImapRequest request, Responder responder, ImapSession session, Iterator<String> caps) throws EnableException {
-        Set<String> enabledCaps = new HashSet<String>();
+        Set<String> enabledCaps = new HashSet<>();
         while(caps.hasNext()) {
             String cap = caps.next();
             // Check if the CAPABILITY is supported at all
@@ -123,7 +123,7 @@ public class EnableProcessor extends AbstractMailboxProcessor<EnableRequest> imp
         Set<String> caps = (Set<String>) session.getAttribute(ENABLED_CAPABILITIES);
         
         if (caps == null) {
-            caps = new HashSet<String>();
+            caps = new HashSet<>();
             session.setAttribute(ENABLED_CAPABILITIES, caps);
         } 
         return caps;


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


[18/18] james-project git commit: JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can be removed"

Posted by bt...@apache.org.
JAMES-2107 Run IntelliJ inspection: "Explicit type parameter can 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/03b574c9
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/03b574c9
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/03b574c9

Branch: refs/heads/master
Commit: 03b574c98b45f8f52ed647aa7a49acab1abe98ed
Parents: cb0f621
Author: benwa <bt...@linagora.com>
Authored: Wed Aug 2 09:02:44 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Aug 16 16:44:08 2017 +0700

----------------------------------------------------------------------
 .../james/backends/jpa/JpaTestCluster.java      |  2 +-
 .../acl/SimpleGroupMembershipResolver.java      |  2 +-
 .../mailbox/acl/UnionMailboxACLResolver.java    |  2 +-
 .../james/mailbox/model/FetchGroupImpl.java     |  4 +-
 .../apache/james/mailbox/model/MailboxPath.java |  2 +-
 .../james/mailbox/model/MessageRange.java       |  6 +--
 .../apache/james/mailbox/model/SearchQuery.java | 12 +++---
 .../james/mailbox/model/SimpleMailboxACL.java   | 16 ++++----
 .../james/mailbox/MailboxManagerStressTest.java |  4 +-
 .../james/mailbox/mock/MockMailboxSession.java  |  6 +--
 .../mailbox/model/SimpleMailboxACLTest.java     | 20 +++++-----
 .../james/mailbox/util/EventCollector.java      |  2 +-
 .../apache/james/mailbox/hbase/HBaseUtils.java  |  2 +-
 .../mailbox/hbase/mail/HBaseMailboxMapper.java  | 10 ++---
 .../mailbox/hbase/mail/HBaseMailboxMessage.java |  6 +--
 .../mailbox/hbase/mail/HBaseMessageMapper.java  | 20 +++++-----
 .../hbase/user/HBaseSubscriptionMapper.java     |  2 +-
 .../hbase/mail/HBaseMailboxMapperTest.java      |  6 +--
 .../mail/HBaseMailboxMessageMapperTest.java     |  6 +--
 .../mail/HBaseUidAndModSeqProviderTest.java     | 20 ++++++++--
 .../hbase/user/HBaseSubscriptionMapperTest.java | 26 +++++++++----
 .../mailbox/jcr/mail/JCRMailboxMapper.java      |  4 +-
 .../mailbox/jcr/mail/JCRMessageMapper.java      | 20 +++++-----
 .../jcr/mail/model/JCRMailboxMessage.java       |  8 ++--
 .../mailbox/jcr/user/JCRSubscriptionMapper.java |  4 +-
 .../mailbox/jcr/user/model/JCRSubscription.java |  2 +-
 .../mailbox/jpa/mail/JPAMessageMapper.java      |  2 +-
 .../openjpa/AbstractJPAMailboxMessage.java      | 10 ++---
 .../lucene/search/LuceneMessageSearchIndex.java |  8 ++--
 .../LuceneMailboxMessageSearchIndexTest.java    |  8 ++--
 .../james/mailbox/maildir/MaildirFolder.java    | 22 +++++------
 .../james/mailbox/maildir/UidConstraint.java    |  2 +-
 .../maildir/mail/MaildirMailboxMapper.java      |  6 +--
 .../maildir/mail/MaildirMessageMapper.java      | 16 ++++----
 .../maildir/user/MaildirSubscriptionMapper.java |  2 +-
 .../maildir/MailderMailboxMessageNameTest.java  |  2 +-
 .../inmemory/mail/InMemoryAttachmentMapper.java |  2 +-
 .../inmemory/mail/InMemoryMailboxMapper.java    |  4 +-
 .../inmemory/mail/InMemoryMessageMapper.java    | 10 ++---
 .../inmemory/mail/InMemoryModSeqProvider.java   |  2 +-
 .../inmemory/mail/InMemoryUidProvider.java      |  2 +-
 .../quota/InMemoryPerUserMaxQuotaManager.java   |  6 +--
 .../user/InMemorySubscriptionMapper.java        |  4 +-
 .../james/mailbox/store/FakeAuthenticator.java  |  2 +-
 .../mailbox/store/JVMMailboxPathLocker.java     | 12 +++---
 .../james/mailbox/store/MailboxMetaData.java    |  2 +-
 .../james/mailbox/store/MessageBatcher.java     |  2 +-
 .../james/mailbox/store/MessageResultImpl.java  |  2 +-
 .../james/mailbox/store/MimeDescriptorImpl.java |  6 +--
 .../apache/james/mailbox/store/ResultUtils.java |  2 +-
 .../mailbox/store/SimpleMailboxSession.java     |  4 +-
 .../mailbox/store/StoreMailboxManager.java      |  7 ++--
 .../mailbox/store/StoreMessageIdManager.java    |  2 +-
 .../mailbox/store/StoreMessageManager.java      | 20 +++++-----
 .../store/event/MailboxListenerRegistry.java    |  2 +-
 .../distributed/DistantMailboxPathRegister.java | 20 +++++-----
 .../store/extractor/DefaultTextExtractor.java   |  5 +--
 .../store/json/event/EventConverter.java        |  4 +-
 .../dto/MailboxSessionDataTransferObject.java   |  4 +-
 .../store/mail/AbstractMessageMapper.java       |  2 +-
 .../store/mail/model/impl/PropertyBuilder.java  |  4 +-
 .../store/search/LazyMessageSearchIndex.java    |  2 +-
 .../james/mailbox/store/search/SearchUtil.java  |  2 +-
 .../store/search/SimpleMessageSearchIndex.java  |  4 +-
 .../store/streaming/PartContentBuilder.java     |  4 +-
 .../james/mailbox/store/MessageBuilder.java     |  2 +-
 .../store/SearchUtilsMultipartMixedTest.java    |  2 +-
 .../mailbox/store/SearchUtilsRFC822Test.java    |  2 +-
 .../james/mailbox/store/SearchUtilsTest.java    |  2 +-
 .../mailbox/store/SimpleMailboxMembership.java  |  2 +-
 .../StoreMailboxMessageResultIteratorTest.java  |  4 +-
 .../store/TestMailboxSessionMapperFactory.java  |  2 +-
 ...elegatingMailboxListenerIntegrationTest.java |  7 ++--
 .../mailbox/store/json/EventSerializerTest.java |  4 +-
 .../json/SimpleMailboxACLJsonConverterTest.java |  7 ++--
 .../store/mail/model/MetadataMapAssertTest.java |  8 ++--
 .../james/mailbox/copier/MailboxCopierImpl.java |  2 +-
 .../registrations/GlobalRegistration.java       |  9 +++--
 .../registrations/MailboxRegistrationTest.java  |  4 +-
 .../james/ai/classic/BayesianAnalyzer.java      | 16 ++++----
 .../james/ai/classic/JDBCBayesianAnalyzer.java  |  2 +-
 .../apache/james/ai/classic/SqlResources.java   | 10 ++---
 .../org/apache/mailet/base/GenericMailet.java   |  4 +-
 .../mailet/base/GenericRecipientMatcher.java    |  2 +-
 .../org/apache/mailet/base/MatcherInverter.java |  2 +-
 .../org/apache/mailet/base/StringUtils.java     |  2 +-
 .../mailet/base/test/FakeMailContext.java       | 10 ++---
 .../apache/james/transport/KeyStoreHolder.java  |  2 +-
 .../apache/james/transport/SMIMEKeyHolder.java  |  2 +-
 .../transport/mailets/SMIMECheckSignature.java  |  4 +-
 .../james/transport/mailets/SMIMEDecrypt.java   |  2 +-
 .../mailet/DefaultDescriptorsExtractor.java     |  6 +--
 .../james/transport/mailets/ClamAVScan.java     |  2 +-
 .../james/transport/mailets/HeadersToHTTP.java  |  2 +-
 .../james/transport/mailets/OnlyText.java       | 15 ++++----
 .../transport/mailets/PostmasterAlias.java      | 13 ++++---
 .../transport/mailets/StripAttachment.java      |  4 +-
 .../matchers/AbstractQuotaMatcher.java          |  9 +++--
 .../matchers/AttachmentFileNameIs.java          | 27 ++++++-------
 .../apache/james/transport/matchers/HostIs.java |  8 ++--
 .../transport/matchers/SMTPAuthUserIs.java      |  4 +-
 .../james/mpt/ant/MailProtocolTestTask.java     |  2 +-
 .../protocol/FileProtocolSessionBuilder.java    |  2 +-
 .../james/mpt/protocol/ProtocolSession.java     |  8 ++--
 .../mpt/protocol/ProtocolSessionBuilder.java    |  2 +-
 .../GenericSimpleScriptedTestProtocol.java      |  2 +-
 .../org/apache/james/mpt/DiscardProtocol.java   |  4 +-
 .../james/mpt/host/JamesImapHostSystem.java     |  2 +-
 .../james/mpt/session/ImapSessionImpl.java      |  2 +-
 .../mpt/user/InMemoryMailboxUserManager.java    |  2 +-
 .../org/apache/james/mpt/user/MailboxUser.java  |  2 +-
 .../api/AbstractProtocolTransport.java          |  2 +-
 .../james/protocols/api/AbstractResponse.java   |  2 +-
 .../protocols/api/ProtocolSessionImpl.java      |  6 +--
 .../api/future/FutureResponseImpl.java          |  2 +-
 .../api/handler/CommandDispatcher.java          |  6 +--
 .../protocols/api/handler/MultiLineHandler.java |  2 +-
 .../api/handler/ProtocolHandlerChainImpl.java   |  2 +-
 .../api/AbstractProtocolTransportTest.java      |  6 +--
 .../james/imap/api/display/CharsetUtil.java     |  4 +-
 .../james/imap/api/message/FetchData.java       |  2 +-
 .../apache/james/imap/api/message/IdRange.java  |  2 +-
 .../james/imap/api/message/MessageFlags.java    |  2 +-
 .../apache/james/imap/api/message/UidRange.java |  2 +-
 .../imap/api/message/request/SearchKey.java     |  4 +-
 .../james/imap/decode/FetchPartPathDecoder.java |  2 +-
 .../imap/decode/ImapRequestLineReader.java      |  4 +-
 .../imap/decode/parser/EnableCommandParser.java |  2 +-
 .../imap/decode/parser/ImapParserFactory.java   |  2 +-
 .../imap/decode/parser/SearchCommandParser.java |  8 ++--
 .../encode/ContinuationResponseEncoder.java     |  3 +-
 .../james/imap/encode/FetchResponseEncoder.java |  2 +-
 .../james/imap/encode/ListingEncodingUtils.java |  2 +-
 .../imap/encode/StatusResponseEncoder.java      |  3 +-
 .../imap/message/request/SetQuotaRequest.java   |  8 ++--
 .../processor/AbstractMailboxProcessor.java     |  2 +-
 .../AbstractMessageRangeProcessor.java          |  2 +-
 .../processor/AbstractSelectionProcessor.java   |  6 +--
 .../imap/processor/AuthenticateProcessor.java   |  2 +-
 .../imap/processor/CapabilityProcessor.java     |  8 ++--
 .../james/imap/processor/EnableProcessor.java   |  6 +--
 .../james/imap/processor/LSubProcessor.java     |  2 +-
 .../james/imap/processor/ListProcessor.java     |  2 +-
 .../imap/processor/NamespaceProcessor.java      |  6 +--
 .../james/imap/processor/SearchProcessor.java   | 18 ++++-----
 .../james/imap/processor/StoreProcessor.java    | 10 ++---
 .../processor/base/SelectedMailboxImpl.java     | 12 +++---
 .../imap/processor/base/UidMsnConverter.java    |  2 +-
 .../imap/processor/fetch/EnvelopeBuilder.java   |  2 +-
 .../imap/processor/fetch/FetchProcessor.java    |  2 +-
 .../processor/fetch/FetchResponseBuilder.java   |  2 +-
 .../processor/fetch/MessageResultUtils.java     |  8 ++--
 .../fetch/MimeDescriptorStructure.java          |  4 +-
 .../org/apache/james/imap/api/IdRangeTest.java  | 14 ++++---
 .../SearchCommandParserAndParenthesesTest.java  |  2 +-
 .../SearchCommandParserTopLevelAndTest.java     |  6 +--
 .../james/imap/encode/FakeImapSession.java      |  2 +-
 .../FetchResponseEncoderNoExtensionsTest.java   | 11 +++---
 .../imap/encode/ListingEncodingUtilsTest.java   |  7 ++--
 .../encode/NamespaceResponseEncoderTest.java    | 11 +++---
 .../james/imap/processor/LSubProcessorTest.java |  4 +-
 .../imap/processor/NamespaceProcessorTest.java  |  8 ++--
 .../imap/processor/SearchProcessorTest.java     |  7 ++--
 .../processor/base/SelectedMailboxImplTest.java |  2 +-
 .../fetch/MailboxMessageResultUtilsTest.java    |  2 +-
 .../james/protocols/lmtp/LMTPMultiResponse.java |  4 +-
 .../lmtp/LMTPProtocolHandlerChain.java          |  4 +-
 .../lmtp/core/DataLineMessageHookHandler.java   |  4 +-
 .../protocols/lmtp/AbstractLMTPSServerTest.java |  2 +-
 .../protocols/lmtp/AbstractLMTPServerTest.java  |  6 +--
 .../james/managesieve/core/CoreProcessor.java   |  2 +-
 .../apache/james/managesieve/jsieve/Parser.java |  2 +-
 .../protocols/netty/AbstractAsyncServer.java    |  2 +-
 .../ConnectionPerIpLimitUpstreamHandler.java    |  2 +-
 .../pop3/POP3ProtocolHandlerChain.java          |  4 +-
 .../james/protocols/pop3/POP3Response.java      |  2 +-
 .../protocols/pop3/core/CapaCmdHandler.java     |  3 +-
 .../protocols/pop3/core/ListCmdHandler.java     |  2 +-
 .../protocols/pop3/core/StatCmdHandler.java     |  4 +-
 .../protocols/pop3/core/StlsCmdHandler.java     |  2 +-
 .../protocols/pop3/core/TopCmdHandler.java      |  2 +-
 .../protocols/pop3/core/UidlCmdHandler.java     | 29 +++++++-------
 .../protocols/pop3/core/UserCmdHandler.java     | 24 ++++++------
 .../protocols/pop3/AbstractPOP3ServerTest.java  |  2 +-
 .../james/protocols/pop3/utils/MockMailbox.java |  2 +-
 .../pop3/utils/TestPassCmdHandler.java          |  2 +-
 .../smtp/SMTPProtocolHandlerChain.java          |  2 +-
 .../james/protocols/smtp/SMTPResponse.java      |  2 +-
 .../smtp/core/AbstractAddHeadersFilter.java     |  2 +-
 .../smtp/core/AbstractHookableCmdHandler.java   |  2 +-
 .../protocols/smtp/core/DataCmdHandler.java     |  2 +-
 .../smtp/core/DataLineMessageHookHandler.java   |  2 +-
 .../protocols/smtp/core/MailCmdHandler.java     |  2 +-
 .../protocols/smtp/core/RcptCmdHandler.java     |  2 +-
 .../smtp/core/esmtp/AuthCmdHandler.java         |  2 +-
 .../smtp/core/fastfail/SpamTrapHandler.java     |  4 +-
 .../smtp/core/fastfail/DNSRBLHandlerTest.java   |  6 +--
 .../smtp/core/fastfail/MaxRcptHandlerTest.java  |  8 ++--
 .../core/fastfail/MaxUnknownCmdHandlerTest.java |  7 ++--
 .../fastfail/ResolvableEhloHeloHandlerTest.java | 12 +++---
 .../smtp/core/fastfail/SpamTrapHandlerTest.java |  8 ++--
 .../fastfail/ValidSenderDomainHandlerTest.java  |  2 +-
 .../protocols/smtp/utils/TestMessageHook.java   |  2 +-
 .../org/apache/james/cli/ServerCmdTest.java     |  5 +--
 .../java/org/apache/james/core/MailImpl.java    | 40 ++++++++++----------
 .../core/MimeMessageInputStreamSource.java      |  2 +-
 .../org/apache/james/core/MailImplTest.java     | 21 ++++++----
 .../core/MimeMessageCopyOnWriteProxyTest.java   | 21 ++++++----
 .../james/modules/mailbox/JPAMailboxModule.java |  2 +-
 .../james/onami/lifecycle/DefaultStager.java    |  2 +-
 .../james/onami/lifecycle/PreDestroyModule.java |  2 +-
 .../onami/lifecycle/DefaultStagerTestCase.java  |  4 +-
 .../onami/lifecycle/StagingOrderTestCase.java   |  2 +-
 .../mailbox/MailboxCopierManagement.java        |  2 +-
 .../mailbox/MailboxManagerManagement.java       |  2 +-
 .../MailRepositoryStoreBeanFactory.java         | 20 +++++-----
 .../lifecycle/ConfigurationProviderImpl.java    |  2 +-
 .../spring/lifecycle/LogProviderImpl.java       |  4 +-
 .../mailbox/MaxQuotaConfigurationReader.java    | 10 ++---
 .../org/apache/james/util/IteratorWrapper.java  |  2 +-
 .../james/util/RestrictingRMISocketFactory.java |  2 +-
 .../org/apache/james/util/TimeConverter.java    |  2 +-
 .../james/util/bayesian/BayesianAnalyzer.java   | 16 ++++----
 .../util/bayesian/JDBCBayesianAnalyzer.java     | 20 +++++-----
 .../util/concurrency/ConcurrentTestRunner.java  |  2 +-
 .../JMXEnabledScheduledThreadPoolExecutor.java  |  2 +-
 .../JMXEnabledThreadPoolExecutor.java           |  8 ++--
 .../james/util/scanner/SpamAssassinInvoker.java | 16 ++++----
 .../org/apache/james/util/sql/SqlResources.java | 27 ++++++-------
 .../apache/james/util/IteratorWrapperTest.java  |  8 ++--
 .../concurrency/ConcurrentTestRunnerTest.java   |  6 +--
 .../util/retry/ExceptionRetryHandlerTest.java   |  7 +++-
 .../james/domainlist/xml/XMLDomainList.java     |  4 +-
 .../mailrepository/file/FileMailRepository.java |  8 ++--
 .../mailrepository/file/MBoxMailRepository.java | 10 ++---
 .../rrt/file/XMLRecipientRewriteTable.java      |  2 +-
 .../file/SieveFileRepository.java               |  2 +-
 .../james/domainlist/xml/XMLDomainListTest.java | 12 +++---
 .../rrt/file/XMLRecipientRewriteTableTest.java  |  2 +-
 .../james/domainlist/hbase/HBaseDomainList.java |  2 +-
 .../rrt/hbase/HBaseRecipientRewriteTable.java   |  2 +-
 .../james/user/hbase/HBaseUsersRepository.java  |  2 +-
 .../mailrepository/jcr/JCRMailRepository.java   |  4 +-
 .../james/user/jcr/JCRUsersRepository.java      |  2 +-
 .../mailrepository/jdbc/JDBCMailRepository.java | 12 +++---
 .../rrt/jdbc/JDBCRecipientRewriteTable.java     |  6 +--
 .../user/jdbc/AbstractJdbcUsersRepository.java  |  8 ++--
 .../james/domainlist/jpa/JPADomainList.java     |  2 +-
 .../james/rrt/jpa/JPARecipientRewriteTable.java |  2 +-
 .../user/ldap/ReadOnlyLDAPGroupRestriction.java | 21 +++++-----
 .../user/ldap/ReadOnlyUsersLDAPRepository.java  |  6 +--
 .../domainlist/lib/AbstractDomainList.java      |  2 +-
 .../apache/james/mailrepository/lib/Lock.java   |  2 +-
 .../org/apache/james/rrt/lib/MappingsImpl.java  |  2 +-
 .../rrt/lib/RecipientRewriteTableUtil.java      |  4 +-
 .../user/lib/AbstractJamesUsersRepository.java  |  2 +-
 .../user/lib/UsersRepositoryManagement.java     | 17 +++++----
 .../domainlist/api/mock/SimpleDomainList.java   |  2 +-
 .../AbstractMailRepositoryTest.java             | 11 +++++-
 .../mock/MockMailRepositoryStore.java           |  4 +-
 .../user/lib/AbstractUsersRepositoryTest.java   |  4 +-
 .../user/lib/mock/InMemoryUsersRepository.java  |  4 +-
 .../domainlist/memory/MemoryDomainList.java     |  2 +-
 .../rrt/memory/MemoryRecipientRewriteTable.java |  2 +-
 .../user/memory/MemoryUsersRepository.java      |  2 +-
 .../dnsservice/dnsjava/DNSJavaService.java      | 37 +++++++++---------
 .../dnsservice/dnsjava/DNSJavaServiceTest.java  | 25 ++++++------
 .../api/mock/MockMailetContext.java             |  6 +--
 .../mailetcontainer/api/mock/MockMatcher.java   |  4 +-
 .../impl/JamesMailetContext.java                |  8 ++--
 .../mailetcontainer/impl/MailetConfigImpl.java  | 12 +++---
 .../impl/camel/MatcherSplitter.java             | 10 ++---
 .../jmx/JMXStateCompositeProcessorListener.java |  6 +--
 .../jmx/JMXStateMailetProcessorListener.java    |  8 ++--
 .../impl/jmx/MailetManagement.java              |  2 +-
 .../impl/matchers/GenericCompositeMatcher.java  |  2 +-
 .../mailetcontainer/impl/matchers/Not.java      |  2 +-
 .../james/mailetcontainer/impl/matchers/Or.java |  2 +-
 .../mailetcontainer/impl/matchers/Xor.java      |  9 +++--
 .../lib/AbstractStateCompositeProcessor.java    |  2 +-
 .../lib/AbstractStateMailetProcessor.java       |  6 +--
 .../impl/MailetConfigImplTest.java              | 11 +++---
 .../mailets/AbstractRecipientRewriteTable.java  |  8 ++--
 .../james/transport/mailets/FromRepository.java |  2 +-
 .../james/transport/mailets/JDBCAlias.java      |  4 +-
 .../transport/mailets/WhiteListManager.java     |  6 +--
 .../mailets/XMLRecipientRewriteTable.java       |  2 +-
 .../mailets/delivery/MailDispatcher.java        |  2 +-
 .../mailets/jsieve/ActionDispatcher.java        | 11 +++---
 .../mailets/jsieve/RedirectAction.java          |  2 +-
 .../transport/mailets/jsieve/RejectAction.java  |  2 +-
 .../mailets/jsieve/SieveMailAdapter.java        | 18 ++++-----
 .../matchers/AbstractSQLWhitelistMatcher.java   |  4 +-
 .../james/transport/matchers/IsOverQuota.java   | 15 ++++----
 .../matchers/NetworkIsInWhitelist.java          |  4 +-
 .../transport/mailets/RecordingMailContext.java |  2 +-
 .../org/apache/james/fetchmail/Account.java     |  2 +-
 .../org/apache/james/fetchmail/FetchMail.java   | 35 ++++++++---------
 .../apache/james/fetchmail/FetchScheduler.java  |  2 +-
 .../james/fetchmail/MessageProcessor.java       | 24 ++++++------
 .../james/fetchmail/ParsedConfiguration.java    |  2 +-
 .../jmap/json/MultipleClassesDeserializer.java  |  2 +-
 .../apache/james/jmap/send/MailSpoolTest.java   |  2 +-
 .../imapserver/netty/IMAPServerFactory.java     |  2 +-
 .../james/imapserver/netty/NettyConstants.java  |  2 +-
 .../imapserver/netty/NettyImapSession.java      |  2 +-
 .../protocols/lib/ProtocolHandlerChainImpl.java |  2 +-
 .../AbstractCommandHandlerResultJMXMonitor.java | 10 +++--
 .../AbstractConnectHandlerResultJMXMonitor.java |  8 ++--
 .../AbstractLineHandlerResultJMXMonitor.java    | 10 +++--
 .../netty/AbstractConfigurableAsyncServer.java  |  2 +-
 ...ledOrderedMemoryAwareThreadPoolExecutor.java |  2 +-
 .../lib/mock/MockProtocolHandlerLoader.java     |  6 +--
 .../james/lmtpserver/CoreCmdHandlerLoader.java  |  2 +-
 .../james/lmtpserver/DataLineLMTPHandler.java   | 16 ++++----
 .../james/lmtpserver/jmx/JMXHandlersLoader.java |  2 +-
 .../lmtpserver/netty/LMTPServerFactory.java     |  2 +-
 .../ManageSieveChannelUpstreamHandler.java      |  9 +++--
 .../netty/ManageSieveServerFactory.java         |  2 +-
 .../pop3server/core/CoreCmdHandlerLoader.java   |  2 +-
 .../james/pop3server/jmx/JMXHandlersLoader.java |  2 +-
 .../pop3server/mailbox/MailboxAdapter.java      |  4 +-
 .../pop3server/netty/POP3ServerFactory.java     |  2 +-
 .../james/smtpserver/CoreCmdHandlerLoader.java  |  2 +-
 .../DataLineJamesMessageHookHandler.java        | 28 +++++++-------
 .../james/smtpserver/MailPriorityHandler.java   |  2 +-
 .../org/apache/james/smtpserver/TLDLookup.java  |  4 +-
 .../smtpserver/fastfail/DNSRBLHandler.java      |  4 +-
 .../fastfail/JDBCGreylistHandler.java           |  6 +--
 .../smtpserver/fastfail/URIRBLHandler.java      |  4 +-
 .../james/smtpserver/fastfail/URIScanner.java   |  2 +-
 .../smtpserver/jmx/HookResultJMXMonitor.java    |  4 +-
 .../james/smtpserver/jmx/JMXHandlersLoader.java |  2 +-
 .../james/smtpserver/netty/SMTPServer.java      |  2 +-
 .../smtpserver/netty/SMTPServerFactory.java     |  2 +-
 .../apache/james/smtpserver/SMTPServerTest.java | 15 ++++----
 .../apache/james/smtpserver/SPFHandlerTest.java | 10 +++--
 .../smtpserver/SpamAssassinHandlerTest.java     | 10 +++--
 .../james/smtpserver/URIRBLHandlerTest.java     | 17 +++++----
 .../james/smtpserver/ValidRcptHandlerTest.java  |  4 +-
 .../james/smtpserver/ValidRcptMXTest.java       | 13 ++++---
 .../james/smtpserver/mock/MockMimeMessage.java  | 22 +++++------
 .../james/smtpserver/mock/mailet/MockMail.java  | 10 +++--
 .../smtpserver/mock/mailet/MockMailContext.java |  2 +-
 .../james/queue/api/mock/MockMailQueue.java     |  2 +-
 .../queue/api/mock/MockMailQueueFactory.java    |  2 +-
 .../apache/james/queue/file/FileMailQueue.java  |  4 +-
 .../james/queue/file/FileMailQueueFactory.java  | 16 ++++----
 .../apache/james/queue/jms/JMSMailQueue.java    |  6 +--
 .../queue/library/AbstractMailQueueFactory.java |  7 ++--
 .../queue/library/MailQueueManagement.java      | 37 +++++++++---------
 351 files changed, 1115 insertions(+), 1038 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
----------------------------------------------------------------------
diff --git a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
index 6baaa31..0c5b118 100644
--- a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
+++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
@@ -38,7 +38,7 @@ public class JpaTestCluster {
     }
 
     public static JpaTestCluster create(List<Class<?>> clazz) {
-        HashMap<String, String> properties = new HashMap<String, String>();
+        HashMap<String, String> properties = new HashMap<>();
         properties.put("openjpa.ConnectionDriverName", org.h2.Driver.class.getName());
         properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:mailboxintegrationtesting;DB_CLOSE_DELAY=-1"); // Memory H2 database
         properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)"); // Create Foreign Keys

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/main/java/org/apache/james/mailbox/acl/SimpleGroupMembershipResolver.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/SimpleGroupMembershipResolver.java b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/SimpleGroupMembershipResolver.java
index 6924757..79b2a57 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/SimpleGroupMembershipResolver.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/SimpleGroupMembershipResolver.java
@@ -68,7 +68,7 @@ public class SimpleGroupMembershipResolver implements GroupMembershipResolver {
 
     }
 
-    private final Set<Membership> memberships = new HashSet<SimpleGroupMembershipResolver.Membership>(32);
+    private final Set<Membership> memberships = new HashSet<>(32);
 
     public void addMembership(String group, String user) {
         memberships.add(new Membership(user, group));

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java
index b89ff67..7ba49ea 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java
@@ -377,7 +377,7 @@ public class UnionMailboxACLResolver implements MailboxACLResolver {
     }
 
     private static MailboxACLRights[] toListRightsArray(MailboxACLRights implicitRights) throws UnsupportedRightException {
-        List<MailboxACLRights> result = new ArrayList<MailboxACL.MailboxACLRights>(Rfc4314Rights.FIELD_COUNT);
+        List<MailboxACLRights> result = new ArrayList<>(Rfc4314Rights.FIELD_COUNT);
         result.add(implicitRights);
         for (MailboxACLRight right : SimpleMailboxACL.FULL_RIGHTS) {
             if (!implicitRights.contains(right)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
index 81a3560..2f03b86 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroupImpl.java
@@ -42,11 +42,11 @@ public class FetchGroupImpl implements MessageResult.FetchGroup {
     private Set<PartContentDescriptor> partContentDescriptors;
 
     public FetchGroupImpl() {
-        this(0, new HashSet<PartContentDescriptor>());
+        this(0, new HashSet<>());
     }
 
     public FetchGroupImpl(int content) {
-        this(content, new HashSet<PartContentDescriptor>());
+        this(content, new HashSet<>());
     }
 
     public FetchGroupImpl(int content, Set<PartContentDescriptor> partContentDescriptors) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
index 06a87b2..0f538ae 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
@@ -121,7 +121,7 @@ public class MailboxPath {
         if (name == null) {
             return ImmutableList.of(this);
         }
-        ArrayList<MailboxPath> levels = new ArrayList<MailboxPath>();
+        ArrayList<MailboxPath> levels = new ArrayList<>();
         int index = name.indexOf(delimiter);
         while (index >= 0) {
             final String levelname = name.substring(0, index);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageRange.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageRange.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageRange.java
index c1c285a..a355cc6 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageRange.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageRange.java
@@ -158,8 +158,8 @@ public class MessageRange implements Iterable<MessageUid>{
      * @return ranges
      */
     public static List<MessageRange> toRanges(Collection<MessageUid> uidsCol) {
-        List<MessageRange> ranges = new ArrayList<MessageRange>();
-        List<MessageUid> uids = new ArrayList<MessageUid>(uidsCol);
+        List<MessageRange> ranges = new ArrayList<>();
+        List<MessageUid> uids = new ArrayList<>(uidsCol);
         Collections.sort(uids);
         
         long firstUid = 0;
@@ -241,7 +241,7 @@ public class MessageRange implements Iterable<MessageUid>{
      * {@link Type#RANGE}.
      */
     public List<MessageRange> split(int maxItems) {
-        List<MessageRange> ranges = new ArrayList<MessageRange>();
+        List<MessageRange> ranges = new ArrayList<>();
         if (getType() == Type.RANGE) {
             long from = getUidFrom().asLong();
             long to = getUidTo().asLong();

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
index 911063b..b6fa953 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
@@ -563,7 +563,7 @@ public class SearchQuery implements Serializable {
      * @return <code>Criterion</code>, not null
      */
     public static Criterion or(Criterion one, Criterion two) {
-        final List<Criterion> criteria = new ArrayList<Criterion>();
+        final List<Criterion> criteria = new ArrayList<>();
         criteria.add(one);
         criteria.add(two);
         return new ConjunctionCriterion(Conjunction.OR, criteria);
@@ -590,7 +590,7 @@ public class SearchQuery implements Serializable {
      * @return <code>Criterion</code>, not null
      */
     public static Criterion and(Criterion one, Criterion two) {
-        final List<Criterion> criteria = new ArrayList<Criterion>();
+        final List<Criterion> criteria = new ArrayList<>();
         criteria.add(one);
         criteria.add(two);
         return new ConjunctionCriterion(Conjunction.AND, criteria);
@@ -615,7 +615,7 @@ public class SearchQuery implements Serializable {
      * @return <code>Criterion</code>, not null
      */
     public static Criterion not(Criterion criterion) {
-        final List<Criterion> criteria = new ArrayList<Criterion>();
+        final List<Criterion> criteria = new ArrayList<>();
         criteria.add(criterion);
         return new ConjunctionCriterion(Conjunction.NOR, criteria);
     }
@@ -748,18 +748,18 @@ public class SearchQuery implements Serializable {
         return AllCriterion.all();
     }
 
-    private final Set<MessageUid> recentMessageUids = new HashSet<MessageUid>();
+    private final Set<MessageUid> recentMessageUids = new HashSet<>();
 
     private final List<Criterion> criterias;
 
     private List<Sort> sorts = Collections.singletonList(new Sort(Sort.SortClause.Uid, Sort.Order.NATURAL));
 
     public SearchQuery(Criterion... criterias) {
-        this(new ArrayList<Criterion>(Arrays.asList(criterias)));
+        this(new ArrayList<>(Arrays.asList(criterias)));
     }
 
     public SearchQuery() {
-        this(new ArrayList<Criterion>());
+        this(new ArrayList<>());
     }
 
     private SearchQuery(List<Criterion> criterias) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/main/java/org/apache/james/mailbox/model/SimpleMailboxACL.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SimpleMailboxACL.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SimpleMailboxACL.java
index 540bdd8..884e625 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SimpleMailboxACL.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SimpleMailboxACL.java
@@ -896,7 +896,7 @@ public class SimpleMailboxACL implements MailboxACL {
      */
     public SimpleMailboxACL(Map.Entry<MailboxACLEntryKey, MailboxACLRights>[] entries) {
         if (entries != null) {
-            Map<MailboxACLEntryKey, MailboxACLRights> m = new HashMap<MailboxACLEntryKey, MailboxACLRights>(entries.length + entries.length / 2 + 1);
+            Map<MailboxACLEntryKey, MailboxACLRights> m = new HashMap<>(entries.length + entries.length / 2 + 1);
             for (Entry<MailboxACLEntryKey, MailboxACLRights> en : entries) {
                 m.put(en.getKey(), en.getValue());
             }
@@ -914,7 +914,7 @@ public class SimpleMailboxACL implements MailboxACL {
      */
     public SimpleMailboxACL(Map<MailboxACLEntryKey, MailboxACLRights> entries) {
         if (entries != null && entries.size() > 0) {
-            Map<MailboxACLEntryKey, MailboxACLRights> m = new HashMap<MailboxACLEntryKey, MailboxACLRights>(entries.size() + entries.size() / 2 + 1);
+            Map<MailboxACLEntryKey, MailboxACLRights> m = new HashMap<>(entries.size() + entries.size() / 2 + 1);
             for (Entry<MailboxACLEntryKey, MailboxACLRights> en : entries.entrySet()) {
                 m.put(en.getKey(), en.getValue());
             }
@@ -949,7 +949,7 @@ public class SimpleMailboxACL implements MailboxACL {
     public SimpleMailboxACL(Properties props) throws UnsupportedRightException {
         super();
 
-        Map<MailboxACLEntryKey, MailboxACLRights> m = new HashMap<MailboxACLEntryKey, MailboxACLRights>(props.size() + props.size() / 2 + 1);
+        Map<MailboxACLEntryKey, MailboxACLRights> m = new HashMap<>(props.size() + props.size() / 2 + 1);
 
         if (props != null) {
             for (Map.Entry<Object, Object> prop : props.entrySet()) {
@@ -995,7 +995,7 @@ public class SimpleMailboxACL implements MailboxACL {
             return this;
         } else {
             Map<MailboxACLEntryKey, MailboxACLRights> otherEntries = other.getEntries();
-            Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<MailboxACLEntryKey, MailboxACLRights>(this.entries);
+            Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<>(this.entries);
             for (Entry<MailboxACLEntryKey, MailboxACLRights> otherEntry : otherEntries.entrySet()) {
                 MailboxACLEntryKey key = otherEntry.getKey();
                 MailboxACLRights thisRights = resultEntries.get(key);
@@ -1020,7 +1020,7 @@ public class SimpleMailboxACL implements MailboxACL {
      * @see org.apache.james.mailbox.model.MailboxACL#except(org.apache.james.mailbox.model.MailboxACL.MailboxACLEntryKey, org.apache.james.mailbox.model.MailboxACL.MailboxACLRights)
      */
     public MailboxACL except(MailboxACLEntryKey key, MailboxACLRights mailboxACLRights) throws UnsupportedRightException {
-        Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<MailboxACLEntryKey, MailboxACLRights>(this.entries);
+        Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<>(this.entries);
         MailboxACLRights thisRights = resultEntries.get(key);
         if (thisRights == null) {
             /* nothing to diff */
@@ -1058,7 +1058,7 @@ public class SimpleMailboxACL implements MailboxACL {
      */
     @Override
     public MailboxACL replace(MailboxACLEntryKey key, MailboxACLRights replacement) throws UnsupportedRightException {
-        Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<MailboxACLEntryKey, MailboxACLRights>(this.entries);
+        Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<>(this.entries);
         if (replacement == null || replacement.isEmpty()) {
             resultEntries.remove(key);
         } else {
@@ -1087,7 +1087,7 @@ public class SimpleMailboxACL implements MailboxACL {
             return other;
         } else {
             int cnt = otherEntries.size() + entries.size();
-            Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<MailboxACLEntryKey, MailboxACLRights>(cnt + cnt / 2 + 1);
+            Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<>(cnt + cnt / 2 + 1);
             for (Entry<MailboxACLEntryKey, MailboxACLRights> otherEntry : otherEntries.entrySet()) {
                 MailboxACLEntryKey key = otherEntry.getKey();
                 MailboxACLRights thisRights = entries.get(key);
@@ -1114,7 +1114,7 @@ public class SimpleMailboxACL implements MailboxACL {
      * @see org.apache.james.mailbox.model.MailboxACL#union(org.apache.james.mailbox.model.MailboxACL.MailboxACLEntryKey, org.apache.james.mailbox.model.MailboxACL.MailboxACLRights)
      */
     public MailboxACL union(MailboxACLEntryKey key, MailboxACLRights mailboxACLRights) throws UnsupportedRightException {
-        Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<MailboxACLEntryKey, MailboxACLRights>(this.entries);
+        Map<MailboxACLEntryKey, MailboxACLRights> resultEntries = new HashMap<>(this.entries);
         MailboxACLRights thisRights = resultEntries.get(key);
         if (thisRights == null) {
             /* nothing to union */

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
index d8276fe..41f9ab2 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
@@ -61,7 +61,7 @@ public abstract class MailboxManagerStressTest {
 
         final CountDownLatch latch = new CountDownLatch(APPEND_OPERATIONS);
         final ExecutorService pool = Executors.newFixedThreadPool(APPEND_OPERATIONS / 2);
-        final List<MessageUid> uList = new ArrayList<MessageUid>();
+        final List<MessageUid> uList = new ArrayList<>();
         final String username = "username";
         MailboxSession session = mailboxManager.createSystemSession(username, LoggerFactory.getLogger("Test"));
         mailboxManager.startProcessingRequest(session);
@@ -89,7 +89,7 @@ public abstract class MailboxManagerStressTest {
         mailboxManager.logout(session, false);
 
         final AtomicBoolean fail = new AtomicBoolean(false);
-        final ConcurrentHashMap<MessageUid, Object> uids = new ConcurrentHashMap<MessageUid, Object>();
+        final ConcurrentHashMap<MessageUid, Object> uids = new ConcurrentHashMap<>();
 
         // fire of 1000 append operations
         for (int i = 0; i < APPEND_OPERATIONS; i++) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java
index be13c68..a622d09 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java
@@ -34,7 +34,7 @@ public class MockMailboxSession implements MailboxSession{
 
     private final User user;
     private boolean close;
-    private final Map<Object, Object> attrs = new HashMap<Object, Object>();
+    private final Map<Object, Object> attrs = new HashMap<>();
     private final Logger log = LoggerFactory.getLogger("MockLog");
     private final static Random RANDOM = new Random();
 
@@ -53,7 +53,7 @@ public class MockMailboxSession implements MailboxSession{
             }
             
             public List<Locale> getLocalePreferences() {
-                return new ArrayList<Locale>();
+                return new ArrayList<>();
             }
 
             @Override
@@ -95,7 +95,7 @@ public class MockMailboxSession implements MailboxSession{
     }
 
     public Collection<String> getSharedSpaces() {
-        return new ArrayList<String>();
+        return new ArrayList<>();
     }
 
     public User getUser() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/test/java/org/apache/james/mailbox/model/SimpleMailboxACLTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/model/SimpleMailboxACLTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/model/SimpleMailboxACLTest.java
index 2d20fb5..9d22e27 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/model/SimpleMailboxACLTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/model/SimpleMailboxACLTest.java
@@ -69,7 +69,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testUnionACLNew() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.put(SimpleMailboxACL.OWNER_KEY, SimpleMailboxACL.FULL_RIGHTS);
 
         MailboxACL toAdd = SimpleMailboxACL.OWNER_FULL_ACL;
@@ -83,7 +83,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testUnionEntryNew() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.put(SimpleMailboxACL.OWNER_KEY, SimpleMailboxACL.FULL_RIGHTS);
 
         MailboxACL result = u1u2g1g2ACL.union(SimpleMailboxACL.OWNER_KEY, SimpleMailboxACL.FULL_RIGHTS);
@@ -96,7 +96,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testUnionACLExisting() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.put(new SimpleMailboxACLEntryKey(USER_1), new Rfc4314Rights(aeik + lprs));
 
         MailboxACL toAdd = new SimpleMailboxACL(new SimpleMailboxACL.SimpleMailboxACLEntry[] { new SimpleMailboxACL.SimpleMailboxACLEntry(USER_1, lprs) });
@@ -110,7 +110,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testUnionEntryExisting() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.put(new SimpleMailboxACLEntryKey(USER_1), new Rfc4314Rights(aeik + lprs));
 
         MailboxACL result = u1u2g1g2ACL.union(new SimpleMailboxACLEntryKey(USER_1), new Rfc4314Rights(lprs));
@@ -134,7 +134,7 @@ public class SimpleMailboxACLTest {
     public void testExceptACLNew() throws UnsupportedRightException {
 
         /* actually no change expected */
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
 
         MailboxACL toRemove = SimpleMailboxACL.OWNER_FULL_ACL;
         MailboxACL result = u1u2g1g2ACL.except(toRemove);
@@ -148,7 +148,7 @@ public class SimpleMailboxACLTest {
     public void testExceptEntryNew() throws UnsupportedRightException {
 
         /* actually no change expected */
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
 
         MailboxACL result = u1u2g1g2ACL.except(SimpleMailboxACL.OWNER_KEY, SimpleMailboxACL.FULL_RIGHTS);
 
@@ -160,7 +160,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testExceptACLExisting() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.put(new SimpleMailboxACLEntryKey(USER_1), new Rfc4314Rights(ik));
 
         MailboxACL toRemove = new SimpleMailboxACL(new SimpleMailboxACL.SimpleMailboxACLEntry[] { new SimpleMailboxACL.SimpleMailboxACLEntry(USER_1, ae) });
@@ -174,7 +174,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testExceptEntryExisting() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.put(new SimpleMailboxACLEntryKey(USER_1), new Rfc4314Rights(ik));
 
         MailboxACL result = u1u2g1g2ACL.except(new SimpleMailboxACLEntryKey(USER_1), new Rfc4314Rights(ae));
@@ -187,7 +187,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testExceptACLFull() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.remove(new SimpleMailboxACLEntryKey(USER_1));
 
         MailboxACL toRemove = new SimpleMailboxACL(new SimpleMailboxACL.SimpleMailboxACLEntry[] { new SimpleMailboxACL.SimpleMailboxACLEntry(USER_1, SimpleMailboxACL.FULL_RIGHTS.serialize()) });
@@ -201,7 +201,7 @@ public class SimpleMailboxACLTest {
     @Test
     public void testExceptEntryFull() throws UnsupportedRightException {
 
-        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<MailboxACL.MailboxACLEntryKey, MailboxACL.MailboxACLRights>(u1u2g1g2ACL.getEntries());
+        Map<MailboxACLEntryKey, MailboxACLRights> expectedEntries = new HashMap<>(u1u2g1g2ACL.getEntries());
         expectedEntries.remove(new SimpleMailboxACLEntryKey(USER_1));
 
         MailboxACL result = u1u2g1g2ACL.except(new SimpleMailboxACLEntryKey(USER_1), SimpleMailboxACL.FULL_RIGHTS);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java b/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
index 77530fa..8a5a817 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
@@ -26,7 +26,7 @@ import org.apache.james.mailbox.MailboxListener;
 
 public class EventCollector implements MailboxListener {
 
-    private final List<Event> events = new ArrayList<Event>();
+    private final List<Event> events = new ArrayList<>();
 
     private final ListenerType listenerType;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseUtils.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseUtils.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseUtils.java
index 01640d8..fdb16ee 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseUtils.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseUtils.java
@@ -257,7 +257,7 @@ public class HBaseUtils {
     public static MailboxMessage messageMetaFromResult(Configuration conf, Result result, MessageId.Factory messageIdFactory) {
         HBaseMailboxMessage message = null;
         Flags flags = new Flags();
-        List<Property> propList = new ArrayList<Property>();
+        List<Property> propList = new ArrayList<>();
         KeyValue[] keys = result.raw();
         String mediaType = null, subType = null;
         MessageUid uid;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java
index 874175d..4b205fe 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java
@@ -193,7 +193,7 @@ public class HBaseMailboxMapper extends HBaseNonTransactionalMapper implements M
             scan.setFilter(filters);
             scanner = mailboxes.getScanner(scan);
             
-            List<Mailbox> mailboxList = new ArrayList<Mailbox>();
+            List<Mailbox> mailboxList = new ArrayList<>();
             
             for (Result result : scanner) {
                 mailboxList.add(mailboxFromResult(result));
@@ -225,7 +225,7 @@ public class HBaseMailboxMapper extends HBaseNonTransactionalMapper implements M
             scan.setCaching(mailboxes.getConfiguration().getInt("hbase.client.scanner.caching", 1) * 2);
             scan.setMaxVersions(1);
             scanner = mailboxes.getScanner(scan);
-            List<Mailbox> mailboxList = new ArrayList<Mailbox>();
+            List<Mailbox> mailboxList = new ArrayList<>();
             
             Result result;
             while ((result = scanner.next()) != null) {
@@ -361,7 +361,7 @@ public class HBaseMailboxMapper extends HBaseNonTransactionalMapper implements M
             scan.addColumn(MESSAGES_META_CF, MESSAGE_INTERNALDATE);
             scanner = messages.getScanner(scan);
             Result result;
-            List<Delete> deletes = new ArrayList<Delete>();
+            List<Delete> deletes = new ArrayList<>();
             while ((result = scanner.next()) != null) {
                 deletes.add(new Delete(result.getRow()));
             }
@@ -372,7 +372,7 @@ public class HBaseMailboxMapper extends HBaseNonTransactionalMapper implements M
                 System.out.println("Just " + deletes.size() + " out of " + totalDeletes + " messages have been deleted");
                 //throw new RuntimeException("Just " + deletes.size() + " out of " + totalDeletes + " messages have been deleted");
             }
-            List<Put> puts = new ArrayList<Put>();
+            List<Put> puts = new ArrayList<>();
             scan = new Scan();
             scan.setMaxVersions(1);
             scan.addColumn(MAILBOX_CF, MAILBOX_MESSAGE_COUNT);
@@ -401,7 +401,7 @@ public class HBaseMailboxMapper extends HBaseNonTransactionalMapper implements M
             scan.addColumn(MAILBOX_CF, MAILBOX_NAME);
             scanner = mailboxes.getScanner(scan);
             Result result;
-            List<Delete> deletes = new ArrayList<Delete>();
+            List<Delete> deletes = new ArrayList<>();
             while ((result = scanner.next()) != null) {
                 deletes.add(new Delete(result.getRow()));
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
index d401e36..3ef781d 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
@@ -106,7 +106,7 @@ public class HBaseMailboxMessage implements MailboxMessage {
         this.uid = uid;
         this.messageId = messageId;
         this.modSeq = modSeq;
-        this.userFlags = new ArrayList<String>();
+        this.userFlags = new ArrayList<>();
         setFlags(original.createFlags());
 
         // A copy of a message is recent
@@ -130,7 +130,7 @@ public class HBaseMailboxMessage implements MailboxMessage {
         this.mailboxId = mailboxId;
         this.messageId = messageId;
         this.internalDate = internalDate;
-        userFlags = new ArrayList<String>();
+        userFlags = new ArrayList<>();
 
         setFlags(flags);
         this.contentOctets = contentOctets;
@@ -214,7 +214,7 @@ public class HBaseMailboxMessage implements MailboxMessage {
      */
     @Override
     public List<Property> getProperties() {
-        return new ArrayList<Property>(properties);
+        return new ArrayList<>(properties);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
index b18579a..326275d 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
@@ -165,7 +165,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     }
 
     private List<MailboxMessage> findMessagesInMailbox(HBaseId mailboxId, int batchSize, boolean flaggedForDelete) throws IOException {
-        List<MailboxMessage> messageList = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> messageList = new ArrayList<>();
         HTable messages = new HTable(conf, MESSAGES_TABLE);
         Scan scan = new Scan(minMessageRowKey(mailboxId),
                 new PrefixFilter(mailboxId.toBytes()));
@@ -194,7 +194,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     }
 
     private List<MailboxMessage> findMessagesInMailboxWithUID(HBaseId mailboxId, MessageUid from, boolean flaggedForDelete) throws IOException {
-        List<MailboxMessage> messageList = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> messageList = new ArrayList<>();
         HTable messages = new HTable(conf, MESSAGES_TABLE);
         Get get = new Get(messageRowKey(mailboxId, from));
         get.setMaxVersions(1);
@@ -218,7 +218,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     }
 
     private List<MailboxMessage> findMessagesInMailboxAfterUID(HBaseId mailboxId, MessageUid messageUid, int batchSize, boolean flaggedForDelete) throws IOException {
-        List<MailboxMessage> messageList = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> messageList = new ArrayList<>();
         HTable messages = new HTable(conf, MESSAGES_TABLE);
         // uids are stored in reverse so we need to search
         
@@ -256,7 +256,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     }
 
     private List<MailboxMessage> findMessagesInMailboxBetweenUIDs(HBaseId mailboxId, MessageUid from, MessageUid to, int batchSize, boolean flaggedForDelete) throws IOException {
-        List<MailboxMessage> messageList = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> messageList = new ArrayList<>();
         if (from.compareTo(to) > 0) {
             return messageList;
         }
@@ -496,7 +496,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
 
             scanner = messages.getScanner(scan);
             Result result;
-            List<MessageUid> uids = new ArrayList<MessageUid>();
+            List<MessageUid> uids = new ArrayList<>();
             while ((result = scanner.next()) != null) {
                 uids.add(MessageUid.of(Long.MAX_VALUE - Bytes.toLong(result.getRow(), 16, 8)));
             }
@@ -540,7 +540,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     @Override
     public Iterator<UpdatedFlags> updateFlags(Mailbox mailbox, FlagsUpdateCalculator flagsUpdateCalculator, MessageRange set) throws MailboxException {
 
-        final List<UpdatedFlags> updatedFlags = new ArrayList<UpdatedFlags>();
+        final List<UpdatedFlags> updatedFlags = new ArrayList<>();
         Iterator<MailboxMessage> messagesFound = findInMailbox(mailbox, set, FetchType.Metadata, -1);
 
         HTable messages = null;
@@ -725,7 +725,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     private void deleteDeletedMessagesInMailboxBetweenUIDs(HBaseId mailboxId, MessageUid fromUid, MessageUid toUid) throws IOException {
         HTable messages = new HTable(conf, MESSAGES_TABLE);
         HTable mailboxes = new HTable(conf, MAILBOXES_TABLE);
-        List<Delete> deletes = new ArrayList<Delete>();
+        List<Delete> deletes = new ArrayList<>();
         /*TODO: check if Between should be inclusive or exclusive regarding limits.
          * HBase scan operaion are exclusive to the upper bound when providing stop row key.
          */
@@ -751,7 +751,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     private void deleteDeletedMessagesInMailboxAfterUID(HBaseId mailboxId, MessageUid fromUid) throws IOException {
         HTable messages = new HTable(conf, MESSAGES_TABLE);
         HTable mailboxes = new HTable(conf, MAILBOXES_TABLE);
-        List<Delete> deletes = new ArrayList<Delete>();
+        List<Delete> deletes = new ArrayList<>();
         /*TODO: check if Between should be inclusive or exclusive regarding limits.
          * HBase scan operaion are exclusive to the upper bound when providing stop row key.
          */
@@ -777,7 +777,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     private void deleteDeletedMessagesInMailbox(HBaseId mailboxId) throws IOException {
         HTable messages = new HTable(conf, MESSAGES_TABLE);
         HTable mailboxes = new HTable(conf, MAILBOXES_TABLE);
-        List<Delete> deletes = new ArrayList<Delete>();
+        List<Delete> deletes = new ArrayList<>();
         /*TODO: check if Between should be inclusive or exclusive regarding limits.
          * HBase scan operaion are exclusive to the upper bound when providing stop row key.
          */
@@ -802,7 +802,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
     }
 
     private Map<MessageUid, MessageMetaData> createMetaData(List<MailboxMessage> uids) {
-        final Map<MessageUid, MessageMetaData> data = new HashMap<MessageUid, MessageMetaData>();
+        final Map<MessageUid, MessageMetaData> data = new HashMap<>();
         for (MailboxMessage m : uids) {
             data.put(m.getUid(), new SimpleMessageMetaData(m));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapper.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapper.java
index 33a3f58..d7f0fdb 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapper.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapper.java
@@ -121,7 +121,7 @@ public class HBaseSubscriptionMapper extends HBaseNonTransactionalMapper impleme
         HTable subscriptions = null;
         try {
             subscriptions = new HTable(conf, SUBSCRIPTIONS_TABLE);
-            List<Subscription> subscriptionList = new ArrayList<Subscription>();
+            List<Subscription> subscriptionList = new ArrayList<>();
             Get get = new Get(Bytes.toBytes(user));
             get.addFamily(SUBSCRIPTION_CF);
             Result result = subscriptions.get(get);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java
index 35dc9ff..078824c 100644
--- a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java
+++ b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapperTest.java
@@ -313,9 +313,9 @@ public class HBaseMailboxMapperTest {
     }
 
     private static void fillMailboxList() {
-        mailboxList = new ArrayList<HBaseMailbox>();
-        pathsList = new ArrayList<MailboxPath>();
-        idsList = new ArrayList<HBaseId>();
+        mailboxList = new ArrayList<>();
+        pathsList = new ArrayList<>();
+        idsList = new ArrayList<>();
         MailboxPath path;
         String name;
         for (int i = 0; i < NAMESPACES; i++) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessageMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessageMapperTest.java b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessageMapperTest.java
index 50b6d27..a788a94 100644
--- a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessageMapperTest.java
+++ b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessageMapperTest.java
@@ -70,9 +70,9 @@ public class HBaseMailboxMessageMapperTest {
     private static HBaseUidProvider uidProvider;
     private static HBaseModSeqProvider modSeqProvider;
     private static HBaseMessageMapper messageMapper;
-    private static final List<MailboxPath> MBOX_PATHS = new ArrayList<MailboxPath>();
-    private static final List<Mailbox> MBOXES = new ArrayList<Mailbox>();
-    private static final List<MailboxMessage> MESSAGE_NO = new ArrayList<MailboxMessage>();
+    private static final List<MailboxPath> MBOX_PATHS = new ArrayList<>();
+    private static final List<Mailbox> MBOXES = new ArrayList<>();
+    private static final List<MailboxMessage> MESSAGE_NO = new ArrayList<>();
     private static final int COUNT = 5;
     private static Configuration conf;
     private DefaultMessageId.Factory messageIdFactory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java
index 80c4695..6b6f995 100644
--- a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java
+++ b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java
@@ -18,17 +18,29 @@
  ****************************************************************/
 package org.apache.james.mailbox.hbase.mail;
 
+import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOXES;
+import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOXES_TABLE;
+import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOX_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGES;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGES_META_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGES_TABLE;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGE_DATA_BODY_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGE_DATA_HEADERS_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTIONS;
+import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTIONS_TABLE;
+import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTION_CF;
+import static org.junit.Assert.assertEquals;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+
 import org.apache.hadoop.conf.Configuration;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.hbase.HBaseClusterSingleton;
-import static org.apache.james.mailbox.hbase.HBaseNames.*;
 import org.apache.james.mailbox.hbase.mail.model.HBaseMailbox;
 import org.apache.james.mailbox.model.MailboxPath;
-import static org.junit.Assert.assertEquals;
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -83,8 +95,8 @@ public class HBaseUidAndModSeqProviderTest {
     }
 
     private static void fillMailboxList() {
-        mailboxList = new ArrayList<HBaseMailbox>();
-        pathsList = new ArrayList<MailboxPath>();
+        mailboxList = new ArrayList<>();
+        pathsList = new ArrayList<>();
         MailboxPath path;
         String name;
         for (int i = 0; i < NAMESPACES; i++) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java
index c4feb6e..7a8cc8b 100644
--- a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java
+++ b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/user/HBaseSubscriptionMapperTest.java
@@ -18,6 +18,22 @@
  ****************************************************************/
 package org.apache.james.mailbox.hbase.user;
 
+import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOXES;
+import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOXES_TABLE;
+import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOX_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGES;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGES_META_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGES_TABLE;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGE_DATA_BODY_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.MESSAGE_DATA_HEADERS_CF;
+import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTIONS;
+import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTIONS_TABLE;
+import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTION_CF;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -33,15 +49,9 @@ import org.apache.james.mailbox.exception.SubscriptionException;
 import org.apache.james.mailbox.hbase.HBaseClusterSingleton;
 import org.apache.james.mailbox.hbase.HBaseMailboxSessionMapperFactory;
 import org.apache.james.mailbox.model.MessageId;
-
-import static org.apache.james.mailbox.hbase.HBaseNames.*;
-
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.apache.james.mailbox.store.user.model.Subscription;
 import org.apache.james.mailbox.store.user.model.impl.SimpleSubscription;
-
-import static org.junit.Assert.*;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -90,10 +100,10 @@ public class HBaseSubscriptionMapperTest {
         LOG.info("Creating subscription list");
         SimpleSubscription subscription;
         String user, mailbox;
-        subscriptionList = new HashMap<String, List<SimpleSubscription>>();
+        subscriptionList = new HashMap<>();
         for (int i = 0; i < USERS; i++) {
             user = "user" + i;
-            final List<SimpleSubscription> mailboxes = new ArrayList<SimpleSubscription>();
+            final List<SimpleSubscription> mailboxes = new ArrayList<>();
             subscriptionList.put(user, mailboxes);
 
             for (int j = 0; j < MAILBOX_NO; j++) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java
index 761a2ac..0e0be80 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java
@@ -127,7 +127,7 @@ public class JCRMailboxMapper extends AbstractJCRScalingMapper implements Mailbo
      * @see org.apache.james.mailbox.store.mail.MailboxMapper#findMailboxWithPathLike(org.apache.james.imap.api.MailboxPath)
      */
     public List<Mailbox> findMailboxWithPathLike(MailboxPath path) throws MailboxException {
-        List<Mailbox> mailboxList = new ArrayList<Mailbox>();
+        List<Mailbox> mailboxList = new ArrayList<>();
         try {
             String name = Text.escapeIllegalXpathSearchChars(path.getName());
             String user = path.getUser();
@@ -235,7 +235,7 @@ public class JCRMailboxMapper extends AbstractJCRScalingMapper implements Mailbo
      */
     public List<Mailbox> list() throws MailboxException {
         try {
-            List<Mailbox> mList = new ArrayList<Mailbox>();
+            List<Mailbox> mList = new ArrayList<>();
             QueryManager manager = getSession().getWorkspace().getQueryManager();
 
             String queryString = "/jcr:root/" + MAILBOXES_PATH + "//element(*,jamesMailbox:mailbox)";

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
index ee2e506..f11520a 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
@@ -339,7 +339,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
         try {
 
-            List<MessageUid> list = new ArrayList<MessageUid>();
+            List<MessageUid> list = new ArrayList<>();
             String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                     + JCRMailboxMessage.RECENT_PROPERTY + "='true'] order by @" + JCRMailboxMessage.UID_PROPERTY;
 
@@ -404,7 +404,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
                 results = findDeletedMessagesInMailboxBetweenUIDs(mailbox, from, to);
                 break;
             }
-            Map<MessageUid, MessageMetaData> uids = new HashMap<MessageUid, MessageMetaData>();
+            Map<MessageUid, MessageMetaData> uids = new HashMap<>();
             for (MailboxMessage m : results) {
                 MessageUid uid = m.getUid();
                 uids.put(uid, new SimpleMessageMetaData(m));
@@ -555,7 +555,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findMessagesInMailboxAfterUID(Mailbox mailbox, MessageUid from, int batchSize)
             throws RepositoryException {
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                 + JCRMailboxMessage.UID_PROPERTY + ">=" + from + "] order by @" + JCRMailboxMessage.UID_PROPERTY;
 
@@ -574,7 +574,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findMessageInMailboxWithUID(Mailbox mailbox, MessageUid from)
             throws RepositoryException {
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                 + JCRMailboxMessage.UID_PROPERTY + "=" + from + "]";
 
@@ -591,7 +591,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findMessagesInMailboxBetweenUIDs(Mailbox mailbox, MessageUid from, MessageUid to,
                                                                          int batchSize) throws RepositoryException {
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                 + JCRMailboxMessage.UID_PROPERTY + ">=" + from + " and @" + JCRMailboxMessage.UID_PROPERTY + "<=" + to
                 + "] order by @" + JCRMailboxMessage.UID_PROPERTY;
@@ -611,7 +611,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findMessagesInMailbox(Mailbox mailbox, int batchSize)
             throws RepositoryException {
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
 
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message) order by @"
                 + JCRMailboxMessage.UID_PROPERTY;
@@ -630,7 +630,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findDeletedMessagesInMailboxAfterUID(Mailbox mailbox, MessageUid from)
             throws RepositoryException {
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                 + JCRMailboxMessage.UID_PROPERTY + ">=" + from + " and @" + JCRMailboxMessage.DELETED_PROPERTY + "='true'] order by @"
                 + JCRMailboxMessage.UID_PROPERTY;
@@ -647,7 +647,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findDeletedMessageInMailboxWithUID(Mailbox mailbox, MessageUid from)
             throws RepositoryException {
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                 + JCRMailboxMessage.UID_PROPERTY + "=" + from + " and @" + JCRMailboxMessage.DELETED_PROPERTY + "='true']";
         QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -665,7 +665,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findDeletedMessagesInMailboxBetweenUIDs(Mailbox mailbox, MessageUid from, MessageUid to)
             throws RepositoryException {
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                 + JCRMailboxMessage.UID_PROPERTY + ">=" + from + " and @" + JCRMailboxMessage.UID_PROPERTY + "<=" + to + " and @"
                 + JCRMailboxMessage.DELETED_PROPERTY + "='true'] order by @" + JCRMailboxMessage.UID_PROPERTY;
@@ -682,7 +682,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
 
     private List<MailboxMessage> findDeletedMessagesInMailbox(Mailbox mailbox) throws RepositoryException {
 
-        List<MailboxMessage> list = new ArrayList<MailboxMessage>();
+        List<MailboxMessage> list = new ArrayList<>();
         String queryString = "/jcr:root" + getMailboxPath(mailbox) + "//element(*,jamesMailbox:message)[@"
                 + JCRMailboxMessage.DELETED_PROPERTY + "='true'] order by @" + JCRMailboxMessage.UID_PROPERTY;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
index 7ffabb6..2431826 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
@@ -126,7 +126,7 @@ public class JCRMailboxMessage implements MailboxMessage, JCRImapConstants, Pers
         this.mediaType = propertyBuilder.getMediaType();
         this.subType = propertyBuilder.getSubType();
         final List<Property> properties = propertyBuilder.toProperties();
-        this.properties = new ArrayList<JCRProperty>(properties.size());
+        this.properties = new ArrayList<>(properties.size());
         for (Property property:properties) {
             this.properties.add(new JCRProperty(property,logger));
         }
@@ -158,7 +158,7 @@ public class JCRMailboxMessage implements MailboxMessage, JCRImapConstants, Pers
         this.mediaType = message.getMediaType();
         this.subType = message.getSubType();
         final List<Property> properties = pBuilder.toProperties();
-        this.properties = new ArrayList<JCRProperty>(properties.size());
+        this.properties = new ArrayList<>(properties.size());
         for (Property property:properties) {
             this.properties.add(new JCRProperty(property,  logger));
         }
@@ -195,7 +195,7 @@ public class JCRMailboxMessage implements MailboxMessage, JCRImapConstants, Pers
     public List<Property> getProperties() {
         if (isPersistent()) {
             try {
-                List<Property> properties = new ArrayList<Property>();
+                List<Property> properties = new ArrayList<>();
                 NodeIterator nodeIt = node.getNodes("messageProperty");
                 while (nodeIt.hasNext()) {
                     properties.add(new JCRProperty(nodeIt.nextNode(), logger));
@@ -205,7 +205,7 @@ public class JCRMailboxMessage implements MailboxMessage, JCRImapConstants, Pers
                 logger.error("Unable to retrieve nodes messageProperty", e);
             }
         }
-        return new ArrayList<Property>(properties);
+        return new ArrayList<>(properties);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java
index 4da5b10..f83ac54 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/JCRSubscriptionMapper.java
@@ -71,7 +71,7 @@ public class JCRSubscriptionMapper extends AbstractJCRScalingMapper implements S
             if (node != null) {
                 Property prop = node.getProperty(JCRSubscription.MAILBOXES_PROPERTY);
                 Value[] values = prop.getValues();
-                List<String> newValues = new ArrayList<String>();
+                List<String> newValues = new ArrayList<>();
                 for (Value value : values) {
                     String m = value.getString();
                     if (m.equals(sub.getMailbox()) == false) {
@@ -127,7 +127,7 @@ public class JCRSubscriptionMapper extends AbstractJCRScalingMapper implements S
      * (java.lang.String)
      */
     public List<Subscription> findSubscriptionsForUser(String user) throws SubscriptionException {
-        List<Subscription> subList = new ArrayList<Subscription>();
+        List<Subscription> subList = new ArrayList<>();
         try {
             String queryString = "/jcr:root/" + MAILBOXES_PATH + "//element(*,jamesMailbox:user)[@" + JCRSubscription.USERNAME_PROPERTY + "='" + user + "']";
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/model/JCRSubscription.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/model/JCRSubscription.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/model/JCRSubscription.java
index e465cda..18616d8 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/model/JCRSubscription.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/user/model/JCRSubscription.java
@@ -111,7 +111,7 @@ public class JCRSubscription implements Subscription, Persistent, JCRImapConstan
         node.setProperty(USERNAME_PROPERTY, getUser());
         if (node.hasProperty(MAILBOXES_PROPERTY)) {
             Value[] mailboxes = node.getProperty(MAILBOXES_PROPERTY).getValues();
-            List<String>newMailboxes = new ArrayList<String>();
+            List<String>newMailboxes = new ArrayList<>();
             for (Value mailbox : mailboxes) {
                 String m = mailbox.getString();
                 newMailboxes.add(m);

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
index 3cf6cf3..70341e6 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
@@ -390,7 +390,7 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
     }
 
     private Map<MessageUid, MessageMetaData> createMetaData(List<MailboxMessage> uids) {
-        final Map<MessageUid, MessageMetaData> data = new HashMap<MessageUid, MessageMetaData>();
+        final Map<MessageUid, MessageMetaData> data = new HashMap<>();
         for (MailboxMessage m : uids) {
             data.put(m.getUid(), new SimpleMessageMetaData(m));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/03b574c9/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
index 2b27598..1a13ef1 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
@@ -240,7 +240,7 @@ public abstract class AbstractJPAMailboxMessage implements MailboxMessage {
             int bodyStartOctet, PropertyBuilder propertyBuilder) {
         this.mailbox = mailbox;
         this.internalDate = internalDate;
-        userFlags = new ArrayList<JPAUserFlag>();
+        userFlags = new ArrayList<>();
 
         setFlags(flags);
         this.contentOctets = contentOctets;
@@ -249,7 +249,7 @@ public abstract class AbstractJPAMailboxMessage implements MailboxMessage {
         this.mediaType = propertyBuilder.getMediaType();
         this.subType = propertyBuilder.getSubType();
         final List<Property> properties = propertyBuilder.toProperties();
-        this.properties = new ArrayList<JPAProperty>(properties.size());
+        this.properties = new ArrayList<>(properties.size());
         int order = 0;
         for (Property property : properties) {
             this.properties.add(new JPAProperty(property, order++));
@@ -276,7 +276,7 @@ public abstract class AbstractJPAMailboxMessage implements MailboxMessage {
         this.mailbox = mailbox;
         this.uid = uid.asLong();
         this.modSeq = modSeq;
-        this.userFlags = new ArrayList<JPAUserFlag>();
+        this.userFlags = new ArrayList<>();
         setFlags(original.createFlags());
 
         // A copy of a message is recent
@@ -292,7 +292,7 @@ public abstract class AbstractJPAMailboxMessage implements MailboxMessage {
         this.mediaType = original.getMediaType();
         this.subType = original.getSubType();
         final List<Property> properties = pBuilder.toProperties();
-        this.properties = new ArrayList<JPAProperty>(properties.size());
+        this.properties = new ArrayList<>(properties.size());
         int order = 0;
         for (Property property : properties) {
             this.properties.add(new JPAProperty(property, order++));
@@ -354,7 +354,7 @@ public abstract class AbstractJPAMailboxMessage implements MailboxMessage {
      * @return unmodifiable list of meta-data, not null
      */
     public List<Property> getProperties() {
-        return new ArrayList<Property>(properties);
+        return new ArrayList<>(properties);
     }
 
     /**


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