JAMES-2085 Avoid unneeded error handling in Header comparator and avoid 
swallowing errors


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

Branch: refs/heads/master
Commit: ae4c8ff875ed719c8d0ae9cbf72150998cfacc27
Parents: bbba86f
Author: benwa <btell...@linagora.com>
Authored: Mon Jul 3 10:44:22 2017 +0700
Committer: benwa <btell...@linagora.com>
Committed: Wed Jul 5 17:13:28 2017 +0700

----------------------------------------------------------------------
 .../java/org/apache/james/mailbox/model/MessageResult.java  | 4 ++--
 .../org/apache/james/mailbox/store/MimeDescriptorImpl.java  | 6 +-----
 .../java/org/apache/james/mailbox/store/ResultHeader.java   | 4 ++--
 .../store/search/comparator/AbstractHeaderComparator.java   | 9 +++++----
 .../james/mailbox/store/streaming/FullByteContent.java      | 6 +-----
 .../apache/james/imap/processor/fetch/MimeBodyElement.java  | 6 +-----
 6 files changed, 12 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/ae4c8ff8/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java
index 045e3d0..128760a 100644
--- 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java
+++ 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageResult.java
@@ -176,7 +176,7 @@ public interface MessageResult extends 
Comparable<MessageResult>, MessageMetaDat
          * @return name of this header
          * @throws MessagingException
          */
-        String getName() throws MailboxException;
+        String getName();
 
         /**
          * Gets the (unparsed) value of this header.
@@ -184,7 +184,7 @@ public interface MessageResult extends 
Comparable<MessageResult>, MessageMetaDat
          * @return value of this header
          * @throws MessagingException
          */
-        String getValue() throws MailboxException;
+        String getValue();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/ae4c8ff8/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
index 351c5e9..7137040 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
@@ -331,11 +331,7 @@ public class MimeDescriptorImpl implements MimeDescriptor {
         Iterator<MessageResult.Header> hIt = headers.iterator();
         while(hIt.hasNext()) {
             MessageResult.Header header = hIt.next();
-            try {
-                sb.append(header.getName()).append(": " 
).append(header.getValue()).append("\r\n");
-            } catch (MailboxException e) {
-                throw new IOException("Unable to read headers", e);
-            }
+            sb.append(header.getName()).append(": " 
).append(header.getValue()).append("\r\n");
         }
         sb.append("\r\n");
         return new ByteArrayInputStream(sb.toString().getBytes(US_ASCII));

http://git-wip-us.apache.org/repos/asf/james-project/blob/ae4c8ff8/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultHeader.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultHeader.java 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultHeader.java
index 904c9aa..d01c13f 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultHeader.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ResultHeader.java
@@ -47,14 +47,14 @@ public final class ResultHeader implements 
MessageResult.Header {
     /**
      * @see org.apache.james.mailbox.model.MessageResult.Header#getName()
      */
-    public String getName() throws MailboxException {
+    public String getName() {
         return name;
     }
 
     /**
      * @see org.apache.james.mailbox.model.MessageResult.Header#getValue()
      */
-    public String getValue() throws MailboxException {
+    public String getValue() {
         return value;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/ae4c8ff8/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java
index 9dfa4f1..b626482 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/AbstractHeaderComparator.java
@@ -27,10 +27,14 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MessageResult.Header;
 import org.apache.james.mailbox.store.ResultUtils;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 
 public abstract class AbstractHeaderComparator implements 
Comparator<MailboxMessage>{
 
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(AbstractHeaderComparator.class);
+
     public final static String FROM ="from";
     public final static String TO ="to";
     public final static String CC ="cc";
@@ -39,18 +43,15 @@ public abstract class AbstractHeaderComparator implements 
Comparator<MailboxMess
         try {
             final List<Header> headers = ResultUtils.createHeaders(message);
             for (Header header : headers) {
-                try {
                     String name = header.getName();
                     if (headerName.equalsIgnoreCase(name)) {
                         final String value = header.getValue();
                         return value.toUpperCase(Locale.US);
                     }
-                } catch (MailboxException e) {
-                    // skip the header line
-                }
 
             }
         } catch (IOException e) {
+            LOGGER.warn("Exception encountered, skipping header line", e);
             // skip the header
         }
         return "";

http://git-wip-us.apache.org/repos/asf/james-project/blob/ae4c8ff8/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/FullByteContent.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/FullByteContent.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/FullByteContent.java
index 2316812..c9bef98 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/FullByteContent.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/streaming/FullByteContent.java
@@ -65,11 +65,7 @@ public class FullByteContent implements Content {
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         for (Header header : headers) {
             if (header != null) {
-                try {
-                    out.write((header.getName() + ": " + header.getValue() + 
"\r\n").getBytes("US-ASCII"));
-                } catch (MailboxException e) {
-                    throw new IOException("Unable to read headers", e);
-                }
+                out.write((header.getName() + ": " + header.getValue() + 
"\r\n").getBytes("US-ASCII"));
             }
         }
         out.write("\r\n".getBytes("US-ASCII"));

http://git-wip-us.apache.org/repos/asf/james-project/blob/ae4c8ff8/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeBodyElement.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeBodyElement.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeBodyElement.java
index 2287f6a..7e2afa2 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeBodyElement.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/MimeBodyElement.java
@@ -91,11 +91,7 @@ public class MimeBodyElement implements BodyElement {
         ByteArrayOutputStream out = new ByteArrayOutputStream();
 
         for (MessageResult.Header header : headers) {
-            try {
-                out.write((header.getName() + ": " + header.getValue() + 
ImapConstants.LINE_END).getBytes(US_ASCII));
-            } catch (MailboxException e) {
-                throw new IOException("Unable to read header", e);
-            }
+            out.write((header.getName() + ": " + header.getValue() + 
ImapConstants.LINE_END).getBytes(US_ASCII));
         }
         // no empty line with CRLF for MIME headers. See IMAP-297
         if (size > 0) {


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

Reply via email to