JAMES-2127 Guava's functions can be replaced by java 8
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9dc495f9 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9dc495f9 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9dc495f9 Branch: refs/heads/master Commit: 9dc495f91e27bfb7d59b06026d5929e3f50eb2fa Parents: c89655f Author: quynhn <qngu...@linagora.com> Authored: Mon Aug 28 14:57:51 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Thu Aug 31 08:24:02 2017 +0700 ---------------------------------------------------------------------- .../james/backends/jpa/JpaTestCluster.java | 4 +--- .../james/mailbox/model/MailboxAnnotation.java | 2 +- .../mail/MessageAttachmentRepresentation.java | 10 ---------- .../mailbox/store/StoreMessageIdManager.java | 5 ++--- .../store/search/SimpleMessageSearchIndex.java | 17 ++++++++++------- .../store/mail/model/ListMessageAssert.java | 20 +++++++++++--------- .../transport/mailets/UseHeaderRecipients.java | 11 ++++++----- .../utils/MailAddressCollectionReader.java | 16 +++++++++------- .../imap/processor/AbstractAuthProcessor.java | 2 +- .../CassandraRecipientRewriteTable.java | 7 ++++--- .../org/apache/james/rrt/lib/MappingsImpl.java | 4 +++- .../apache/james/transport/mailets/Resend.java | 8 ++++---- ...ddressesArrayToMailAddressListConverter.java | 4 ++-- .../remoteDelivery/DelaysAndMaxRetry.java | 7 ++----- .../james/transport/util/MailAddressUtils.java | 6 +++--- ...ssesArrayToMailAddressListConverterTest.java | 11 ++++++++++- .../methods/SetMailboxesCreationProcessor.java | 4 ++-- .../org/apache/james/jmap/model/Attachment.java | 14 ++++++++++++++ .../apache/james/jmap/model/MessageFactory.java | 4 ++-- 19 files changed, 87 insertions(+), 69 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java ---------------------------------------------------------------------- diff --git a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java index 19e0d86..42604dc 100644 --- a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java +++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java @@ -27,7 +27,6 @@ import javax.persistence.EntityManagerFactory; import org.apache.openjpa.persistence.OpenJPAPersistence; -import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; public class JpaTestCluster { @@ -48,10 +47,9 @@ public class JpaTestCluster { properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN"); properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72"); properties.put("openjpa.MetaDataFactory", "jpa(Types=" + - Joiner.on(";").join( clazz.stream() .map(Class::getName) - .collect(Collectors.toList())) + .collect(Collectors.joining(";")) + ")"); return new JpaTestCluster(OpenJPAPersistence.getEntityManagerFactory(properties)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java index 94fc839..2f3a7f4 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java @@ -27,7 +27,7 @@ import com.google.common.base.Preconditions; public class MailboxAnnotation { public static MailboxAnnotation nil(MailboxAnnotationKey key) { - return new MailboxAnnotation(key, Optional.<String> empty()); + return new MailboxAnnotation(key, Optional.empty()); } public static MailboxAnnotation newInstance(MailboxAnnotationKey key, String value) { http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java index af33569..838ac56 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java @@ -23,7 +23,6 @@ import java.util.Optional; import org.apache.james.mailbox.model.AttachmentId; import org.apache.james.mailbox.model.Cid; -import org.apache.james.mailbox.model.MessageAttachment; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.MoreObjects; @@ -36,15 +35,6 @@ public class MessageAttachmentRepresentation { return new Builder(); } - public static MessageAttachmentRepresentation fromAttachment(MessageAttachment attachment) { - return builder() - .attachmentId(attachment.getAttachmentId()) - .cid(attachment.getCid()) - .isInline(attachment.isInline()) - .name(attachment.getName().orElse(null)) - .build(); - } - public static class Builder { private AttachmentId attachmentId; http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java index a5c0492..11759cb 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java @@ -56,7 +56,6 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage; import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage; import org.apache.james.mailbox.store.quota.QuotaChecker; -import org.apache.james.util.PredicateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -274,8 +273,8 @@ public class StoreMessageIdManager implements MessageIdManager { } private Predicate<MailboxMessage> messageBelongsToUser(MailboxSession mailboxSession, MailboxMapper mailboxMapper) { - return PredicateUtils.compose(mailboxBelongsToUser(mailboxSession, mailboxMapper), - MailboxMessage::getMailboxId); + return mailboxMessage -> mailboxBelongsToUser(mailboxSession, mailboxMapper) + .test(mailboxMessage.getMailboxId()); } private void allowOnMailboxSession(List<MailboxId> mailboxIds, MailboxSession mailboxSession, MailboxMapper mailboxMapper) throws MailboxNotFoundException { http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java index bc9a931..c2614de 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java @@ -157,13 +157,16 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex { } private List<SearchResult> searchResults(MailboxSession session, Stream<Mailbox> mailboxes, SearchQuery query) throws MailboxException { - return mailboxes.flatMap(mailbox -> { - try { - return searchResults(session, mailbox, query).stream(); - } catch (MailboxException e) { - throw Throwables.propagate(e); - } - }).collect(Guavate.toImmutableList()); + return mailboxes.flatMap(mailbox -> getSearchResultStream(session, query, mailbox)) + .collect(Guavate.toImmutableList()); + } + + private Stream<? extends SearchResult> getSearchResultStream(MailboxSession session, SearchQuery query, Mailbox mailbox) { + try { + return searchResults(session, mailbox, query).stream(); + } catch (MailboxException e) { + throw Throwables.propagate(e); + } } private List<MessageId> getAsMessageIds(List<SearchResult> temp, long limit) { http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java index 215b8c1..1933858 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssert.java @@ -39,18 +39,20 @@ public class ListMessageAssert { private final List<InnerMessage> messageToInnerMessage(List<MailboxMessage> messages) { return messages.stream() - .map(message -> { - try { - return new InnerMessage(message.getMessageId(), message.getUid(), message.getMailboxId(), message.getInternalDate(), message.getBodyOctets(), - message.getFullContentOctets(), message.getMediaType(), message.getSubType(), IOUtils.toString(message.getFullContent())); - } catch (IOException e) { - Throwables.propagate(e); - return null; - } - }) + .map(message -> getInnerMessage(message)) .collect(Guavate.toImmutableList()); } + private InnerMessage getInnerMessage(MailboxMessage message) { + try { + return new InnerMessage(message.getMessageId(), message.getUid(), message.getMailboxId(), message.getInternalDate(), message.getBodyOctets(), + message.getFullContentOctets(), message.getMediaType(), message.getSubType(), IOUtils.toString(message.getFullContent())); + } catch (IOException e) { + Throwables.propagate(e); + return null; + } + } + private ListMessageAssert(List<MailboxMessage> actual) { this.actual = actual; } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java index 7b2b6a6..c562ee8 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/UseHeaderRecipients.java @@ -22,6 +22,7 @@ package org.apache.james.transport.mailets; import java.io.UnsupportedEncodingException; import java.util.Collection; +import java.util.stream.Stream; import javax.mail.MessagingException; import javax.mail.internet.AddressException; import javax.mail.internet.MimeMessage; @@ -174,7 +175,7 @@ public class UseHeaderRecipients extends GenericMailet { .parseAddressList(MimeUtil.unfold(headerPart)); return addressList.stream() - .flatMap(address -> convertAddressToMailboxCollection(address).stream()) + .flatMap(address -> convertAddressToMailboxCollection(address)) .map(this::toMailAddress) .collect(Guavate.toImmutableList()); } @@ -187,13 +188,13 @@ public class UseHeaderRecipients extends GenericMailet { } } - private Collection<Mailbox> convertAddressToMailboxCollection(Address address) { + private Stream<Mailbox> convertAddressToMailboxCollection(Address address) { if (address instanceof Mailbox) { - return ImmutableList.of((Mailbox) address); + return ImmutableList.of((Mailbox) address).stream(); } else if (address instanceof Group) { - return ImmutableList.copyOf(((Group) address).getMailboxes()); + return ImmutableList.copyOf(((Group) address).getMailboxes()).stream(); } - return ImmutableList.of(); + return Stream.of(); } private String sanitizeHeaderString(String header) throws MessagingException { http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java index 802e79d..6371d35 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/utils/MailAddressCollectionReader.java @@ -38,14 +38,16 @@ public class MailAddressCollectionReader { return Splitter.onPattern("(,| |\t)").splitToList(condition) .stream() .filter(s -> !Strings.isNullOrEmpty(s)) - .map(s -> { - try { - return new MailAddress(s); - } catch (AddressException e) { - throw Throwables.propagate(e); - } - }) + .map(s -> getMailAddress(s)) .collect(Guavate.toImmutableSet()); } + private static MailAddress getMailAddress(String s) { + try { + return new MailAddress(s); + } catch (AddressException e) { + throw Throwables.propagate(e); + } + } + } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java index 5ff2d9b..7208b3c 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java @@ -170,7 +170,7 @@ public abstract class AbstractAuthProcessor<M extends ImapRequest> extends Abstr } protected static AuthenticationAttempt noDelegation(String authenticationId, String password) { - return new AuthenticationAttempt(Optional.<String>empty(), authenticationId, password); + return new AuthenticationAttempt(Optional.empty(), authenticationId, password); } protected static class AuthenticationAttempt { http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java index 5a892e3..60642e2 100644 --- a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java +++ b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java @@ -174,9 +174,10 @@ public class CassandraRecipientRewriteTable extends AbstractRecipientRewriteTabl @Override protected String mapAddressInternal(String user, String domain) throws RecipientRewriteTableException { Mappings mappings = retrieveMappings(user, domain) - .orElse(retrieveMappings(WILDCARD, domain) - .orElse(retrieveMappings(user, WILDCARD) - .orElse(MappingsImpl.empty()))); + .orElseGet(() -> retrieveMappings(WILDCARD, domain) + .orElseGet(() -> retrieveMappings(user, WILDCARD) + .orElseGet(() -> MappingsImpl.empty()))); + return !mappings.isEmpty() ? mappings.serialize() : null; } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java index ac11e02..eacc55e 100644 --- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java +++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/MappingsImpl.java @@ -31,6 +31,7 @@ import java.util.stream.Stream; import org.apache.james.rrt.lib.Mapping.Type; +import com.github.steveash.guavate.Guavate; import com.google.common.base.Joiner; import com.google.common.base.MoreObjects; import com.google.common.base.Objects; @@ -121,7 +122,8 @@ public class MappingsImpl implements Mappings, Serializable { @Override public Iterable<String> asStrings() { return mappings.stream() - .map(Mapping::asString)::iterator; + .map(Mapping::asString) + .collect(Guavate.toImmutableList()); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java index 0ee248f..393bd6e 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/Resend.java @@ -369,8 +369,8 @@ public class Resend extends GenericMailet implements RedirectNotify { } return AddressExtractor.withContext(getMailetContext()) - .allowedSpecials(ImmutableList.of("postmaster", "sender", "null", "unaltered")) - .extract(replyTo) + .allowedSpecials(ImmutableList.of("postmaster", "sender", "null", "unaltered")) + .extract(replyTo) .stream() .findFirst(); } @@ -384,8 +384,8 @@ public class Resend extends GenericMailet implements RedirectNotify { public List<MailAddress> getRecipients() throws MessagingException { ImmutableList.Builder<MailAddress> builder = ImmutableList.builder(); List<MailAddress> mailAddresses = AddressExtractor.withContext(getMailetContext()) - .allowedSpecials(ImmutableList.of("postmaster", "sender", "from", "replyTo", "reversePath", "unaltered", "recipients", "to", "null")) - .extract(getInitParameters().getRecipients()); + .allowedSpecials(ImmutableList.of("postmaster", "sender", "from", "replyTo", "reversePath", "unaltered", "recipients", "to", "null")) + .extract(getInitParameters().getRecipients()); for (MailAddress address : mailAddresses) { builder.add(address); } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java index 60f8e46..cef6c33 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverter.java @@ -25,6 +25,7 @@ import java.util.Optional; import javax.mail.Address; import javax.mail.internet.AddressException; +import org.apache.james.util.OptionalUtils; import org.apache.mailet.MailAddress; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,8 +43,7 @@ public class AddressesArrayToMailAddressListConverter { return Arrays.asList(addresses) .stream() .map(address -> toMailAddress(address)) - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(OptionalUtils::toStream) .collect(Guavate.toImmutableList()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java index 11036b3..e627ea0 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DelaysAndMaxRetry.java @@ -25,7 +25,6 @@ import javax.mail.MessagingException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.github.steveash.guavate.Guavate; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Objects; import com.google.common.base.Splitter; @@ -80,11 +79,9 @@ public class DelaysAndMaxRetry { return ImmutableList.of(new Delay()); } - ImmutableList<String> delayStrings = Splitter.on(',') + List<String> delayStrings = Splitter.on(',') .omitEmptyStrings() - .splitToList(delaysAsString) - .stream() - .collect(Guavate.toImmutableList()); + .splitToList(delaysAsString); ImmutableList.Builder<Delay> builder = ImmutableList.builder(); try { http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java index bce977b..0a19e1f 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/util/MailAddressUtils.java @@ -44,16 +44,16 @@ public class MailAddressUtils { } public static List<InternetAddress> toInternetAddresses(List<MailAddress> mailAddresses) { - return iterableOfInternetAddress(mailAddresses) + return streamOfInternetAddress(mailAddresses) .collect(Guavate.toImmutableList()); } public static InternetAddress[] toInternetAddressArray(List<MailAddress> mailAddresses) { - return iterableOfInternetAddress(mailAddresses) + return streamOfInternetAddress(mailAddresses) .toArray(InternetAddress[]::new); } - private static Stream<InternetAddress> iterableOfInternetAddress(List<MailAddress> mailAddresses) { + private static Stream<InternetAddress> streamOfInternetAddress(List<MailAddress> mailAddresses) { return mailAddresses.stream() .map(MailAddress::toInternetAddress); } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java index 6ec50e4..e706e58 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/AddressesArrayToMailAddressListConverterTest.java @@ -20,7 +20,6 @@ package org.apache.james.transport.mailets.remoteDelivery; import static org.assertj.core.api.Assertions.assertThat; - import javax.mail.Address; import javax.mail.internet.InternetAddress; @@ -29,6 +28,8 @@ import org.junit.Test; public class AddressesArrayToMailAddressListConverterTest { + private static final String WRONG_INTERNET_ADDRESS = "!!"; + @Test public void getAddressesAsMailAddressShouldReturnEmptyOnNull() { assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(null)).isEmpty(); @@ -53,4 +54,12 @@ public class AddressesArrayToMailAddressListConverterTest { new InternetAddress(MailAddressFixture.OTHER_AT_JAMES.toString())})) .containsOnly(MailAddressFixture.ANY_AT_JAMES, MailAddressFixture.OTHER_AT_JAMES); } + + @Test + public void getAddressesAsMailAddressShouldFilterErrorMailAddress() throws Exception { + assertThat(AddressesArrayToMailAddressListConverter.getAddressesAsMailAddress(new Address[]{ + new InternetAddress(MailAddressFixture.ANY_AT_JAMES.toString()), + new InternetAddress(WRONG_INTERNET_ADDRESS)})) + .containsOnly(MailAddressFixture.ANY_AT_JAMES); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java index 071eefd..51b9c54 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java @@ -48,12 +48,12 @@ import org.apache.james.mailbox.model.MailboxId.Factory; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.metrics.api.MetricFactory; import org.apache.james.metrics.api.TimeMetric; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.github.fge.lambdas.Throwing; import com.github.fge.lambdas.functions.ThrowingFunction; import com.google.common.annotations.VisibleForTesting; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class SetMailboxesCreationProcessor implements SetMailboxesProcessor { http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Attachment.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Attachment.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Attachment.java index 68606cc..304acbe 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Attachment.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Attachment.java @@ -21,6 +21,8 @@ package org.apache.james.jmap.model; import java.util.Optional; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import com.google.common.annotations.VisibleForTesting; @@ -57,21 +59,33 @@ public class Attachment { return this; } + @JsonDeserialize public Builder name(String name) { this.name = name; return this; } + public Builder name(Optional<String> name) { + this.name = name.orElse(null); + return this; + } + public Builder size(long size) { this.size = size; return this; } + @JsonDeserialize public Builder cid(String cid) { this.cid = cid; return this; } + public Builder cid(Optional<String> cid) { + this.cid = cid.orElse(null); + return this; + } + public Builder isInline(boolean isInline) { this.isInline = isInline; return this; http://git-wip-us.apache.org/repos/asf/james-project/blob/9dc495f9/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java index 9c03d3f..1533637 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java @@ -219,8 +219,8 @@ public class MessageFactory { .blobId(BlobId.of(attachment.getAttachmentId().getId())) .type(attachment.getAttachment().getType()) .size(attachment.getAttachment().getSize()) - .name(attachment.getName().orElse(null)) - .cid(attachment.getCid().map(Cid::getValue).orElse(null)) + .name(attachment.getName()) + .cid(attachment.getCid().map(Cid::getValue)) .isInline(attachment.isInline()) .build(); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org