JAMES-2127 Server: Stream instead of FluentIterable.from
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0c2ae452 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0c2ae452 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0c2ae452 Branch: refs/heads/master Commit: 0c2ae4527c25dba3eabcf621a442d16f59d1d056 Parents: 5d43d19 Author: quynhn <qngu...@linagora.com> Authored: Fri Aug 25 16:15:30 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Thu Aug 31 08:23:58 2017 +0700 ---------------------------------------------------------------------- .../mailbox/store/StoreMessageIdManager.java | 13 ++--- .../java/org/apache/mailet/base/MailetUtil.java | 1 - .../MailAttributesListToMimeHeaders.java | 4 +- .../org/apache/james/rrt/lib/MappingsImpl.java | 37 ++++++------ .../dnsservice/api/InMemoryDNSService.java | 11 ++-- .../mailets/RecipientRewriteTableProcessor.java | 61 +++++++++++--------- .../transport/mailets/jsieve/DiscardAction.java | 8 ++- ...ddressesArrayToMailAddressListConverter.java | 11 ++-- .../remoteDelivery/DelaysAndMaxRetry.java | 12 ++-- .../remoteDelivery/DeliveryRunnable.java | 2 +- .../InternetAddressConverter.java | 9 ++- .../james/transport/util/MailAddressUtils.java | 14 ++--- .../remoteDelivery/DeliveryRunnableTest.java | 4 +- 13 files changed, 93 insertions(+), 94 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/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 46b65bc..a5c0492 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,6 +56,7 @@ 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; @@ -67,13 +68,6 @@ import com.google.common.collect.Sets.SetView; public class StoreMessageIdManager implements MessageIdManager { private static final Logger LOGGER = LoggerFactory.getLogger(StoreMessageIdManager.class); - public static <T, S> Predicate<T> compose(Predicate<S> predicate, Function<T, S> function) { - return input -> predicate.test(function.apply(input)); - } - - static<T> Predicate<T> not(Predicate<T> p) { - return t -> !p.test(t); - } private final MailboxSessionMapperFactory mailboxSessionMapperFactory; private final MailboxEventDispatcher dispatcher; @@ -280,7 +274,7 @@ public class StoreMessageIdManager implements MessageIdManager { } private Predicate<MailboxMessage> messageBelongsToUser(MailboxSession mailboxSession, MailboxMapper mailboxMapper) { - return compose(mailboxBelongsToUser(mailboxSession, mailboxMapper), + return PredicateUtils.compose(mailboxBelongsToUser(mailboxSession, mailboxMapper), MailboxMessage::getMailboxId); } @@ -295,7 +289,8 @@ public class StoreMessageIdManager implements MessageIdManager { } private Predicate<MailboxId> isMailboxOfOtherUser(MailboxSession mailboxSession, MailboxMapper mailboxMapper) { - return not(mailboxBelongsToUser(mailboxSession, mailboxMapper)); + return mailboxBelongsToUser(mailboxSession, mailboxMapper) + .negate(); } private boolean belongsToCurrentUser(Mailbox mailbox, MailboxSession session) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/mailet/base/src/main/java/org/apache/mailet/base/MailetUtil.java ---------------------------------------------------------------------- diff --git a/mailet/base/src/main/java/org/apache/mailet/base/MailetUtil.java b/mailet/base/src/main/java/org/apache/mailet/base/MailetUtil.java index dc8ec27..8790a9c 100644 --- a/mailet/base/src/main/java/org/apache/mailet/base/MailetUtil.java +++ b/mailet/base/src/main/java/org/apache/mailet/base/MailetUtil.java @@ -122,7 +122,6 @@ public class MailetUtil { public static int getInitParameterAsStrictlyPositiveInteger(String condition, Optional<String> defaultValue) throws MessagingException { String value = Optional.ofNullable(condition) - .filter(Strings::isNullOrEmpty) .orElse(defaultValue.orElse(null)); if (Strings.isNullOrEmpty(value)) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java ---------------------------------------------------------------------- diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java index e42deb6..cea486a 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/MailAttributesListToMimeHeaders.java @@ -28,7 +28,7 @@ import java.util.Optional; import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; -import org.apache.james.util.OptionalConverter; +import org.apache.james.util.OptionalUtils; import org.apache.mailet.Mail; import org.apache.mailet.base.GenericMailet; import org.slf4j.Logger; @@ -88,7 +88,7 @@ public class MailAttributesListToMimeHeaders extends GenericMailet { } private void addCollectionToHeader(MimeMessage message, String headerName, Optional<Collection> values) { - OptionalConverter.toStream(values) + OptionalUtils.toStream(values) .flatMap(Collection::stream) .forEach(value -> addValueToHeader(message, headerName, value)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/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 523731e..ac11e02 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 @@ -26,6 +26,8 @@ import java.util.Collection; import java.util.Iterator; import java.util.Optional; import java.util.StringTokenizer; +import java.util.function.Predicate; +import java.util.stream.Stream; import org.apache.james.rrt.lib.Mapping.Type; @@ -33,9 +35,6 @@ import com.google.common.base.Joiner; import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -63,19 +62,15 @@ public class MappingsImpl implements Mappings, Serializable { } public static MappingsImpl fromCollection(Collection<String> mappings) { - Builder builder = builder(); - for (String mapping: mappings) { - builder.add(mapping); - } - return builder.build(); + return mappings.stream() + .reduce(builder(), (builder, mapping) -> builder.add(mapping), (builder1, builder2) -> builder1.addAll(builder2.build())) + .build(); } - public static MappingsImpl fromMappings(Iterable<Mapping> mappings) { - Builder builder = builder(); - for (Mapping mapping: mappings) { - builder.add(mapping); - } - return builder.build(); + private static MappingsImpl fromMappings(Stream<Mapping> mappings) { + return mappings + .reduce(builder(), (builder, mapping) -> builder.add(mapping), (builder1, builder2) -> builder1.addAll(builder2.build())) + .build(); } public static Builder from(Mappings from) { @@ -125,7 +120,8 @@ public class MappingsImpl implements Mappings, Serializable { @Override public Iterable<String> asStrings() { - return FluentIterable.from(mappings).transform(Mapping::asString); + return mappings.stream() + .map(Mapping::asString)::iterator; } @Override @@ -172,20 +168,23 @@ public class MappingsImpl implements Mappings, Serializable { @Override public boolean contains(Type type) { Preconditions.checkNotNull(type); - return FluentIterable.from(mappings).anyMatch(hasType(type)); + return mappings.stream() + .anyMatch(hasType(type)); } @Override public Mappings select(Type type) { Preconditions.checkNotNull(type); - return fromMappings(FluentIterable.from(mappings).filter(hasType(type))); + return fromMappings(mappings.stream() + .filter(hasType(type))); } @Override public Mappings exclude(Type type) { Preconditions.checkNotNull(type); - return fromMappings(FluentIterable.from(mappings).filter(Predicates.not(hasType(type)))); + return fromMappings(mappings.stream() + .filter(hasType(type).negate())); } @Override @@ -200,7 +199,7 @@ public class MappingsImpl implements Mappings, Serializable { if (isEmpty()) { return Optional.empty(); } - return Optional.<Mappings> of(this); + return Optional.of(this); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java ---------------------------------------------------------------------- diff --git a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java index 04926ab..0af0ac9 100644 --- a/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java +++ b/server/dns-service/dnsservice-api/src/test/java/org/apache/james/dnsservice/api/InMemoryDNSService.java @@ -25,9 +25,8 @@ import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.function.Predicate; -import com.google.common.base.Predicate; -import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; import com.google.common.net.InetAddresses; @@ -102,10 +101,10 @@ public class InMemoryDNSService implements DNSService { } private Entry<String, DNSRecord> getDNSEntry(Predicate<? super Entry<String, DNSRecord>> filter) { - return FluentIterable.from(records.entrySet()) - .filter(filter) - .first() - .get(); + return records.entrySet().stream() + .filter(filter) + .findFirst() + .get(); } private static class DNSRecord { http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/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 6e91e6b..633dc22 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 @@ -21,6 +21,10 @@ package org.apache.james.transport.mailets; import java.util.List; import java.util.Optional; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; import javax.mail.MessagingException; import javax.mail.internet.AddressException; import javax.mail.internet.MimeMessage; @@ -38,24 +42,23 @@ import org.apache.mailet.MailetContext; 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.Function; import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; -import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; public class RecipientRewriteTableProcessor { private static final Logger LOGGER = LoggerFactory.getLogger(RecipientRewriteTableProcessor.class); + private static final boolean parallel = true; private final org.apache.james.rrt.api.RecipientRewriteTable virtualTableStore; private final DomainList domainList; private final MailetContext mailetContext; - private static final Function<RrtExecutionResult, List<MailAddress>> mailAddressesFromMappingData = + private static final Function<RrtExecutionResult, Stream<MailAddress>> mailAddressesFromMappingData = mappingData -> mappingData.getNewRecipients() .orElse(mappingData.getRecipientWithError() - .orElse(ImmutableList.of())); + .orElse(ImmutableList.of())).stream(); private static final Function<Mapping, Optional<MailAddress>> mailAddressFromMapping = addressMapping -> { @@ -90,11 +93,12 @@ public class RecipientRewriteTableProcessor { mail.setRecipients(newRecipients); } + private ImmutableList<MailAddress> getRecipientsByCondition(ImmutableList<RrtExecutionResult> mappingDatas, Predicate<RrtExecutionResult> filterCondition) { - return FluentIterable.from(mappingDatas) + return mappingDatas.stream() .filter(filterCondition) - .transformAndConcat(mailAddressesFromMappingData) - .toList(); + .flatMap(mailAddressesFromMappingData) + .collect(Guavate.toImmutableList()); } private ImmutableList<RrtExecutionResult> toMappingDatas(final Mail mail) { @@ -104,9 +108,10 @@ public class RecipientRewriteTableProcessor { return getRrtExecutionResult(mail, recipient); }; - return FluentIterable.from(mail.getRecipients()) - .transform(convertToMappingData) - .toList(); + return mail.getRecipients() + .stream() + .map(convertToMappingData) + .collect(Guavate.toImmutableList()); } private RrtExecutionResult getRrtExecutionResult(Mail mail, MailAddress recipient) { @@ -140,45 +145,45 @@ public class RecipientRewriteTableProcessor { private ImmutableList<Mapping> convertToNewMappings(final Mappings mappings, ImmutableList<Mapping> addressWithoutDomains) { - return FluentIterable.from(mappings) - .filter(Mapping::hasDomain) - .append(addressWithoutDomains) - .toList(); + return Stream.concat(StreamSupport.stream(mappings.spliterator(), parallel) + .filter(Mapping::hasDomain), + addressWithoutDomains.stream()) + .collect(Guavate.toImmutableList()); } private ImmutableList<MailAddress> getLocalAddresses(ImmutableList<MailAddress> mailAddresses) { - return FluentIterable.from(mailAddresses) + return mailAddresses.stream() .filter(mailAddress -> mailetContext.isLocalServer(mailAddress.getDomain())) - .toList(); + .collect(Guavate.toImmutableList()); } private ImmutableList<MailAddress> buildMailAddressFromMappingAddress(ImmutableList<Mapping> newMappings) { - return FluentIterable.from(newMappings) - .transform(mailAddressFromMapping) + return newMappings.stream() + .map(mailAddressFromMapping) .filter(Optional::isPresent) - .transform(Optional::get) - .toList(); + .map(Optional::get) + .collect(Guavate.toImmutableList()); } private ImmutableList<Mapping> getAddressWithNoDomain(Mappings mappings, DomainList domainList) throws MessagingException { - ImmutableList<Mapping> addressWithoutDomains = FluentIterable.from(mappings) + ImmutableList<Mapping> addressWithoutDomains = StreamSupport.stream(mappings.spliterator(), parallel) .filter(address -> !address.hasDomain()) - .toList(); + .collect(Guavate.toImmutableList()); if (!addressWithoutDomains.isEmpty()) { final String defaultDomain = getDefaultDomain(domainList); - return FluentIterable.from(addressWithoutDomains) - .transform(address -> address.appendDomain(defaultDomain)) - .toList(); + return addressWithoutDomains.stream() + .map(address -> address.appendDomain(defaultDomain)) + .collect(Guavate.toImmutableList()); } return ImmutableList.of(); } private void forwardToRemoteAddress(MailAddress sender, MailAddress recipient, MimeMessage message, ImmutableList<MailAddress> mailAddresses) throws MessagingException { - ImmutableList<MailAddress> remoteAddress = FluentIterable.from(mailAddresses) + ImmutableList<MailAddress> remoteAddress = mailAddresses.stream() .filter(mailAddress -> !mailetContext.isLocalServer(mailAddress.getDomain())) - .toList(); + .collect(Guavate.toImmutableList()); if (!remoteAddress.isEmpty()) { try { http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java index f22b6ab..15d97f9 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/DiscardAction.java @@ -24,7 +24,8 @@ import org.apache.jsieve.mail.Action; import org.apache.jsieve.mail.ActionDiscard; import org.apache.mailet.Mail; -import com.google.common.collect.FluentIterable; +import com.github.steveash.guavate.Guavate; + public class DiscardAction extends FileIntoAction implements MailAction { @@ -36,8 +37,9 @@ public class DiscardAction extends FileIntoAction implements MailAction { } public static void removeRecipient(Mail mail, ActionContext context) { - mail.setRecipients(FluentIterable.from(mail.getRecipients()) + mail.setRecipients(mail.getRecipients() + .stream() .filter(mailAddress -> !mailAddress.equals(context.getRecipient())) - .toList()); + .collect(Guavate.toImmutableList())); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/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 a1cd46b..60f8e46 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 @@ -29,7 +29,7 @@ import org.apache.mailet.MailAddress; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.collect.FluentIterable; +import com.github.steveash.guavate.Guavate; import com.google.common.collect.ImmutableList; public class AddressesArrayToMailAddressListConverter { @@ -39,11 +39,12 @@ public class AddressesArrayToMailAddressListConverter { if (addresses == null) { return ImmutableList.of(); } - return FluentIterable.from(Arrays.asList(addresses)) - .transform(address -> toMailAddress(address)) + return Arrays.asList(addresses) + .stream() + .map(address -> toMailAddress(address)) .filter(Optional::isPresent) - .transform(Optional::get) - .toList(); + .map(Optional::get) + .collect(Guavate.toImmutableList()); } private static Optional<MailAddress> toMailAddress(Address address) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/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 fd7e043..11036b3 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 @@ -20,16 +20,15 @@ package org.apache.james.transport.mailets.remoteDelivery; import java.util.List; - 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; -import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; @@ -80,10 +79,13 @@ public class DelaysAndMaxRetry { // Use default delayTime. return ImmutableList.of(new Delay()); } - ImmutableList<String> delayStrings = FluentIterable.from(Splitter.on(',') + + ImmutableList<String> delayStrings = Splitter.on(',') .omitEmptyStrings() - .split(delaysAsString)) - .toList(); + .splitToList(delaysAsString) + .stream() + .collect(Guavate.toImmutableList()); + ImmutableList.Builder<Delay> builder = ImmutableList.builder(); try { for (String s : delayStrings) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java index ede8101..b7115a0 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnable.java @@ -22,6 +22,7 @@ package org.apache.james.transport.mailets.remoteDelivery; import java.util.Date; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.Supplier; import org.apache.james.dnsservice.api.DNSService; import org.apache.james.lifecycle.api.LifecycleUtil; @@ -36,7 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Supplier; public class DeliveryRunnable implements Runnable { private static final Logger LOGGER = LoggerFactory.getLogger(DeliveryRunnable.class); http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java index 4e05b1d..af446ec 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/InternetAddressConverter.java @@ -20,21 +20,20 @@ package org.apache.james.transport.mailets.remoteDelivery; import java.util.Collection; - import javax.mail.internet.InternetAddress; import org.apache.mailet.MailAddress; import com.google.common.base.Preconditions; -import com.google.common.collect.FluentIterable; + public class InternetAddressConverter { public static InternetAddress[] convert(Collection<MailAddress> recipients) { Preconditions.checkNotNull(recipients); - return FluentIterable.from(recipients) - .transform(MailAddress::toInternetAddress) - .toArray(InternetAddress.class); + return recipients.stream() + .map(MailAddress::toInternetAddress) + .toArray(InternetAddress[]::new); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/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 ca80c44..bce977b 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 @@ -19,14 +19,14 @@ package org.apache.james.transport.util; import java.util.List; - +import java.util.stream.Stream; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import org.apache.james.transport.mailets.redirect.SpecialAddress; import org.apache.mailet.MailAddress; -import com.google.common.collect.FluentIterable; +import com.github.steveash.guavate.Guavate; import com.google.common.collect.ImmutableList; public class MailAddressUtils { @@ -45,17 +45,17 @@ public class MailAddressUtils { public static List<InternetAddress> toInternetAddresses(List<MailAddress> mailAddresses) { return iterableOfInternetAddress(mailAddresses) - .toList(); + .collect(Guavate.toImmutableList()); } public static InternetAddress[] toInternetAddressArray(List<MailAddress> mailAddresses) { return iterableOfInternetAddress(mailAddresses) - .toArray(InternetAddress.class); + .toArray(InternetAddress[]::new); } - private static FluentIterable<InternetAddress> iterableOfInternetAddress(List<MailAddress> mailAddresses) { - return FluentIterable.from(mailAddresses) - .transform(MailAddress::toInternetAddress); + private static Stream<InternetAddress> iterableOfInternetAddress(List<MailAddress> mailAddresses) { + return mailAddresses.stream() + .map(MailAddress::toInternetAddress); } public static boolean isUnalteredOrReversePathOrSender(MailAddress mailAddress) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0c2ae452/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java index daad6e8..2575db3 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/DeliveryRunnableTest.java @@ -26,9 +26,9 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; - import java.util.Date; import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; import org.apache.james.domainlist.api.DomainList; import org.apache.james.metrics.api.Metric; @@ -43,8 +43,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import com.google.common.base.Supplier; - public class DeliveryRunnableTest { public static final Date FIXED_DATE = new Date(1159599194961L); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org