This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit f0d6ab3d183a28fee66da4f44e7c9fb8232edaa3
Author: Matthieu Baechler <[email protected]>
AuthorDate: Mon Sep 9 18:39:07 2019 +0200

    JAMES-2894 Automatic refactoring of Java 7 code:
    
        * generics can omit the actual type when instanciating
        * use switch/case on strings
        * use Objects for equals/hashcode
        * use try-with-resources
        * avoid using Enumeration
---
 .../apache/james/mailbox/model/UpdatedFlags.java   | 19 +++------
 .../james/mailbox/maildir/MaildirFolder.java       |  3 +-
 .../mailbox/maildir/mail/model/MaildirMessage.java | 12 +-----
 .../james/vault/search/DeletedMessageField.java    | 14 +++----
 .../store/mail/model/impl/SimpleProperty.java      | 18 ++++-----
 .../org/apache/james/ai/classic/SqlResources.java  |  2 +-
 .../transport/mailets/AmqpForwardAttribute.java    | 14 +------
 .../matchers/CompareNumericHeaderValue.java        | 46 ++++++++++++----------
 .../james/transport/matchers/FileRegexMatcher.java | 21 +++-------
 .../james/imap/decode/ImapRequestLineReader.java   | 29 ++++----------
 .../main/OutputStreamImapResponseWriter.java       | 10 +----
 .../james/imap/message/response/ACLResponse.java   |  9 ++---
 .../imap/message/response/ListRightsResponse.java  | 12 +++---
 .../imap/message/response/MyRightsResponse.java    | 10 ++---
 .../imap/message/response/QuotaRootResponse.java   | 10 ++---
 .../imap/encode/base/ByteImapResponseWriter.java   | 11 +-----
 .../protocols/smtp/AbstractSMTPServerTest.java     |  9 +----
 .../james/server/core/MimeMessageSource.java       | 15 ++-----
 .../james/onami/lifecycle/DefaultStager.java       |  2 +-
 .../lifecycle/osgi/OSGIConfigurationProvider.java  | 13 +-----
 .../JMXEnabledScheduledThreadPoolExecutor.java     |  2 +-
 .../concurrent/JMXEnabledThreadPoolExecutor.java   |  2 +-
 .../org/apache/james/util/sql/SqlResources.java    |  2 +-
 .../mailrepository/file/FileMailRepository.java    |  2 +-
 .../sieverepository/file/SieveFileRepository.java  | 32 ++-------------
 .../mailrepository/jdbc/MimeMessageJDBCSource.java | 13 ++----
 .../lib/AbstractStateCompositeProcessor.java       |  2 +-
 .../lib/AbstractStateMailetProcessor.java          |  2 +-
 .../transcode/MessageToCoreToMessage.java          |  8 +---
 .../java/org/apache/james/fetchmail/FetchMail.java |  5 +--
 .../draft/methods/SetMailboxesUpdateProcessor.java |  7 +---
 ...nabledOrderedMemoryAwareThreadPoolExecutor.java |  2 +-
 .../apache/james/smtpserver/SPFHandlerTest.java    | 43 ++++++++++----------
 33 files changed, 138 insertions(+), 263 deletions(-)

diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
index 4be5e6a..b6690d2 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
@@ -21,13 +21,13 @@ package org.apache.james.mailbox.model;
 
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.Objects;
 import java.util.Optional;
 import javax.mail.Flags;
 
 import org.apache.james.mailbox.MessageUid;
 
 import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
 
 /**
@@ -240,22 +240,15 @@ public class UpdatedFlags {
 
         UpdatedFlags that = (UpdatedFlags) other;
 
-        if (!uid.equals(that.uid)) {
-            return false;
-        }
-        if (modSeq != that.modSeq) {
-            return false;
-        }
-        if (oldFlags != null ? !oldFlags.equals(that.oldFlags) : that.oldFlags 
!= null) {
-            return false;
-        }
-        return !(newFlags != null ? !newFlags.equals(that.newFlags) : 
that.newFlags != null);
-
+        return Objects.equals(uid, that.uid) &&
+                Objects.equals(oldFlags, that.oldFlags) &&
+                Objects.equals(newFlags, that.newFlags) &&
+                Objects.equals(modSeq, that.modSeq);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hashCode(uid, oldFlags, newFlags, modSeq);
+        return Objects.hash(uid, oldFlags, newFlags, modSeq);
     }
     
     @Override
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 ec87d3c..e1d19a2 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
@@ -34,6 +34,7 @@ import java.util.LinkedList;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.NoSuchElementException;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.Properties;
 import java.util.SortedMap;
@@ -965,7 +966,7 @@ public class MaildirFolder {
     
     public void setACL(MailboxSession session, MailboxACL acl) throws 
MailboxException {
         MailboxACL old = this.acl;
-        if (old != acl && (old == null || !old.equals(acl))) {
+        if (!Objects.equals(old, acl)) {
             /* change only if different */
             saveACL(acl, session);
             this.acl = acl;
diff --git 
a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
 
b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
index 2e2e7f2..a9e37b6 100644
--- 
a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
+++ 
b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
@@ -65,9 +65,7 @@ public class MaildirMessage implements Message {
         if (parsed) {
             return;
         }
-        SharedFileInputStream tmpMsgIn = null;
-        try {
-            tmpMsgIn = new SharedFileInputStream(messageName.getFile());
+        try (SharedFileInputStream tmpMsgIn = new 
SharedFileInputStream(messageName.getFile())) {
 
             bodyStartOctet = bodyStartOctet(tmpMsgIn);
 
@@ -138,13 +136,7 @@ public class MaildirMessage implements Message {
             // has successfully been parsen when appending, shouldn't give any
             // problems
         } finally {
-            if (tmpMsgIn != null) {
-                try {
-                    tmpMsgIn.close();
-                } catch (IOException e) {
-                    // ignore on close
-                }
-            }
+            // ignore on close
             parsed = true;
         }
     }
diff --git 
a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java
 
b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java
index cc1bddc..76b6f7c 100644
--- 
a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java
+++ 
b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java
@@ -65,12 +65,12 @@ public class DeletedMessageField<T> {
         ValueExtractor<String> SUBJECT_EXTRACTOR = DeletedMessage::getSubject;
     }
 
-    static final DeletedMessageField<ZonedDateTime> DELETION_DATE = new 
DeletedMessageField<ZonedDateTime>(FieldName.DELETION_DATE, 
DELETION_DATE_EXTRACTOR);
-    static final DeletedMessageField<ZonedDateTime> DELIVERY_DATE = new 
DeletedMessageField<ZonedDateTime>(FieldName.DELIVERY_DATE, 
DELIVERY_DATE_EXTRACTOR);
-    static final DeletedMessageField<Collection<MailAddress>> RECIPIENTS = new 
DeletedMessageField<Collection<MailAddress>>(FieldName.RECIPIENTS, 
RECIPIENTS_EXTRACTOR);
-    static final DeletedMessageField<MailAddress> SENDER = new 
DeletedMessageField<MailAddress>(FieldName.SENDER, SENDER_EXTRACTOR);
-    static final DeletedMessageField<Boolean> HAS_ATTACHMENT = new 
DeletedMessageField<Boolean>(FieldName.HAS_ATTACHMENT, 
HAS_ATTACHMENT_EXTRACTOR);
-    static final DeletedMessageField<Collection<MailboxId>> ORIGIN_MAILBOXES = 
new DeletedMessageField<Collection<MailboxId>>(FieldName.ORIGIN_MAILBOXES, 
ORIGIN_MAILBOXES_EXTRACTOR);
-    static final DeletedMessageField<String> SUBJECT = new 
DeletedMessageField<String>(FieldName.SUBJECT, SUBJECT_EXTRACTOR);
+    static final DeletedMessageField<ZonedDateTime> DELETION_DATE = new 
DeletedMessageField<>(FieldName.DELETION_DATE, DELETION_DATE_EXTRACTOR);
+    static final DeletedMessageField<ZonedDateTime> DELIVERY_DATE = new 
DeletedMessageField<>(FieldName.DELIVERY_DATE, DELIVERY_DATE_EXTRACTOR);
+    static final DeletedMessageField<Collection<MailAddress>> RECIPIENTS = new 
DeletedMessageField<>(FieldName.RECIPIENTS, RECIPIENTS_EXTRACTOR);
+    static final DeletedMessageField<MailAddress> SENDER = new 
DeletedMessageField<>(FieldName.SENDER, SENDER_EXTRACTOR);
+    static final DeletedMessageField<Boolean> HAS_ATTACHMENT = new 
DeletedMessageField<>(FieldName.HAS_ATTACHMENT, HAS_ATTACHMENT_EXTRACTOR);
+    static final DeletedMessageField<Collection<MailboxId>> ORIGIN_MAILBOXES = 
new DeletedMessageField<>(FieldName.ORIGIN_MAILBOXES, 
ORIGIN_MAILBOXES_EXTRACTOR);
+    static final DeletedMessageField<String> SUBJECT = new 
DeletedMessageField<>(FieldName.SUBJECT, SUBJECT_EXTRACTOR);
 
 }
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java
index c21d5b5..374f6d1 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.james.mailbox.store.mail.model.impl;
 
+import java.util.Objects;
+
 import org.apache.james.mailbox.store.mail.model.Property;
 
 public final class SimpleProperty implements Property {
@@ -102,21 +104,15 @@ public final class SimpleProperty implements Property {
             return false;
         }
         SimpleProperty that = (SimpleProperty) o;
-        if (namespace != null ? !namespace.equals(that.namespace) : 
that.namespace != null) {
-            return false;
-        }
-        if (localName != null ? !localName.equals(that.localName) : 
that.localName != null) {
-            return false;
-        }
-        return !(value != null ? !value.equals(that.value) : that.value != 
null);
+
+        return Objects.equals(namespace, that.namespace) &&
+                Objects.equals(localName, that.localName) &&
+                Objects.equals(value, that.value);
 
     }
 
     @Override
     public int hashCode() {
-        int result = namespace != null ? namespace.hashCode() : 0;
-        result = 31 * result + (localName != null ? localName.hashCode() : 0);
-        result = 31 * result + (value != null ? value.hashCode() : 0);
-        return result;
+        return Objects.hash(namespace, localName, value);
     }
 }
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 d227ad4..6b1f774 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
@@ -52,7 +52,7 @@ class SqlResources {
     private final Map<String, String> dbOptions = new HashMap<>();
 
     /** A set of all used String values */
-    private static final Map<String, String> stringTable = 
java.util.Collections.synchronizedMap(new HashMap<String, String>());
+    private static final Map<String, String> stringTable = 
java.util.Collections.synchronizedMap(new HashMap<>());
 
     /**
      * <p>
diff --git 
a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
 
b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
index 13f7c7e..84ed6ff 100644
--- 
a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
+++ 
b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
@@ -149,20 +149,10 @@ public class AmqpForwardAttribute extends GenericMailet {
     }
 
     private void trySendContent(Stream<byte[]> content) throws IOException, 
TimeoutException {
-        Connection connection = null;
-        Channel channel = null;
-        try {
-            connection = connectionFactory.newConnection();
-            channel = connection.createChannel();
+        try (Connection connection = connectionFactory.newConnection();
+             Channel channel = connection.createChannel()) {
             channel.exchangeDeclarePassive(exchange);
             sendContentOnChannel(channel, content);
-        } finally {
-            if (channel != null) {
-                channel.close();
-            }
-            if (connection != null) {
-                connection.close();
-            }
         }
     }
 
diff --git 
a/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java
 
b/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java
index 44f3260..91aec46 100644
--- 
a/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java
+++ 
b/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java
@@ -74,26 +74,32 @@ public class CompareNumericHeaderValue extends 
GenericMatcher {
         }
         if (st.hasMoreTokens()) {
             String comparisonOperatorString = st.nextToken().trim();
-            if (comparisonOperatorString.equals("<")
-                || comparisonOperatorString.equals("LT")) {
-                comparisonOperator = LT;
-            } else if (comparisonOperatorString.equals("<=")
-                     || comparisonOperatorString.equals("=<")
-                     || comparisonOperatorString.equals("LE")) {
-                comparisonOperator = LE;
-            } else if (comparisonOperatorString.equals("==")
-                     || comparisonOperatorString.equals("=")
-                     || comparisonOperatorString.equals("EQ")) {
-                comparisonOperator = EQ;
-            } else if (comparisonOperatorString.equals(">=")
-                     || comparisonOperatorString.equals("=>")
-                     || comparisonOperatorString.equals("GE")) {
-                comparisonOperator = GE;
-            } else if (comparisonOperatorString.equals(">")
-                     || comparisonOperatorString.equals("GT")) {
-                comparisonOperator = GT;
-            } else {
-                throw new MessagingException("Bad comparisonOperator: \"" + 
comparisonOperatorString + "\"");
+            switch (comparisonOperatorString) {
+                case "<":
+                case "LT":
+                    comparisonOperator = LT;
+                    break;
+                case "<=":
+                case "=<":
+                case "LE":
+                    comparisonOperator = LE;
+                    break;
+                case "==":
+                case "=":
+                case "EQ":
+                    comparisonOperator = EQ;
+                    break;
+                case ">=":
+                case "=>":
+                case "GE":
+                    comparisonOperator = GE;
+                    break;
+                case ">":
+                case "GT":
+                    comparisonOperator = GT;
+                    break;
+                default:
+                    throw new MessagingException("Bad comparisonOperator: \"" 
+ comparisonOperatorString + "\"");
             }
         } else {
             throw new MessagingException("Missing comparisonOperator");
diff --git 
a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java
 
b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java
index 1f1c082..e9468fb 100755
--- 
a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java
+++ 
b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java
@@ -37,9 +37,7 @@ public class FileRegexMatcher extends GenericRegexMatcher {
     
     @Override
     public void init() throws MessagingException {
-        java.io.RandomAccessFile patternSource = null;
-        try {
-            patternSource = new java.io.RandomAccessFile(getCondition(), "r");
+        try (java.io.RandomAccessFile patternSource = new 
java.io.RandomAccessFile(getCondition(), "r")) {
             int lines = 0;
             while (patternSource.readLine() != null) {
                 lines++;
@@ -50,24 +48,17 @@ public class FileRegexMatcher extends GenericRegexMatcher {
                 String line = patternSource.readLine();
                 patterns[i][0] = line.substring(0, line.indexOf(':'));
                 patterns[i][1] = line.substring(line.indexOf(':') + 1);
-            }          
+            }
             compile(patterns);
-                  
+
         } catch (java.io.FileNotFoundException fnfe) {
             throw new MessagingException("Could not locate patterns.", fnfe);
-        } catch (java.io.IOException ioe) {
+        } catch (IOException ioe) {
             throw new MessagingException("Could not read patterns.", ioe);
         } catch (PatternSyntaxException mp) {
             throw new MessagingException("Could not initialize regex 
patterns", mp);
-        } finally {
-            if (patternSource != null) {
-                // close the file
-                try {
-                    patternSource.close();
-                } catch (IOException e) {
-                    // just ignore on close
-                }
-            }
         }
+        // close the file
+        // just ignore on close
     }
 }
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 b6983ed..7532ece 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
@@ -375,36 +375,23 @@ public abstract class ImapRequestLineReader {
         if (charset == null) {
             return consumeLiteral(US_ASCII);
         } else {
-            FastByteArrayOutputStream out = new FastByteArrayOutputStream();
-            InputStream in = null;
-            try {
-                in = consumeLiteral(false);
-                byte[] buf = new byte[ 0xFFFF ];
-                
+            try (FastByteArrayOutputStream out = new 
FastByteArrayOutputStream();
+                 InputStream in = consumeLiteral(false)) {
+                byte[] buf = new byte[0xFFFF];
+
                 for (int len; (len = in.read(buf)) != -1; ) {
                     out.write(buf, 0, len);
                 }
-                
+
                 final byte[] bytes = out.toByteArray();
                 final ByteBuffer buffer = ByteBuffer.wrap(bytes);
                 return decode(charset, buffer);
-                
+
             } catch (IOException e) {
                 throw new DecodingException(HumanReadableText.BAD_IO_ENCODING, 
"Bad character encoding", e);
-            } finally {
-                if (in != null) {
-                    try {
-                        in.close();
-                    } catch (IOException e) {
-                        // ignore on close
-                    }
-                }
-                try {
-                    out.close();
-                } catch (IOException e) {
-                    // ignore on close
-                }
             }
+            // ignore on close
+            // ignore on close
 
         }
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java
index 4ceaad6..27539bd 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java
@@ -46,18 +46,12 @@ public class OutputStreamImapResponseWriter implements 
ImapResponseWriter {
 
     @Override
     public void write(Literal literal) throws IOException {
-        InputStream in = null;
-        try {
-            in = literal.getInputStream();
+        try (InputStream in = literal.getInputStream()) {
 
             byte[] buffer = new byte[1024];
-            for (int len; (len = in.read(buffer)) != -1;) {
+            for (int len; (len = in.read(buffer)) != -1; ) {
                 output.write(buffer, 0, len);
             }
-        } finally {
-            if (in != null) {
-                in.close();
-            }
         }
 
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
index a1a5dd1..fbe53d7 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
@@ -20,6 +20,7 @@
 package org.apache.james.imap.message.response;
 
 import java.util.Map.Entry;
+import java.util.Objects;
 
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.message.response.ImapResponseMessage;
@@ -46,9 +47,8 @@ public final class ACLResponse implements ImapResponseMessage 
{
     public boolean equals(Object o) {
         if (o instanceof ACLResponse) {
             ACLResponse other = (ACLResponse) o;
-            return (this.acl == other.acl || (this.acl != null && 
this.acl.equals(other.acl)))
-                    && (this.mailboxName == other.mailboxName || 
(this.mailboxName != null && this.mailboxName.equals(other.mailboxName)))
-                    ;
+            return (Objects.equals(this.acl, other.acl))
+                    && (Objects.equals(this.mailboxName, other.mailboxName));
         }
         return false;
     }
@@ -63,8 +63,7 @@ public final class ACLResponse implements ImapResponseMessage 
{
 
     @Override
     public int hashCode() {
-        final int PRIME = 31;
-        return PRIME * acl.hashCode() + mailboxName.hashCode();
+        return Objects.hash(acl, mailboxName);
     }
 
     @Override
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java
index 268229e..4e07406 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java
@@ -20,6 +20,7 @@
 package org.apache.james.imap.message.response;
 
 import java.util.Arrays;
+import java.util.Objects;
 
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.message.response.ImapResponseMessage;
@@ -45,7 +46,9 @@ public final class ListRightsResponse implements 
ImapResponseMessage {
     public boolean equals(Object o) {
         if (o instanceof ListRightsResponse) {
             ListRightsResponse other = (ListRightsResponse) o;
-            return (this.mailboxName == other.mailboxName || (this.mailboxName 
!= null && this.mailboxName.equals(other.mailboxName))) && (this.identifier == 
other.identifier || (this.identifier != null && 
this.identifier.equals(other.identifier))) && Arrays.equals(this.rights, 
other.rights);
+            return (Objects.equals(this.mailboxName, other.mailboxName)) &&
+                    (Objects.equals(this.identifier, other.identifier)) &&
+                    Arrays.equals(this.rights, other.rights);
         }
         return false;
     }
@@ -64,12 +67,7 @@ public final class ListRightsResponse implements 
ImapResponseMessage {
 
     @Override
     public int hashCode() {
-        final int PRIME = 31;
-        int hashCode = (mailboxName == null ? 0 : mailboxName.hashCode());
-        hashCode = PRIME * hashCode + (identifier == null ? 0 : 
identifier.hashCode());
-        hashCode = PRIME * hashCode + (rights == null ? 0 : 
Arrays.hashCode(rights));
-
-        return hashCode;
+        return Objects.hash(mailboxName, identifier, rights);
     }
 
     @Override
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java
index ad093ae..30e853c 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.imap.message.response;
 
+import java.util.Objects;
+
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.message.response.ImapResponseMessage;
 import org.apache.james.mailbox.model.MailboxACL;
@@ -40,9 +42,8 @@ public final class MyRightsResponse implements 
ImapResponseMessage {
     public boolean equals(Object o) {
         if (o instanceof MyRightsResponse) {
             MyRightsResponse other = (MyRightsResponse) o;
-            return (this.myRights == other.myRights || (this.myRights != null 
&& this.myRights.equals(other.myRights)))
-                    && (this.mailboxName == other.mailboxName || 
(this.mailboxName != null && this.mailboxName.equals(other.mailboxName)))
-                    ;
+            return Objects.equals(this.myRights, other.myRights) &&
+                    Objects.equals(this.mailboxName, other.mailboxName);
         }
         return false;
     }
@@ -57,8 +58,7 @@ public final class MyRightsResponse implements 
ImapResponseMessage {
 
     @Override
     public int hashCode() {
-        final int PRIME = 31;
-        return PRIME * myRights.hashCode() + mailboxName.hashCode();
+        return Objects.hash(myRights, mailboxName);
     }
 
     @Override
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java
index b4dedb5..604b75f 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.imap.message.response;
 
+import java.util.Objects;
+
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.message.response.ImapResponseMessage;
 
@@ -37,9 +39,8 @@ public class QuotaRootResponse implements ImapResponseMessage 
{
     public boolean equals(Object o) {
         if (o instanceof QuotaRootResponse) {
             QuotaRootResponse other = (QuotaRootResponse) o;
-            return (this.quotaRoot == other.quotaRoot || (this.quotaRoot != 
null && this.quotaRoot.equals(other.quotaRoot)))
-                    && (this.mailboxName == other.mailboxName || 
(this.mailboxName != null && this.mailboxName.equals(other.mailboxName)))
-                    ;
+            return Objects.equals(this.quotaRoot, other.quotaRoot) &&
+                    Objects.equals(this.mailboxName, other.mailboxName);
         }
         return false;
     }
@@ -54,8 +55,7 @@ public class QuotaRootResponse implements ImapResponseMessage 
{
 
     @Override
     public int hashCode() {
-        final int PRIME = 31;
-        return PRIME * quotaRoot.hashCode() + mailboxName.hashCode();
+        return Objects.hash(quotaRoot, mailboxName);
     }
 
     @Override
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java
index 3d28708..dd00225 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java
@@ -56,18 +56,11 @@ public class ByteImapResponseWriter implements 
ImapConstants, ImapResponseWriter
 
     @Override
     public void write(Literal literal) throws IOException {
-        InputStream in = null;
-        try {
-            in = literal.getInputStream();
-
+        try (InputStream in = literal.getInputStream()) {
             byte[] buffer = new byte[1024];
-            for (int len; (len = in.read(buffer)) != -1;) {
+            for (int len; (len = in.read(buffer)) != -1; ) {
                 out.write(buffer, 0, len);
             }
-        } finally {
-            if (in != null) {
-                in.close();
-            }
         }
     }
 
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 538cb03..cdd1a98 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
@@ -1124,10 +1124,7 @@ public abstract class AbstractSMTPServerTest {
             assertThat(address.toString()).isEqualTo(recipients.get(i));
         }
 
-        BufferedReader reader = null;
-
-        try {
-            reader = new BufferedReader(new 
InputStreamReader(env.getMessageInputStream()));
+        try (BufferedReader reader = new BufferedReader(new 
InputStreamReader(env.getMessageInputStream()))) {
 
             String line = null;
             boolean start = false;
@@ -1147,10 +1144,6 @@ public abstract class AbstractSMTPServerTest {
             for (int i = 0; i < msg.length(); i++) {
                 assertThat(msgQueued.charAt(i)).isEqualTo(msg.charAt(i));
             }
-        } finally {
-            if (reader != null) {
-                reader.close();
-            }
         }
 
     }
diff --git 
a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java
 
b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java
index d5375a1..3aaee0a 100644
--- 
a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java
+++ 
b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java
@@ -60,24 +60,15 @@ public abstract class MimeMessageSource {
      */
     public long getMessageSize() throws IOException {
         int size = 0;
-        InputStream in = null;
-        try {
-            in = getInputStream();
+        try (InputStream in = getInputStream()) {
             int read;
             byte[] data = new byte[1024];
             while ((read = in.read(data)) > 0) {
                 size += read;
             }
-        } finally {
-            try {
-                if (in != null) {
-                    in.close();
-                }
-            } catch (IOException ioe) {
-                // Exception ignored because logging is
-                // unavailable
-            }
         }
+        // Exception ignored because logging is
+        // unavailable
         return size;
     }
 
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 a68e124..457bb39 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
@@ -60,7 +60,7 @@ public class DefaultStager<A extends Annotation> implements 
DisposingStager<A> {
             }
 
             case FIRST_IN_LAST_OUT: {
-                localStageables = Collections.asLifoQueue(new 
ArrayDeque<Stageable>());
+                localStageables = Collections.asLifoQueue(new ArrayDeque<>());
                 break;
             }
 
diff --git 
a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
 
b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
index cecfb4d..426e37d 100644
--- 
a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
+++ 
b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
@@ -35,21 +35,12 @@ public class OSGIConfigurationProvider implements 
org.apache.james.container.spr
 
     @Override
     public HierarchicalConfiguration<ImmutableNode> getConfiguration(String 
beanName) throws ConfigurationException {
-        FileInputStream fis = null;
-        try {
-            fis = new FileInputStream("/tmp/" + beanName + ".xml");
+        try (FileInputStream fis = new FileInputStream("/tmp/" + beanName + 
".xml")) {
             return FileConfigurationProvider.getConfig(fis);
         } catch (IOException e) {
             throw new ConfigurationException("Bean " + beanName);
-        } finally {
-            if (fis != null) {
-                try {
-                    fis.close();
-                } catch (Exception e) {
-                    // Left empty on purpose
-                }
-            }
         }
+        // Left empty on purpose
     }
 
 }
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 a51e152..0357aab 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
@@ -35,7 +35,7 @@ import javax.management.ObjectName;
 public class JMXEnabledScheduledThreadPoolExecutor extends 
ScheduledThreadPoolExecutor implements 
JMXEnabledScheduledThreadPoolExecutorMBean {
 
     private final String jmxPath;
-    private final List<Runnable> inProgress = Collections.synchronizedList(new 
ArrayList<Runnable>());
+    private final List<Runnable> inProgress = Collections.synchronizedList(new 
ArrayList<>());
     private final ThreadLocal<Long> startTime = new ThreadLocal<>();
     private long totalTime;
     private int totalTasks;
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 c80112a..b6e0051 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
@@ -37,7 +37,7 @@ import javax.management.ObjectName;
 public class JMXEnabledThreadPoolExecutor extends ThreadPoolExecutor 
implements JMXEnabledThreadPoolExecutorMBean {
 
     private final String jmxPath;
-    private final List<Runnable> inProgress = Collections.synchronizedList(new 
ArrayList<Runnable>());
+    private final List<Runnable> inProgress = Collections.synchronizedList(new 
ArrayList<>());
     private final ThreadLocal<Long> startTime = new ThreadLocal<>();
     private long totalTime;
     private int totalTasks;
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 acf8a90..c093c01 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
@@ -52,7 +52,7 @@ public class SqlResources {
     private final Map<String, String> dbOptions = new HashMap<>();
 
     /** A set of all used String values */
-    private static final Map<String, String> stringTable = 
java.util.Collections.synchronizedMap(new HashMap<String, String>());
+    private static final Map<String, String> stringTable = 
java.util.Collections.synchronizedMap(new HashMap<>());
 
     /**
      * <p>
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 2299cd9..6ff41f8 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
@@ -109,7 +109,7 @@ public class FileMailRepository extends 
AbstractMailRepository {
             streamRepository.init();
 
             if (cacheKeys) {
-                keys = Collections.synchronizedSet(new HashSet<String>());
+                keys = Collections.synchronizedSet(new HashSet<>());
             }
 
             // Finds non-matching pairs and deletes the extra files
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 d856dcd..56e5a98 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
@@ -84,15 +84,9 @@ public class SieveFileRepository implements SieveRepository {
      */
     protected static String toString(File file, String encoding) throws 
FileNotFoundException {
         String script = null;
-        Scanner scanner = null;
-        try {
-            scanner = new Scanner(file, encoding);
+        try (Scanner scanner = new Scanner(file, encoding)) {
             scanner.useDelimiter("\\A");
             script = scanner.next();
-        } finally {
-            if (scanner != null) {
-                scanner.close();
-            }
         }
         return script;
     }
@@ -191,16 +185,10 @@ public class SieveFileRepository implements 
SieveRepository {
             file = getQuotaFile();
         }
         if (file.exists()) {
-            Scanner scanner = null;
-            try {
-                scanner = new Scanner(file, UTF_8);
+            try (Scanner scanner = new Scanner(file, UTF_8)) {
                 quota = scanner.nextLong();
             } catch (FileNotFoundException | NoSuchElementException ex) {
                 // no op
-            } finally {
-                if (null != scanner) {
-                    scanner.close();
-                }
             }
         }
         if ((usedSpace + size) > quota) {
@@ -397,16 +385,10 @@ public class SieveFileRepository implements 
SieveRepository {
         Long quota = null;
         File file = getQuotaFile();
         if (file.exists()) {
-            Scanner scanner = null;
-            try {
-                scanner = new Scanner(file, UTF_8);
+            try (Scanner scanner = new Scanner(file, UTF_8)) {
                 quota = scanner.nextLong();
             } catch (FileNotFoundException | NoSuchElementException ex) {
                 // no op
-            } finally {
-                if (null != scanner) {
-                    scanner.close();
-                }
             }
         }
         if (null == quota) {
@@ -449,16 +431,10 @@ public class SieveFileRepository implements 
SieveRepository {
         Long quota = null;
         File file = getQuotaFile(user);
         if (file.exists()) {
-            Scanner scanner = null;
-            try {
-                scanner = new Scanner(file, UTF_8);
+            try (Scanner scanner = new Scanner(file, UTF_8)) {
                 quota = scanner.nextLong();
             } catch (FileNotFoundException | NoSuchElementException ex) {
                 // no op
-            } finally {
-                if (null != scanner) {
-                    scanner.close();
-                }
             }
         }
         if (null == quota) {
diff --git 
a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
 
b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
index 953ebe2..3c1df61 100644
--- 
a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
+++ 
b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
@@ -28,6 +28,7 @@ import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.Objects;
 
 import org.apache.james.repository.api.StreamRepository;
 import org.apache.james.server.core.MimeMessageSource;
@@ -250,7 +251,8 @@ public class MimeMessageJDBCSource extends 
MimeMessageSource {
             // of
             // the equals equation
             MimeMessageJDBCSource source = (MimeMessageJDBCSource) obj;
-            return ((source.key.equals(key)) || ((source.key != null) && 
source.key.equals(key))) && ((source.repository == repository) || 
((source.repository != null) && source.repository.equals(repository)));
+            return Objects.equals(source.key, key) &&
+                    Objects.equals(source.repository, repository);
         }
         return false;
     }
@@ -261,14 +263,7 @@ public class MimeMessageJDBCSource extends 
MimeMessageSource {
      * @return the hash code
      */
     public int hashCode() {
-        int result = 17;
-        if (key != null) {
-            result = 37 * key.hashCode();
-        }
-        if (repository != null) {
-            result = 37 * repository.hashCode();
-        }
-        return result;
+        return Objects.hash(key, repository);
     }
 
 }
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 71c93fa..4a0bb02 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
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
 public abstract class AbstractStateCompositeProcessor implements 
MailProcessor, Configurable {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(AbstractStateCompositeProcessor.class);
 
-    private final List<CompositeProcessorListener> listeners = 
Collections.synchronizedList(new ArrayList<CompositeProcessorListener>());
+    private final List<CompositeProcessorListener> listeners = 
Collections.synchronizedList(new ArrayList<>());
     private final Map<String, MailProcessor> processors = new HashMap<>();
     protected HierarchicalConfiguration<ImmutableNode> config;
 
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 68a1d37..86ebde8 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
@@ -67,7 +67,7 @@ public abstract class AbstractStateMailetProcessor implements 
MailProcessor, Con
     private MailetContext mailetContext;
     private MatcherLoader matcherLoader;
     private MailProcessor rootMailProcessor;
-    private final List<MailetProcessorListener> listeners = 
Collections.synchronizedList(new ArrayList<MailetProcessorListener>());
+    private final List<MailetProcessorListener> listeners = 
Collections.synchronizedList(new ArrayList<>());
     private JMXStateMailetProcessorListener jmxListener;
     private boolean enableJmx = true;
     private HierarchicalConfiguration<ImmutableNode> config;
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
index f5d2312..087c7d2 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
@@ -65,17 +65,11 @@ public class MessageToCoreToMessage {
                         return (String) part.getContent();
                     }
                     InputStream is = (InputStream) part.getContent();
-                    Scanner scanner = null;
-                    try {
-                        scanner = new Scanner(is, "UTF-8");
+                    try (Scanner scanner = new Scanner(is, "UTF-8")) {
                         scanner.useDelimiter("\\A");
                         if (scanner.hasNext()) {
                             result = scanner.next();
                         }
-                    } finally {
-                        if (scanner != null) {
-                            scanner.close();
-                        }
                     }
                 }
             }
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 f311474..7a24544 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
@@ -504,9 +504,8 @@ public class FetchMail implements Runnable, Configurable {
         if (LOGGER.isDebugEnabled()) {
             LOGGER.debug("Session properties:");
             Properties properties = getSession().getProperties();
-            Enumeration<Object> e = properties.keys();
-            while (e.hasMoreElements()) {
-                String key = (String) e.nextElement();
+            for (Object o : properties.keySet()) {
+                String key = (String) o;
                 String val = (String) properties.get(key);
                 if (val.length() > 40) {
                     val = val.substring(0, 37) + "...";
diff --git 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
index 932dd7f..f819cca 100644
--- 
a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
+++ 
b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
@@ -115,7 +115,7 @@ public class SetMailboxesUpdateProcessor implements 
SetMailboxesProcessor {
                 .type(SetError.Type.INVALID_ARGUMENTS)
                 .description("The mailbox name length is too long")
                 .build());
-        } catch (MailboxNameException e) {
+        } catch (MailboxNameException | IllegalArgumentException e) {
             responseBuilder.notUpdated(mailboxId, SetError.builder()
                     .type(SetError.Type.INVALID_ARGUMENTS)
                     .description(e.getMessage())
@@ -150,11 +150,6 @@ public class SetMailboxesUpdateProcessor implements 
SetMailboxesProcessor {
                 .type(SetError.Type.INVALID_ARGUMENTS)
                 .description("Cannot share a mailbox to another domain")
                 .build());
-        } catch (IllegalArgumentException e) {
-            responseBuilder.notUpdated(mailboxId, SetError.builder()
-                .type(SetError.Type.INVALID_ARGUMENTS)
-                .description(e.getMessage())
-                .build());
         } catch (MailboxException e) {
             LOGGER.error("Error while updating mailbox", e);
             responseBuilder.notUpdated(mailboxId, SetError.builder()
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 f0d64df..338f654 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
@@ -36,7 +36,7 @@ import 
org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor;
 public class JMXEnabledOrderedMemoryAwareThreadPoolExecutor extends 
OrderedMemoryAwareThreadPoolExecutor implements 
JMXEnabledOrderedMemoryAwareThreadPoolExecutorMBean {
 
     private final String jmxPath;
-    private final List<Runnable> inProgress = Collections.synchronizedList(new 
ArrayList<Runnable>());
+    private final List<Runnable> inProgress = Collections.synchronizedList(new 
ArrayList<>());
     private final ThreadLocal<Long> startTime = new ThreadLocal<>();
     private long totalTime;
     private int totalTasks;
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 2183816..9db776b 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
@@ -92,27 +92,28 @@ public class SPFHandlerTest {
                     case DNSRequest.TXT:
                     case DNSRequest.SPF:
                         List<String> l = new ArrayList<>();
-                        if (req.getHostname().equals("spf1.james.apache.org")) 
{
-                            // pass
-                            l.add("v=spf1 +all");
-                            return l;
-                        } else if 
(req.getHostname().equals("spf2.james.apache.org")) {
-                            // fail
-                            l.add("v=spf1 -all");
-                            return l;
-                        } else if 
(req.getHostname().equals("spf3.james.apache.org")) {
-                            // softfail
-                            l.add("v=spf1 ~all");
-                            return l;
-                        } else if 
(req.getHostname().equals("spf4.james.apache.org")) {
-                            // permerror
-                            l.add("v=spf1 badcontent!");
-                            return l;
-                        } else if 
(req.getHostname().equals("spf5.james.apache.org")) {
-                            // temperror
-                            throw new TimeoutException("TIMEOUT");
-                        } else {
-                            return null;
+                        switch (req.getHostname()) {
+                            case "spf1.james.apache.org":
+                                // pass
+                                l.add("v=spf1 +all");
+                                return l;
+                            case "spf2.james.apache.org":
+                                // fail
+                                l.add("v=spf1 -all");
+                                return l;
+                            case "spf3.james.apache.org":
+                                // softfail
+                                l.add("v=spf1 ~all");
+                                return l;
+                            case "spf4.james.apache.org":
+                                // permerror
+                                l.add("v=spf1 badcontent!");
+                                return l;
+                            case "spf5.james.apache.org":
+                                // temperror
+                                throw new TimeoutException("TIMEOUT");
+                            default:
+                                return null;
                         }
                     default:
                         throw new UnsupportedOperationException("Unimplemented 
mock service");


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to