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/21 10:34:28 UTC

[2/5] james-project git commit: JAMES-2107 Run inspection profile "collapse catch blocks"

JAMES-2107 Run inspection profile "collapse catch blocks"


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

Branch: refs/heads/master
Commit: 5ad47aedfe70b849958b576edf5fd041f607e993
Parents: 395004c
Author: benwa <bt...@linagora.com>
Authored: Fri Aug 18 10:08:59 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Mon Aug 21 17:33:29 2017 +0700

----------------------------------------------------------------------
 .../mailbox/jcr/mail/JCRMessageMapper.java      |  4 +--
 .../mailbox/jpa/mail/JPAMessageMapper.java      |  4 +--
 .../lucene/search/LuceneMessageSearchIndex.java | 13 ++------
 .../james/mailbox/maildir/MaildirFolder.java    |  5 ----
 .../maildir/mail/model/MaildirMessage.java      |  5 +---
 .../james/mailbox/store/MessageResultImpl.java  |  4 +--
 .../apache/james/mailbox/store/ResultUtils.java |  4 +--
 .../mailbox/store/StoreMessageManager.java      |  4 +--
 .../mailbox/store/search/MessageSearches.java   |  4 +--
 .../apache/james/transport/KeyStoreHolder.java  | 12 ++------
 .../apache/james/transport/SMIMEKeyHolder.java  | 10 +------
 .../transport/mailets/SMIMECheckSignature.java  |  5 +---
 .../james/transport/mailets/SMIMEDecrypt.java   |  8 ++---
 .../mailet/DefaultDescriptorsExtractor.java     | 21 +++----------
 .../transport/mailets/ContentReplacer.java      |  5 +---
 .../james/transport/mailets/HeadersToHTTP.java  |  5 +---
 .../james/transport/mailets/LogMessage.java     |  4 +--
 .../james/transport/mailets/OnlyText.java       |  5 +---
 .../james/transport/mailets/ReplaceContent.java | 10 +------
 .../transport/mailets/SerialiseToHTTP.java      |  5 +---
 .../james/transport/mailets/UnwrapText.java     | 23 ++++++---------
 .../james/transport/mailets/WrapText.java       | 20 +++++--------
 .../mpt/imapmailbox/cyrus/host/Docker.java      | 11 ++-----
 .../host/LuceneSearchHostSystem.java            |  4 +--
 .../imap/decode/ImapRequestLineReader.java      | 10 +------
 .../parser/GetAnnotationCommandParser.java      | 21 ++++++-------
 .../imap/decode/parser/SearchCommandParser.java |  5 +---
 .../protocols/pop3/core/TopCmdHandler.java      |  5 +---
 .../java/org/apache/james/core/MailImpl.java    |  5 +---
 .../org/apache/james/core/MimeMessageUtil.java  | 20 +------------
 .../mailbox/MailboxCopierManagement.java        |  8 +----
 .../ProtocolHandlerLoaderBeanFactory.java       |  6 +---
 .../james/util/scanner/SpamAssassinInvoker.java |  4 +--
 .../mailrepository/file/MBoxMailRepository.java |  4 +--
 .../file/SieveFileRepository.java               | 12 ++------
 .../mailrepository/jcr/JCRMailRepository.java   |  8 ++---
 .../mailrepository/jdbc/MessageInputStream.java | 22 +++++++-------
 .../rrt/lib/AbstractRecipientRewriteTable.java  |  5 +---
 .../apache/james/user/lib/util/DigestUtil.java  | 12 ++++----
 .../mailets/RecipientRewriteTableProcessor.java |  8 +----
 .../mailets/jsieve/delivery/SieveExecutor.java  |  8 ++---
 .../transcode/MessageToCoreToMessage.java       | 21 +++++++------
 .../EnhancedMessagingException.java             |  5 +---
 .../lib/mock/MockProtocolHandlerLoader.java     | 10 ++-----
 .../hook/MailboxDeliverToRecipientHandler.java  |  8 +----
 .../smtpserver/fastfail/URIRBLHandler.java      |  4 +--
 .../queue/activemq/ActiveMQMailQueueItem.java   |  4 +--
 .../james/queue/api/mock/MockMailQueue.java     |  7 ++---
 .../apache/james/queue/file/FileMailQueue.java  | 31 +++-----------------
 .../apache/james/queue/jms/JMSMailQueue.java    |  4 +--
 50 files changed, 110 insertions(+), 342 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 f11520a..e721389 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
@@ -520,9 +520,7 @@ public class JCRMessageMapper extends AbstractMessageMapper implements JCRImapCo
                 membership.merge(messageNode);
             }
             return new SimpleMessageMetaData(membership);
-        } catch (RepositoryException e) {
-            throw new MailboxException("Unable to save message " + message + " in mailbox " + mailbox, e);
-        } catch (IOException e) {
+        } catch (RepositoryException | IOException e) {
             throw new MailboxException("Unable to save message " + message + " in mailbox " + mailbox, e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 81fb757..8e59765 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
@@ -341,9 +341,7 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
                 return new SimpleMessageMetaData(persistData);
             }
 
-        } catch (PersistenceException e) {
-            throw new MailboxException("Save of message " + message + " failed in mailbox " + mailbox, e);
-        } catch (ArgumentException e) {
+        } catch (PersistenceException | ArgumentException e) {
             throw new MailboxException("Save of message " + message + " failed in mailbox " + mailbox, e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 bcbc54f..2acaa37 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
@@ -743,15 +743,11 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
         try {
             // parse the message to index headers and body
             parser.parse(membership.getFullContent());
-        } catch (MimeException e) {
+        } catch (MimeException | IOException e) {
             // This should never happen as it was parsed before too without problems.            
             throw new MailboxException("Unable to index content of message", e);
-        } catch (IOException e) {
-            // This should never happen as it was parsed before too without problems.
-            // anyway let us just skip the body and headers in the index
-            throw new MailboxException("Unable to index content of message", e);
         }
-       
+
 
         return doc;
     }
@@ -1264,8 +1260,6 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
         try {
             writer.addDocument(doc);
             writer.addDocument(flagsDoc);
-        } catch (CorruptIndexException e) {
-            throw new MailboxException("Unable to add message to index", e);
         } catch (IOException e) {
             throw new MailboxException("Unable to add message to index", e);
         }
@@ -1390,9 +1384,6 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
         
         try {
             writer.deleteDocuments(query);
-        } catch (CorruptIndexException e) {
-            throw new MailboxException("Unable to delete message from index", e);
-
         } catch (IOException e) {
             throw new MailboxException("Unable to delete message from index", e);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 3189e46..a7fc8f7 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
@@ -21,7 +21,6 @@ package org.apache.james.mailbox.maildir;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.FilenameFilter;
@@ -925,8 +924,6 @@ public class MaildirFolder {
                 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);
                 }
@@ -970,8 +967,6 @@ public class MaildirFolder {
                     try {
                         out = new FileOutputStream(f);
                         props.store(out, "written by "+ getClass().getName());
-                    } 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);
                     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
----------------------------------------------------------------------
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 f21eafd..514cb70 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
@@ -139,10 +139,7 @@ public class MaildirMessage implements Message {
                 }
                 propertyBuilder.setTextualLineCount(lines);
             }
-        } catch (IOException e) {
-            // has successfully been parsen when appending, shouldn't give any
-            // problems
-        } catch (MimeException e) {
+        } catch (IOException | MimeException e) {
             // has successfully been parsen when appending, shouldn't give any
             // problems
         } finally {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 cf75533..72c1586 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
@@ -337,9 +337,7 @@ public class MessageResultImpl implements MessageResult {
                 } else {
                     mimeDescriptor = new LazyMimeDescriptor(this, message);
                 }
-            } catch (IOException e) {
-                throw new MailboxException("Unable to create the MimeDescriptor", e);
-            } catch (MimeException e) {
+            } catch (IOException | MimeException e) {
                 throw new MailboxException("Unable to create the MimeDescriptor", e);
             }
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 ad4375c..04cc41d 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
@@ -133,9 +133,7 @@ public class ResultUtils {
             }
             return messageResult;
 
-        } catch (IOException e) {
-            throw new MailboxException("Unable to parse message", e);
-        } catch (MimeException e) {
+        } catch (IOException | MimeException e) {
             throw new MailboxException("Unable to parse message", e);
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 5d3259e..03d45bd 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
@@ -423,9 +423,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
                 return new ComposedMessageId(mailbox.getMailboxId(), data.getMessageId(), data.getUid());
             }, true);
 
-        } catch (IOException e) {
-            throw new MailboxException("Unable to parse message", e);
-        } catch (MimeException e) {
+        } catch (IOException | MimeException e) {
             throw new MailboxException("Unable to parse message", e);
         } finally {
             IOUtils.closeQuietly(bIn);

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 966814a..b2fdd22 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
@@ -212,9 +212,7 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search
                 return messageContains(value, message);
             }
             throw new UnsupportedSearchException();
-        } catch (IOException e) {
-            throw new MailboxException("Unable to parse message", e);
-        } catch (MimeException e) {
+        } catch (IOException | MimeException e) {
             throw new MailboxException("Unable to parse message", e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 c71e51e..be5fc14 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
@@ -87,20 +87,12 @@ public class KeyStoreHolder {
 
         try {
             InitJCE.init();
-        } catch (InstantiationException e) {
-            NoSuchProviderException ex = new NoSuchProviderException("Error during cryptography provider initialization. Has bcprov-jdkxx-yyy.jar been copied in the lib directory or installed in the system?");
-            ex.initCause(e);
-            throw ex;
-        } catch (IllegalAccessException e) {
-            NoSuchProviderException ex = new NoSuchProviderException("Error during cryptography provider initialization. Has bcprov-jdkxx-yyy.jar been copied in the lib directory or installed in the system?");
-            ex.initCause(e);
-            throw ex;
-        } catch (ClassNotFoundException e) {
+        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
             NoSuchProviderException ex = new NoSuchProviderException("Error during cryptography provider initialization. Has bcprov-jdkxx-yyy.jar been copied in the lib directory or installed in the system?");
             ex.initCause(e);
             throw ex;
         }
-        
+
         if (keyStoreType == null) {
             keyStoreType = KeyStore.getDefaultType();
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 74ff5dc..388faf6 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
@@ -116,15 +116,7 @@ public class SMIMEKeyHolder implements KeyHolder{
         
         try {
             InitJCE.init();
-        } catch (InstantiationException e) {
-            NoSuchProviderException ex = new NoSuchProviderException("Error during cryptography provider initialization. Has bcprov-jdkxx-yyy.jar been copied in the lib directory or installed in the system?");
-            ex.initCause(e);
-            throw ex;
-        } catch (IllegalAccessException e) {
-            NoSuchProviderException ex = new NoSuchProviderException("Error during cryptography provider initialization. Has bcprov-jdkxx-yyy.jar been copied in the lib directory or installed in the system?");
-            ex.initCause(e);
-            throw ex;
-        } catch (ClassNotFoundException e) {
+        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
             NoSuchProviderException ex = new NoSuchProviderException("Error during cryptography provider initialization. Has bcprov-jdkxx-yyy.jar been copied in the lib directory or installed in the system?");
             ex.initCause(e);
             throw ex;

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 f9e5aba..6e1a52a 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
@@ -172,15 +172,12 @@ public class SMIMECheckSignature extends GenericMailet {
             // message to change its state. The message 
             // is considered as not signed and the process will
             // go on.
-        } catch (CMSException e) {
+        } catch (CMSException | SMIMEException e) {
             log("Error during the analysis of the signed message", e);
             signers = null;
         } catch (IOException e) {
             log("IO error during the analysis of the signed message", e);
             signers = null;
-        } catch (SMIMEException e) {
-            log("Error during the analysis of the signed message", e);
-            signers = null;
         } catch (Exception e) {
             log("Generic error occured during the analysis of the message", e);
             signers = null;

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 a6a628a..a3f138e 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
@@ -99,9 +99,7 @@ public class SMIMEDecrypt extends GenericMailet {
         
         try {
             keyHolder = new SMIMEKeyHolder(privateStoreFile, privateStorePass, keyAlias, keyPass, privateStoreType);
-        } catch (IOException e) {
-            throw new MessagingException("Error loading keystore", e);
-        } catch (GeneralSecurityException e) {
+        } catch (IOException | GeneralSecurityException e) {
             throw new MessagingException("Error loading keystore", e);
         }
 
@@ -111,9 +109,7 @@ public class SMIMEDecrypt extends GenericMailet {
     private X509CertificateHolder from(X509Certificate certificate) throws MessagingException {
         try {
             return new X509CertificateHolder(certificate.getEncoded());
-        } catch (CertificateEncodingException e) {
-            throw new MessagingException("Error during the parsing of the certificate", e);
-        } catch (IOException e) {
+        } catch (CertificateEncodingException | IOException e) {
             throw new MessagingException("Error during the parsing of the certificate", e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 0c7d075..73a7957 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
@@ -118,9 +118,7 @@ public class DefaultDescriptorsExtractor {
                 logInterfaces(log, klass, allInterfaces);
             }
 
-        } catch (NoClassDefFoundError e) {
-            log.error("NotFound: " + e.getMessage());
-        } catch (ClassNotFoundException e) {
+        } catch (NoClassDefFoundError | ClassNotFoundException e) {
             log.error("NotFound: " + e.getMessage());
         } catch (SecurityException e) {
             log.error("SE: " + e.getMessage());
@@ -175,17 +173,8 @@ public class DefaultDescriptorsExtractor {
             if (info != null && info.length() > 0) {
                 result.setInfo(info);
             }
-        } catch (InstantiationException e) {
-            handleInfoLoadFailure(log, nameOfClass, type, e);
-        } catch (IllegalAccessException e) {
-            handleInfoLoadFailure(log, nameOfClass, type, e);
-        } catch (IllegalArgumentException e) {
-            handleInfoLoadFailure(log, nameOfClass, type, e);
-        } catch (SecurityException e) {
-            handleInfoLoadFailure(log, nameOfClass, type, e);
-        } catch (InvocationTargetException e) {
-            handleInfoLoadFailure(log, nameOfClass, type, e);
-        } catch (NoSuchMethodException e) {
+        } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
+                | InvocationTargetException | SecurityException | NoSuchMethodException e) {
             handleInfoLoadFailure(log, nameOfClass, type, e);
         }
         return result;
@@ -231,9 +220,7 @@ public class DefaultDescriptorsExtractor {
         if (log.isDebugEnabled()) {
             try {
                 log.debug("Constructor(empty): " + klass.getConstructor((Class<?>)null));
-            } catch (SecurityException e) { 
-                log.debug("Cannot introspect empty constructor", e);
-            } catch (NoSuchMethodException e) {
+            } catch (SecurityException | NoSuchMethodException e) {
                 log.debug("Cannot introspect empty constructor", e);
             }
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContentReplacer.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContentReplacer.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContentReplacer.java
index 92fb945..d2ab11b 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContentReplacer.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ContentReplacer.java
@@ -87,10 +87,7 @@ public class ContentReplacer {
             if (subjectChanged || contentChanged) {
                 mail.getMessage().saveChanges();
             }
-        } catch (MessagingException e) {
-            throw new MailetException("Error in replace", e);
-            
-        } catch (IOException e) {
+        } catch (MessagingException | IOException e) {
             throw new MailetException("Error in replace", e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 0057ea0..25434ef 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
@@ -116,12 +116,9 @@ public class HeadersToHTTP extends GenericMailet {
             } else {
                 mail.setState(Mail.GHOST);
             }
-        } catch (javax.mail.MessagingException me) {
+        } catch (MessagingException | IOException me) {
             log(me.getMessage());
             addHeader(mail, false, me.getMessage());
-        } catch (IOException e) {
-            log(e.getMessage());
-            addHeader(mail, false, e.getMessage());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
index ce71916..cfe5517 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/LogMessage.java
@@ -80,9 +80,7 @@ public class LogMessage extends GenericMailet {
             MimeMessage message = mail.getMessage();
             logHeaders(message);
             logBody(message);
-        } catch (MessagingException e) {
-            log("Error logging message.", e);
-        } catch (java.io.IOException e) {
+        } catch (MessagingException | IOException e) {
             log("Error logging message.", e);
         }
         if (!passThrough) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 3fc4f53..e26827c 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
@@ -127,10 +127,7 @@ public class OnlyText extends GenericMailet {
                 setContentFromPart(mail.getMessage(), mail.getMessage(), html2Text((String) mail.getMessage().getContent()), true);
             }
 
-        } catch (IOException e) {
-            throw new MailetException("Failed fetching text part", e);
-
-        } catch (MessagingException e) {
+        } catch (IOException | MessagingException e) {
             throw new MailetException("Failed fetching text part", e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mailet/standard/src/main/java/org/apache/james/transport/mailets/ReplaceContent.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ReplaceContent.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ReplaceContent.java
index 3656522..6da5c79 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/ReplaceContent.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/ReplaceContent.java
@@ -19,7 +19,6 @@
 
 package org.apache.james.transport.mailets;
 
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.nio.charset.Charset;
 import java.util.List;
@@ -126,15 +125,8 @@ public class ReplaceContent extends GenericMailet {
                     .addAllSubjectReplacingUnits(subjectPatternFile())
                     .addAllBodyReplacingUnits(bodyPatternFile())
                     .build();
-        } catch (FileNotFoundException e) {
+        } catch (MailetException | IOException e) {
             throw new MailetException("Failed initialization", e);
-            
-        } catch (MailetException e) {
-            throw new MailetException("Failed initialization", e);
-            
-        } catch (IOException e) {
-            throw new MailetException("Failed initialization", e);
-            
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java
index bc41065..337f490 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SerialiseToHTTP.java
@@ -124,12 +124,9 @@ public class SerialiseToHTTP extends GenericMailet {
             } else {
                 mail.setState(Mail.GHOST);
             }
-        } catch (javax.mail.MessagingException me) {
+        } catch (MessagingException | IOException me) {
             log(me.getMessage());
             addHeader(mail, false, me.getMessage());
-        } catch (IOException e) {
-            log(e.getMessage());
-            addHeader(mail, false, e.getMessage());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mailet/standard/src/main/java/org/apache/james/transport/mailets/UnwrapText.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UnwrapText.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UnwrapText.java
index 09e84b1..c5d38f6 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UnwrapText.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UnwrapText.java
@@ -19,18 +19,18 @@
 
 package org.apache.james.transport.mailets;
 
-import org.apache.mailet.Experimental;
-import org.apache.mailet.base.FlowedMessageUtils;
-import org.apache.mailet.base.GenericMailet;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailetException;
-
-import javax.mail.MessagingException;
-
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import javax.mail.MessagingException;
+
+import org.apache.mailet.Experimental;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailetException;
+import org.apache.mailet.base.FlowedMessageUtils;
+import org.apache.mailet.base.GenericMailet;
+
 /**
  * <p>Remove (best effort to) the hardcoded wrapping from a message.<br>
  * If the text is  "format=flowed" then deflows the text. Otherwise it forces a dewrap of the text.
@@ -87,14 +87,9 @@ public class UnwrapText extends GenericMailet {
                     mail.getMessage().saveChanges();
                 }
             }
-            
-        } catch (MessagingException e) {
-            throw new MailetException("Could not unwrap message", e);
-            
-        } catch (IOException e) {
+        } catch (MessagingException | IOException e) {
             throw new MailetException("Could not unwrap message", e);
         }
-        
     }
     
     public static String unwrap(String text) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mailet/standard/src/main/java/org/apache/james/transport/mailets/WrapText.java
----------------------------------------------------------------------
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/WrapText.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/WrapText.java
index 959440e..d67f02c 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/WrapText.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/WrapText.java
@@ -19,15 +19,15 @@
 
 package org.apache.james.transport.mailets;
 
-import org.apache.mailet.Experimental;
-import org.apache.mailet.base.FlowedMessageUtils;
-import org.apache.mailet.base.GenericMailet;
-import org.apache.mailet.Mail;
-import org.apache.mailet.MailetException;
+import java.io.IOException;
 
 import javax.mail.MessagingException;
 
-import java.io.IOException;
+import org.apache.mailet.Experimental;
+import org.apache.mailet.Mail;
+import org.apache.mailet.MailetException;
+import org.apache.mailet.base.FlowedMessageUtils;
+import org.apache.mailet.base.GenericMailet;
 
 /**
  * Convert a message to format=flowed
@@ -56,16 +56,10 @@ public class WrapText extends GenericMailet {
 
     public void service(Mail mail) throws MailetException {
         // TODO We could even manage the flow when the message is quoted-printable
-        
         try {
             FlowedMessageUtils.flowMessage(mail.getMessage(), optionFlowedDelsp, optionWidth);
-            
-        } catch (MessagingException e) {
-            throw new MailetException("Could not wrap message", e);
-            
-        } catch (IOException e) {
+        } catch (MessagingException | IOException e) {
             throw new MailetException("Could not wrap message", e);
         }
-        
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
index f9dc546..c52fd3d 100644
--- a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
+++ b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/Docker.java
@@ -89,9 +89,7 @@ public class Docker {
         try {
             dockerClient.killContainer(container.id());
             dockerClient.removeContainer(container.id(), true);
-        } catch (DockerException e) {
-            Throwables.propagate(e);
-        } catch (InterruptedException e) {
+        } catch (DockerException | InterruptedException e) {
             Throwables.propagate(e);
         }
     }
@@ -110,12 +108,9 @@ public class Docker {
                                     .ports()
                                     .get(EXPOSED_IMAP_PORT))
                             .hostPort());
-        } catch (NumberFormatException e) {
-            throw Throwables.propagate(e);
-        } catch (DockerException e) {
+        } catch (NumberFormatException | DockerException | InterruptedException e) {
             throw Throwables.propagate(e);
-        } catch (InterruptedException e) {
-            throw Throwables.propagate(e);        }
+        }
     }
     
     public void createUser(ContainerCreation container, String user, String password) throws DockerException, InterruptedException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
index b5ca051..6bd7221 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
@@ -140,9 +140,7 @@ public class LuceneSearchHostSystem extends JamesImapHostSystem {
                 new DefaultImapEncoderFactory().buildImapEncoder(),
                 defaultImapProcessorFactory);
 
-        } catch (IOException e) {
-            throw Throwables.propagate(e);
-        } catch (MailboxException e) {
+        } catch (IOException | MailboxException e) {
             throw Throwables.propagate(e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 89875bd..57c9420 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
@@ -28,8 +28,6 @@ import java.nio.charset.Charset;
 import java.nio.charset.CharsetDecoder;
 import java.nio.charset.CoderResult;
 import java.nio.charset.CodingErrorAction;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -447,13 +445,7 @@ public abstract class ImapRequestLineReader {
         try {
             return charset.newDecoder().onMalformedInput(CodingErrorAction.REPORT).onUnmappableCharacter(CodingErrorAction.REPORT).decode(buffer).toString();
 
-        } catch (IllegalStateException e) {
-            throw new DecodingException(HumanReadableText.BAD_IO_ENCODING, "Bad character encoding", e);
-        } catch (MalformedInputException e) {
-            throw new DecodingException(HumanReadableText.BAD_IO_ENCODING, "Bad character encoding", e);
-        } catch (UnmappableCharacterException e) {
-            throw new DecodingException(HumanReadableText.BAD_IO_ENCODING, "Bad character encoding", e);
-        } catch (CharacterCodingException e) {
+        } catch (IllegalStateException | CharacterCodingException e) {
             throw new DecodingException(HumanReadableText.BAD_IO_ENCODING, "Bad character encoding", e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
index 052a327..55484db 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
@@ -19,12 +19,6 @@
 
 package org.apache.james.imap.decode.parser;
 
-import com.google.common.base.Optional;
-import org.apache.james.imap.message.request.GetAnnotationRequest;
-import org.apache.james.mailbox.model.MailboxAnnotationKey;
-import com.google.common.base.CharMatcher;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.ImapMessage;
@@ -32,9 +26,16 @@ import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.decode.ImapRequestLineReader;
 import org.apache.james.imap.decode.base.AbstractImapCommandParser;
+import org.apache.james.imap.message.request.GetAnnotationRequest;
 import org.apache.james.imap.message.request.GetAnnotationRequest.Depth;
+import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.protocols.imap.DecodingException;
 
+import com.google.common.base.CharMatcher;
+import com.google.common.base.Optional;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
+
 public class GetAnnotationCommandParser extends AbstractImapCommandParser {
     private static final CharMatcher ENDOFLINE_PATTERN = CharMatcher.isNot('\n').and(CharMatcher.isNot('\r'));
     private static final  String MAXSIZE = "MAXSIZE";
@@ -50,12 +51,8 @@ public class GetAnnotationCommandParser extends AbstractImapCommandParser {
         throws DecodingException {
         try {
             return buildAnnotationRequest(command, requestReader, tag);
-        } catch (NullPointerException e) {
-            throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, e.getMessage());
-        } catch (IllegalArgumentException e) {
-            throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, e.getMessage());
-        } catch (IllegalStateException e) {
-            throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, e.getMessage());
+        } catch (NullPointerException | IllegalArgumentException | IllegalStateException e) {
+            throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, e.getMessage(), e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 875b2cd..6adc7c2 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
@@ -1021,10 +1021,7 @@ public class SearchCommandParser extends AbstractUidCommandParser {
             }
 
             return new SearchRequest(command, new SearchOperation(finalKey, options), useUids, tag);
-        } catch (IllegalCharsetNameException e) {
-            session.getLog().debug("Unable to decode request", e);
-            return unsupportedCharset(tag, command);
-        } catch (UnsupportedCharsetException e) {
+        } catch (IllegalCharsetNameException | UnsupportedCharsetException e) {
             session.getLog().debug("Unable to decode request", e);
             return unsupportedCharset(tag, command);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 1994c7a..f872f31 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
@@ -101,10 +101,7 @@ public class TopCmdHandler extends RetrCmdHandler implements CapaCapability {
                 }
             } catch (IOException ioe) {
                 return ERROR_MESSAGE_RETR;
-            } catch (IndexOutOfBoundsException iob) {
-                StringBuilder exceptionBuffer = new StringBuilder(64).append("Message (").append(num).append(") does not exist.");
-                return new POP3Response(POP3Response.ERR_RESPONSE, exceptionBuffer.toString());
-            } catch (NoSuchElementException iob) {
+            } catch (IndexOutOfBoundsException | NoSuchElementException iob) {
                 StringBuilder exceptionBuffer = new StringBuilder(64).append("Message (").append(num).append(") does not exist.");
                 return new POP3Response(POP3Response.ERR_RESPONSE, exceptionBuffer.toString());
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 857302a..c7ecd83 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
@@ -184,10 +184,7 @@ public class MailImpl implements Disposable, Mail {
                 }
                 setAttributesRaw(attribs);
             }
-        } catch (IOException e) {
-            LOGGER.error("Error while deserializing attributes", e);
-            setAttributesRaw(new HashMap<>());
-        } catch (ClassNotFoundException e) {
+        } catch (IOException | ClassNotFoundException e) {
             LOGGER.error("Error while deserializing attributes", e);
             setAttributesRaw(new HashMap<>());
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/container/core/src/main/java/org/apache/james/core/MimeMessageUtil.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/core/MimeMessageUtil.java b/server/container/core/src/main/java/org/apache/james/core/MimeMessageUtil.java
index fc7b8e7..5ee7a49 100644
--- a/server/container/core/src/main/java/org/apache/james/core/MimeMessageUtil.java
+++ b/server/container/core/src/main/java/org/apache/james/core/MimeMessageUtil.java
@@ -134,7 +134,7 @@ public class MimeMessageUtil {
             // raw stream, but see
             bos = MimeUtility.encode(bodyOs, message.getEncoding());
             bis = message.getInputStream();
-        } catch (UnsupportedDataTypeException udte) {
+        } catch (UnsupportedDataTypeException | MessagingException udte) {
             /*
              * If we get an UnsupportedDataTypeException try using the raw input
              * stream as a "best attempt" at rendering a message.
@@ -159,24 +159,6 @@ public class MimeMessageUtil {
             } catch (javax.mail.MessagingException ignored) {
                 throw udte;
             }
-        } catch (javax.mail.MessagingException me) {
-            /*
-             * This could be another kind of MessagingException thrown by
-             * MimeMessage.getInputStream(), such as a
-             * javax.mail.internet.ParseException.
-             * 
-             * The ParseException is precisely one of the reasons why the
-             * getRawInputStream() method exists, so that we can continue to
-             * stream the content, even if we cannot handle it. Again, if we get
-             * an exception, we throw the one that caused us to call
-             * getRawInputStream().
-             */
-            try {
-                bis = message.getRawInputStream();
-                bos = bodyOs;
-            } catch (javax.mail.MessagingException ignored) {
-                throw me;
-            }
         }
 
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 7be2847..f9b02a0 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
@@ -81,13 +81,7 @@ public class MailboxCopierManagement implements MailboxCopierManagementMBean {
             throw new IllegalArgumentException("srcBean and dstBean can not have the same name!");
         try {
             copier.copyMailboxes(resolver.resolveMailboxManager(srcBean), resolver.resolveMailboxManager(dstBean));
-        } catch (MailboxManagerResolverException e) {
-            log.error("An exception occured during the copy process", e);
-            throw new Exception(e.getMessage());
-        } catch (MailboxException e) {
-            log.error("An exception occured during the copy process", e);
-            throw new Exception(e.getMessage());
-        } catch (IOException e) {
+        } catch (MailboxManagerResolverException | MailboxException | IOException e) {
             log.error("An exception occured during the copy process", e);
             throw new Exception(e.getMessage());
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java
index 598daef..8770adb 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java
@@ -39,11 +39,7 @@ public class ProtocolHandlerLoaderBeanFactory extends AbstractBeanFactory implem
             ProtocolHandler handler =  (ProtocolHandler) getBeanFactory().createBean(c, AutowireCapableBeanFactory.AUTOWIRE_AUTODETECT, true);
             handler.init(config);
             return handler;
-        } catch (ClassNotFoundException e) {
-            throw new LoadingException("Unable to load handler", e);
-        } catch (BeansException e) {
-            throw new LoadingException("Unable to load handler", e);
-        } catch (ConfigurationException e) {
+        } catch (ClassNotFoundException | BeansException | ConfigurationException e) {
             throw new LoadingException("Unable to load handler", e);
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 6ea131a..bb222ac 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
@@ -130,9 +130,7 @@ public class SpamAssassinInvoker {
             return false;
         } catch (UnknownHostException e1) {
             throw new MessagingException("Error communicating with spamd. Unknown host: " + spamdHost);
-        } catch (IOException e1) {
-            throw new MessagingException("Error communicating with spamd on " + spamdHost + ":" + spamdPort + " Exception: " + e1);
-        } catch (MessagingException e1) {
+        } catch (IOException | MessagingException e1) {
             throw new MessagingException("Error communicating with spamd on " + spamdHost + ":" + spamdPort + " Exception: " + e1);
         } finally {
             try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 39f096b..5f66612 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
@@ -559,9 +559,7 @@ public class MBoxMailRepository implements MailRepository, LogEnabled, Configura
                 fromHeader = "From " + mc.getMessage().getFrom()[0] + " " + dy.format(Calendar.getInstance().getTime());
             }
 
-        } catch (IOException e) {
-            getLogger().error("Unable to parse mime message for " + mboxFile, e);
-        } catch (MessagingException e) {
+        } catch (IOException | MessagingException e) {
             getLogger().error("Unable to parse mime message for " + mboxFile, e);
         }
         // And save only the new stuff to disk

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 19274ee..a45ae25 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
@@ -193,9 +193,7 @@ public class SieveFileRepository implements SieveRepository {
             try {
                 scanner = new Scanner(file, UTF_8);
                 quota = scanner.nextLong();
-            } catch (FileNotFoundException ex) {
-                // no op
-            } catch (NoSuchElementException ex) {
+            } catch (FileNotFoundException | NoSuchElementException ex) {
                 // no op
             } finally {
                 if (null != scanner) {
@@ -398,9 +396,7 @@ public class SieveFileRepository implements SieveRepository {
             try {
                 scanner = new Scanner(file, UTF_8);
                 quota = scanner.nextLong();
-            } catch (FileNotFoundException ex) {
-                // no op
-            } catch (NoSuchElementException ex) {
+            } catch (FileNotFoundException | NoSuchElementException ex) {
                 // no op
             } finally {
                 if (null != scanner) {
@@ -452,9 +448,7 @@ public class SieveFileRepository implements SieveRepository {
             try {
                 scanner = new Scanner(file, UTF_8);
                 quota = scanner.nextLong();
-            } catch (FileNotFoundException ex) {
-                // no op
-            } catch (NoSuchElementException ex) {
+            } catch (FileNotFoundException | NoSuchElementException ex) {
                 // no op
             } finally {
                 if (null != scanner) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 dae56e9..8544473 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
@@ -154,9 +154,7 @@ public class JCRMailRepository extends AbstractMailRepository implements MailRep
             } finally {
                 session.logout();
             }
-        } catch (IOException e) {
-            throw new MessagingException("Unable to retrieve message: " + key, e);
-        } catch (RepositoryException e) {
+        } catch (IOException | RepositoryException e) {
             throw new MessagingException("Unable to retrieve message: " + key, e);
         }
     }
@@ -656,9 +654,7 @@ public class JCRMailRepository extends AbstractMailRepository implements MailRep
             } finally {
                 session.logout();
             }
-        } catch (IOException e) {
-            throw new MessagingException("Unable to store message: " + mail.getName(), e);
-        } catch (RepositoryException e) {
+        } catch (IOException | RepositoryException e) {
             throw new MessagingException("Unable to store message: " + mail.getName(), e);
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
index 0c9cccd..acd16de 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
@@ -19,15 +19,6 @@
 
 package org.apache.james.mailrepository.jdbc;
 
-import org.apache.james.core.MimeMessageCopyOnWriteProxy;
-import org.apache.james.core.MimeMessageUtil;
-import org.apache.james.core.MimeMessageWrapper;
-import org.apache.james.repository.api.StreamRepository;
-import org.apache.mailet.Mail;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
-
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -36,6 +27,15 @@ import java.io.OutputStream;
 import java.io.PipedInputStream;
 import java.io.PipedOutputStream;
 
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.james.core.MimeMessageCopyOnWriteProxy;
+import org.apache.james.core.MimeMessageUtil;
+import org.apache.james.core.MimeMessageWrapper;
+import org.apache.james.repository.api.StreamRepository;
+import org.apache.mailet.Mail;
+
 /**
  * This class provides an inputStream for a Mail object.<br>
  * If the Mail is larger than 4KB it uses Piped streams and a worker thread,
@@ -101,9 +101,7 @@ final class MessageInputStream extends InputStream {
                 public void run() {
                     try {
                         writeStream(mail, out, update);
-                    } catch (IOException e) {
-                        caughtException = e;
-                    } catch (MessagingException e) {
+                    } catch (IOException | MessagingException e) {
                         caughtException = e;
                     }
                 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
index 2621f64..2b8fafa 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
@@ -131,10 +131,7 @@ public abstract class AbstractRecipientRewriteTable implements RecipientRewriteT
                     if (target.startsWith(RecipientRewriteTable.REGEX_PREFIX)) {
                         try {
                             target = RecipientRewriteTableUtil.regexMap(new MailAddress(user, domain), target);
-                        } catch (PatternSyntaxException e) {
-                            getLogger().error("Exception during regexMap processing: ", e);
-                        } catch (ParseException e) {
-                            // should never happen
+                        } catch (PatternSyntaxException | ParseException e) {
                             getLogger().error("Exception during regexMap processing: ", e);
                         }
                     } else if (target.startsWith(RecipientRewriteTable.ALIASDOMAIN_PREFIX)) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/data/data-library/src/main/java/org/apache/james/user/lib/util/DigestUtil.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/util/DigestUtil.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/util/DigestUtil.java
index b085f47..cebc918 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/util/DigestUtil.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/util/DigestUtil.java
@@ -19,9 +19,6 @@
 
 package org.apache.james.user.lib.util;
 
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeUtility;
-
 import java.io.ByteArrayOutputStream;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -31,6 +28,9 @@ import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.Locale;
 
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeUtility;
+
 /**
  * Computes and verifies digests of files and strings
  */
@@ -148,10 +148,8 @@ public class DigestUtil {
             OutputStream encodedStream = MimeUtility.encode(bos, "base64");
             encodedStream.write(digest);
             return bos.toString("iso-8859-1");
-        } catch (IOException ioe) {
-            throw new RuntimeException("Fatal error: " + ioe);
-        } catch (MessagingException me) {
-            throw new RuntimeException("Fatal error: " + me);
+        } catch (IOException | MessagingException e) {
+            throw new RuntimeException("Fatal error: " + e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 0b45833..1fe511a 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
@@ -116,13 +116,7 @@ public class RecipientRewriteTableProcessor {
                 return new RrtExecutionResult(Optional.of(newMailAddresses), Optional.<List<MailAddress>>absent());
             }
             return origin(recipient);
-        } catch (ErrorMappingException e) {
-            mailetContext.log(LogLevel.INFO, "Error while process mail.", e);
-            return error(recipient);
-        } catch (RecipientRewriteTableException e) {
-            mailetContext.log(LogLevel.INFO, "Error while process mail.", e);
-            return error(recipient);
-        } catch (MessagingException e) {
+        } catch (ErrorMappingException | RecipientRewriteTableException | MessagingException e) {
             mailetContext.log(LogLevel.INFO, "Error while process mail.", e);
             return error(recipient);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java
index d33f7d6..f770218 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/delivery/SieveExecutor.java
@@ -140,13 +140,9 @@ public class SieveExecutor {
             // This logging operation is potentially costly
             log.debug("Evaluating " + aMailAdapter.toString() + " against \"" + recipient.asPrettyString() + "\"");
             factory.evaluate(aMailAdapter, factory.parse(userSieveInformation.getScriptContent()));
-        } catch (SieveException ex) {
+        } catch (SieveException | ParseException ex) {
             handleFailure(recipient, aMail, ex);
-        }
-        catch (ParseException ex) {
-            handleFailure(recipient, aMail, ex);
-        }
-        catch (TokenMgrError ex) {
+        } catch (TokenMgrError ex) {
             handleFailure(recipient, aMail, new SieveException(ex));
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
----------------------------------------------------------------------
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 6eddaa0..f5d2312 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
@@ -20,20 +20,21 @@
 
 package org.apache.james.transport.mailets.managesieve.transcode;
 
-import org.apache.james.managesieve.api.ManageSieveException;
-import org.apache.james.managesieve.api.Session;
-import org.apache.james.managesieve.transcode.ManageSieveProcessor;
-import org.apache.james.sieverepository.api.exception.SieveRepositoryException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Locale;
+import java.util.Scanner;
 
 import javax.mail.Address;
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeBodyPart;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Locale;
-import java.util.Scanner;
+
+import org.apache.james.managesieve.api.ManageSieveException;
+import org.apache.james.managesieve.api.Session;
+import org.apache.james.managesieve.transcode.ManageSieveProcessor;
+import org.apache.james.sieverepository.api.exception.SieveRepositoryException;
 
 public class MessageToCoreToMessage {
     
@@ -144,9 +145,7 @@ public class MessageToCoreToMessage {
     private String retrieveAttachedScript(MimeMessage message) {
         try {
             return getScript(message);
-        } catch (IOException e) {
-            return  "";
-        } catch (MessagingException e) {
+        } catch (IOException | MessagingException e) {
             return  "";
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 180a0bf..84d87fc 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
@@ -114,10 +114,7 @@ public class EnhancedMessagingException {
         if (hasReturnCode()) {
             try {
                 return Optional.of((InternetAddress) invokeGetter(messagingException, "getAddress"));
-            } catch (ClassCastException cce) {
-            } catch (IllegalArgumentException iae) {
-            } catch (IllegalStateException ise) {
-            }
+            } catch (ClassCastException | IllegalArgumentException | IllegalStateException cce) { }
         }
         return Optional.absent();
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 9adaf84..02a1316 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
@@ -71,9 +71,7 @@ public class MockProtocolHandlerLoader implements ProtocolHandlerLoader{
         for (Object aLoaderRegistry : loaderRegistry) {
             try {
                 preDestroy(aLoaderRegistry);
-            } catch (IllegalAccessException e) {
-                e.printStackTrace();
-            } catch (InvocationTargetException e) {
+            } catch (IllegalAccessException | InvocationTargetException e) {
                 e.printStackTrace();
             }
         }
@@ -131,11 +129,7 @@ public class MockProtocolHandlerLoader implements ProtocolHandlerLoader{
                     try {
                         Object[] args = { service };
                         method.invoke(resource, args);
-                    } catch (IllegalAccessException e) {
-                        throw new RuntimeException("Injection failed for object " + resource + " on method " + method + " with resource " + service, e);
-                    } catch (IllegalArgumentException e) {
-                        throw new RuntimeException("Injection failed for object " + resource + " on method " + method + " with resource " + service, e);
-                    } catch (InvocationTargetException e) {
+                    } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
                         throw new RuntimeException("Injection failed for object " + resource + " on method " + method + " with resource " + service, e);
                     }
                 } else {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java
----------------------------------------------------------------------
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java
index 4645ef8..68d29bc 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java
@@ -88,13 +88,7 @@ public class MailboxDeliverToRecipientHandler implements DeliverToRecipientHook
             mailboxManager.endProcessingRequest(mailboxSession);
             result = new HookResult(HookReturnCode.OK, SMTPRetCode.MAIL_OK, DSNStatus.getStatus(DSNStatus.SUCCESS, DSNStatus.CONTENT_OTHER) + " Message received");
 
-        } catch (IOException e) {
-            session.getLogger().error("Unexpected error handling DATA stream", e);
-            result = new HookResult(HookReturnCode.DENYSOFT, " Temporary error deliver message to " + recipient);
-        } catch (MailboxException e) {
-            session.getLogger().error("Unexpected error handling DATA stream", e);
-            result = new HookResult(HookReturnCode.DENYSOFT, " Temporary error deliver message to " + recipient);
-        } catch (UsersRepositoryException e) {
+        } catch (IOException | MailboxException | UsersRepositoryException e) {
             session.getLogger().error("Unexpected error handling DATA stream", e);
             result = new HookResult(HookReturnCode.DENYSOFT, " Temporary error deliver message to " + recipient);
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 241ae12..df5782b 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
@@ -223,9 +223,7 @@ public class URIRBLHandler implements JamesMessageHook, ProtocolHandler {
                     }
                 }
             }
-        } catch (MessagingException e) {
-            session.getLogger().error(e.getMessage());
-        } catch (IOException e) {
+        } catch (MessagingException | IOException e) {
             session.getLogger().error(e.getMessage());
         }
         return false;

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueItem.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueItem.java b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueItem.java
index 61a2aa1..da88082 100644
--- a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueItem.java
+++ b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueueItem.java
@@ -61,9 +61,7 @@ public class ActiveMQMailQueueItem extends JMSMailQueueItem implements ActiveMQS
                 // https://issues.apache.org/activemq/browse/AMQ-1529
                 try {
                     ((ActiveMQBlobMessage) message).deleteFile();
-                } catch (IOException e) {
-                    logger.warn("Unable to delete blob message file for mail {}", getMail().getName());
-                } catch (JMSException e) {
+                } catch (IOException | JMSException e) {
                     logger.warn("Unable to delete blob message file for mail {}", getMail().getName());
                 }
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 4f9d3ce..0ec3281 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
@@ -90,11 +90,8 @@ public class MockMailQueue implements MailQueue {
             bais = new ByteArrayInputStream(baos.toByteArray());
             return new MailImpl("MockMailCopy" + new Random().nextLong(),
                     mail.getSender(), mail.getRecipients(), bais);
-        } catch (MessagingException ex) {
-            log.error("", ex);
-            throw new RuntimeException(ex);
-        } catch (IOException ex) {
-            log.error("", ex);
+        } catch (MessagingException | IOException ex) {
+            log.error("Exception caught", ex);
             throw new RuntimeException(ex);
         } finally {
             IOUtils.closeQuietly(bais);

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 5251c9e..a870d36 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
@@ -20,7 +20,6 @@ package org.apache.james.queue.file;
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -133,9 +132,7 @@ public class FileMailQueue implements ManageableMailQueue {
                         }, next - System.currentTimeMillis(), TimeUnit.MILLISECONDS);
                     }
 
-                } catch (ClassNotFoundException e1) {
-                    log.error("Unable to load Mail", e1);
-                } catch (IOException e) {
+                } catch (ClassNotFoundException | IOException e) {
                     log.error("Unable to load Mail", e);
                 } finally {
                     if (oin != null) {
@@ -197,16 +194,8 @@ public class FileMailQueue implements ManageableMailQueue {
             }
 
             //TODO: Think about exception handling in detail
-        } catch (FileNotFoundException e) {
-            throw new MailQueueException("Unable to enqueue mail", e);
-        } catch (IOException e) {
-            throw new MailQueueException("Unable to enqueue mail", e);
-
-        } catch (MessagingException e) {
+        } catch (IOException | MessagingException | InterruptedException e) {
             throw new MailQueueException("Unable to enqueue mail", e);
-        } catch (InterruptedException e) {
-            throw new MailQueueException("Unable to enqueue mail", e);
-
         } finally {
             if (out != null) {
                 try {
@@ -285,15 +274,8 @@ public class FileMailQueue implements ManageableMailQueue {
                 return mailQueueItemDecoratorFactory.decorate(fileMailQueueItem);
 
                 // TODO: Think about exception handling in detail
-            } catch (FileNotFoundException e) {
+            } catch (IOException | ClassNotFoundException | MessagingException e) {
                 throw new MailQueueException("Unable to dequeue", e);
-            } catch (IOException e) {
-                throw new MailQueueException("Unable to dequeue", e);
-            } catch (ClassNotFoundException e) {
-                throw new MailQueueException("Unable to dequeue", e);
-            } catch (MessagingException e) {
-                throw new MailQueueException("Unable to dequeue", e);
-
             } finally {
                 if (oin != null) {
                     try {
@@ -487,12 +469,7 @@ public class FileMailQueue implements ManageableMailQueue {
                                 }
                             };
                             return true;
-                        } catch (FileNotFoundException e) {
-                            log.info("Unable to load mail", e);
-                        } catch (IOException e) {
-                            log.info("Unable to load mail", e);
-
-                        } catch (ClassNotFoundException e) {
+                        } catch (IOException | ClassNotFoundException e) {
                             log.info("Unable to load mail", e);
                         } finally {
                             if (in != null) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/5ad47aed/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 8cfbe44..629d869 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
@@ -689,9 +689,7 @@ public class JMSMailQueue implements ManageableMailQueue, JMSSupport, MailPriori
                                     return mail;
                                 }
                             };
-                        } catch (MessagingException e) {
-                            logger.error("Unable to browse queue", e);
-                        } catch (JMSException e) {
+                        } catch (MessagingException | JMSException e) {
                             logger.error("Unable to browse queue", e);
                         }
                     }


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