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