This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 823ed4e84382468bf7daf1e95bb41bedc4442cdb Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Thu Jul 16 11:32:58 2020 +0700 [REFACTORING] Avoid variable reallocation in EnvelopeBuilder --- .../imap/processor/fetch/EnvelopeBuilder.java | 43 ++++++++++------------ 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java index 06bde4f..123c152 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/EnvelopeBuilder.java @@ -63,13 +63,12 @@ public final class EnvelopeBuilder { private String headerValue(Headers message, String headerName) throws MailboxException { final Header header = MessageResultUtils.getMatching(headerName, message.headers()); - final String result; if (header == null) { - result = null; + return null; } else { final String value = header.getValue(); if (value == null || "".equals(value)) { - result = null; + return null; } else { // ENVELOPE header values must be unfolded @@ -80,22 +79,19 @@ public final class EnvelopeBuilder { // unfold does. mime4j's unfold does strictly follow the rfc and so preserve them // // See IMAP-327 and https://mailman2.u.washington.edu/mailman/htdig/imap-protocol/2010-July/001271.html - result = MimeUtility.unfold(value); + return MimeUtility.unfold(value); } } - return result; } private FetchResponse.Envelope.Address[] buildAddresses(Headers message, String headerName, FetchResponse.Envelope.Address[] defaults) throws MailboxException { - final FetchResponse.Envelope.Address[] results; final FetchResponse.Envelope.Address[] addresses = buildAddresses(message, headerName); if (addresses == null) { - results = defaults; + return defaults; } else { - results = addresses; + return addresses; } - return results; } /** @@ -109,9 +105,8 @@ public final class EnvelopeBuilder { */ private FetchResponse.Envelope.Address[] buildAddresses(Headers message, String headerName) throws MailboxException { final Header header = MessageResultUtils.getMatching(headerName, message.headers()); - FetchResponse.Envelope.Address[] results; if (header == null) { - results = null; + return null; } else { // We need to unfold the header line. @@ -124,9 +119,8 @@ public final class EnvelopeBuilder { String value = MimeUtility.unfold(header.getValue()); if ("".equals(value.trim())) { - results = null; + return null; } else { - AddressList addressList = LenientAddressParser.DEFAULT.parseAddressList(value); final int size = addressList.size(); final List<FetchResponse.Envelope.Address> addresses = new ArrayList<>(size); @@ -145,22 +139,13 @@ public final class EnvelopeBuilder { } } - results = addresses.toArray(FetchResponse.Envelope.Address[]::new); - - + return addresses.toArray(FetchResponse.Envelope.Address[]::new); } } - return results; } private FetchResponse.Envelope.Address buildMailboxAddress(org.apache.james.mime4j.dom.address.Mailbox mailbox) { - // Encode the mailbox name - // See IMAP-266 - String name = mailbox.getName(); - if (name != null) { - name = EncoderUtil.encodeAddressDisplayName(name); - } - + final String name = encodedMailboxName(mailbox); final String domain = mailbox.getDomain(); final DomainList route = mailbox.getRoute(); final String atDomainList; @@ -173,6 +158,16 @@ public final class EnvelopeBuilder { return buildMailboxAddress(name, atDomainList, localPart, domain); } + private String encodedMailboxName(Mailbox mailbox) { + // Encode the mailbox name + // See IMAP-266 + String name = mailbox.getName(); + if (name != null) { + return EncoderUtil.encodeAddressDisplayName(name); + } + return null; + } + private void addAddresses(Group group, List<FetchResponse.Envelope.Address> addresses) { final String groupName = group.getName(); final FetchResponse.Envelope.Address start = startGroup(groupName); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org