http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 4edf95b..0b45833 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 @@ -50,67 +50,19 @@ public class RecipientRewriteTableProcessor { private final DomainList domainList; private final MailetContext mailetContext; - private static final Predicate<RrtExecutionResult> recipientWithError = new Predicate<RrtExecutionResult>() { - @Override - public boolean apply(RrtExecutionResult mappingData) { - return mappingData.isError(); - } - }; - - private static final Predicate<RrtExecutionResult> recipientWithoutError = new Predicate<RrtExecutionResult>() { - @Override - public boolean apply(RrtExecutionResult mappingData) { - return !mappingData.isError(); - } - }; - - private static final Predicate<Mapping> noneDomain = new Predicate<Mapping>() { - @Override - public boolean apply(Mapping address) { - return !address.hasDomain(); - } - }; - - private static final Predicate<Mapping> haveDomain = new Predicate<Mapping>() { - @Override - public boolean apply(Mapping address) { - return address.hasDomain(); - } - }; - - private static final Function<RrtExecutionResult, List<MailAddress>> mailAddressesFromMappingData = new Function<RecipientRewriteTableProcessor.RrtExecutionResult, List<MailAddress>>() { - @Override - public List<MailAddress> apply(RrtExecutionResult mappingData) { - return mappingData.getNewRecipients() - .or(mappingData.getRecipientWithError() - .or(ImmutableList.<MailAddress>of())); - } - }; - - private static final Function<Optional<MailAddress>, MailAddress> mailAddressFromOptional = new Function<Optional<MailAddress>, MailAddress>() { - @Override - public MailAddress apply(Optional<MailAddress> mailAddress) { - return mailAddress.get(); - } - }; + private static final Function<RrtExecutionResult, List<MailAddress>> mailAddressesFromMappingData = + mappingData -> mappingData.getNewRecipients() + .or(mappingData.getRecipientWithError() + .or(ImmutableList.of())); - private static final Predicate<Optional<MailAddress>> mailAddressPresent = new Predicate<Optional<MailAddress>>() { - @Override - public boolean apply(Optional<MailAddress> mailAddress) { - return mailAddress.isPresent(); - } - }; - - private static final Function<Mapping, Optional<MailAddress>> mailAddressFromMapping = new Function<Mapping, Optional<MailAddress>>() { - @Override - public Optional<MailAddress> apply(Mapping addressMapping) { + private static final Function<Mapping, Optional<MailAddress>> mailAddressFromMapping = + addressMapping -> { try { return Optional.of(new MailAddress(addressMapping.asString())); } catch (AddressException e) { return Optional.absent(); } - } - }; + }; public RecipientRewriteTableProcessor(RecipientRewriteTable virtualTableStore, DomainList domainList, MailetContext mailetContext) { this.virtualTableStore = virtualTableStore; @@ -121,9 +73,9 @@ public class RecipientRewriteTableProcessor { public void processMail(Mail mail) throws MessagingException{ ImmutableList<RrtExecutionResult> mappingDatas = toMappingDatas(mail); - ImmutableList<MailAddress> newRecipients = getRecipientsByCondition(mappingDatas, recipientWithoutError); + ImmutableList<MailAddress> newRecipients = getRecipientsByCondition(mappingDatas, mappingData -> !mappingData.isError()); - ImmutableList<MailAddress> errorMailAddresses = getRecipientsByCondition(mappingDatas, recipientWithError); + ImmutableList<MailAddress> errorMailAddresses = getRecipientsByCondition(mappingDatas, RrtExecutionResult::isError); if (!errorMailAddresses.isEmpty()) { mailetContext.sendMail(mail.getSender(), errorMailAddresses, mail.getMessage(), Mail.ERROR); @@ -144,14 +96,10 @@ public class RecipientRewriteTableProcessor { } private ImmutableList<RrtExecutionResult> toMappingDatas(final Mail mail) { - Function<MailAddress, RrtExecutionResult> convertToMappingData = new Function<MailAddress, RrtExecutionResult>() { - @Override - public RrtExecutionResult apply(MailAddress recipient) { - Preconditions.checkNotNull(recipient); - - return getRrtExecutionResult(mail, recipient); - } + Function<MailAddress, RrtExecutionResult> convertToMappingData = recipient -> { + Preconditions.checkNotNull(recipient); + return getRrtExecutionResult(mail, recipient); }; return FluentIterable.from(mail.getRecipients()) @@ -197,70 +145,43 @@ public class RecipientRewriteTableProcessor { private ImmutableList<Mapping> convertToNewMappings(final Mappings mappings, ImmutableList<Mapping> addressWithoutDomains) { return FluentIterable.from(mappings) - .filter(haveDomain) + .filter(Mapping::hasDomain) .append(addressWithoutDomains) .toList(); } private ImmutableList<MailAddress> getLocalAddresses(ImmutableList<MailAddress> mailAddresses) { return FluentIterable.from(mailAddresses) - .filter(isLocalServer()) + .filter(mailAddress -> mailetContext.isLocalServer(mailAddress.getDomain())) .toList(); } private ImmutableList<MailAddress> buildMailAddressFromMappingAddress(ImmutableList<Mapping> newMappings) { return FluentIterable.from(newMappings) .transform(mailAddressFromMapping) - .filter(mailAddressPresent) - .transform(mailAddressFromOptional) + .filter(Optional::isPresent) + .transform(Optional::get) .toList(); } private ImmutableList<Mapping> getAddressWithNoDomain(Mappings mappings, DomainList domainList) throws MessagingException { ImmutableList<Mapping> addressWithoutDomains = FluentIterable.from(mappings) - .filter(noneDomain) + .filter(address -> !address.hasDomain()) .toList(); if (!addressWithoutDomains.isEmpty()) { final String defaultDomain = getDefaultDomain(domainList); return FluentIterable.from(addressWithoutDomains) - .transform(appendDefaultDomain(defaultDomain)) + .transform(address -> address.appendDomain(defaultDomain)) .toList(); } return ImmutableList.of(); } - private Function<Mapping, Mapping> appendDefaultDomain(final String defaultDomain) { - return new Function<Mapping, Mapping>() { - @Override - public Mapping apply(Mapping address) { - return address.appendDomain(defaultDomain); - } - }; - } - - private Predicate<MailAddress> isLocalServer() { - return new Predicate<MailAddress>() { - @Override - public boolean apply(MailAddress mailAddress) { - return mailetContext.isLocalServer(mailAddress.getDomain()); - } - }; - } - - private Predicate<MailAddress> isNotLocalServer() { - return new Predicate<MailAddress>() { - @Override - public boolean apply(MailAddress mailAddress) { - return !mailetContext.isLocalServer(mailAddress.getDomain()); - } - }; - } - private void forwardToRemoteAddress(MailAddress sender, MailAddress recipient, MimeMessage message, ImmutableList<MailAddress> mailAddresses) throws MessagingException { ImmutableList<MailAddress> remoteAddress = FluentIterable.from(mailAddresses) - .filter(isNotLocalServer()) + .filter(mailAddress -> !mailetContext.isLocalServer(mailAddress.getDomain())) .toList(); if (!remoteAddress.isEmpty()) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 9964780..f22b6ab 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 @@ -23,9 +23,7 @@ import javax.mail.MessagingException; import org.apache.jsieve.mail.Action; import org.apache.jsieve.mail.ActionDiscard; import org.apache.mailet.Mail; -import org.apache.mailet.MailAddress; -import com.google.common.base.Predicate; import com.google.common.collect.FluentIterable; public class DiscardAction extends FileIntoAction implements MailAction { @@ -39,16 +37,7 @@ public class DiscardAction extends FileIntoAction implements MailAction { public static void removeRecipient(Mail mail, ActionContext context) { mail.setRecipients(FluentIterable.from(mail.getRecipients()) - .filter(isNot(context.getRecipient())) + .filter(mailAddress -> !mailAddress.equals(context.getRecipient())) .toList()); } - - private static Predicate<MailAddress> isNot(final MailAddress recipient) { - return new Predicate<MailAddress>() { - @Override - public boolean apply(MailAddress input) { - return !input.equals(recipient); - } - }; - } } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java index b046341..749504b 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/SieveMailAdapter.java @@ -18,8 +18,20 @@ ****************************************************************/ package org.apache.james.transport.mailets.jsieve; -import com.google.common.base.Function; -import com.google.common.collect.Lists; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.mail.Header; +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.james.mime4j.dom.address.AddressList; @@ -42,18 +54,7 @@ import org.apache.mailet.MailAddress; import org.apache.mailet.MailetContext; import org.joda.time.DateTime; -import javax.mail.Header; -import javax.mail.MessagingException; -import javax.mail.internet.MimeMessage; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import com.google.common.collect.Lists; /** * <p> * Class <code>SieveMailAdapter</code> implements a <code>MailAdapter</code> @@ -455,11 +456,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC .contentTypes(Lists.newArrayList("text/plain")) .includeHeaders(false) .caseInsensitive(false) - .searchContents(Lists.transform(phrasesCaseInsensitive, new Function<String, CharSequence>() { - public CharSequence apply(String s) { - return s; - } - })).build() + .searchContents(Lists.transform(phrasesCaseInsensitive, s -> s)).build() .messageMatches(getMail().getMessage().getInputStream()); } catch (Exception e) { throw new SieveMailException("Error searching in the mail content", e); @@ -472,11 +469,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC .includeHeaders(false) .caseInsensitive(false) .ignoringMime(true) - .searchContents(Lists.transform(phrasesCaseInsensitive, new Function<String, CharSequence>() { - public CharSequence apply(String s) { - return s; - } - })).build() + .searchContents(Lists.transform(phrasesCaseInsensitive, s -> s)).build() .messageMatches(getMail().getMessage().getInputStream()); } catch (Exception e) { throw new SieveMailException("Error searching in the mail content", e); @@ -489,11 +482,7 @@ public class SieveMailAdapter implements MailAdapter, EnvelopeAccessors, ActionC .contentTypes(contentTypes) .includeHeaders(false) .caseInsensitive(false) - .searchContents(Lists.transform(phrasesCaseInsensitive, new Function<String, CharSequence>() { - public CharSequence apply(String s) { - return s; - } - })).build() + .searchContents(Lists.transform(phrasesCaseInsensitive, s -> s)).build() .messageMatches(getMail().getMessage().getInputStream()); } catch (Exception e) { throw new SieveMailException("Error searching in the mail content", e); http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java index 6819364..f83126c 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationAction.java @@ -31,7 +31,6 @@ import org.apache.mailet.Mail; import org.apache.mailet.MailAddress; import org.joda.time.Days; -import com.google.common.base.Function; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; @@ -68,11 +67,7 @@ public class VacationAction implements MailAction { private boolean isValidForReply(final Mail mail, ActionVacation actionVacation, final ActionContext context) { Set<MailAddress> currentMailAddresses = ImmutableSet.copyOf(mail.getRecipients()); Set<MailAddress> allowedMailAddresses = ImmutableSet.<MailAddress>builder().addAll( - Lists.transform(actionVacation.getAddresses(), new Function<String, MailAddress>() { - public MailAddress apply(String s) { - return retrieveAddressFromString(s, context); - } - })) + Lists.transform(actionVacation.getAddresses(), s -> retrieveAddressFromString(s, context))) .add(context.getRecipient()) .build(); return !Sets.intersection(currentMailAddresses, allowedMailAddresses).isEmpty(); http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java index 6511924..12cc1f7 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/jsieve/VacationReply.java @@ -19,12 +19,8 @@ package org.apache.james.transport.mailets.jsieve; -import com.google.common.base.Function; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import org.apache.mailet.Mail; -import org.apache.mailet.MailAddress; +import java.io.IOException; +import java.util.List; import javax.activation.DataHandler; import javax.mail.MessagingException; @@ -34,8 +30,13 @@ import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.util.ByteArrayDataSource; -import java.io.IOException; -import java.util.List; + +import org.apache.mailet.Mail; +import org.apache.mailet.MailAddress; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.collect.Lists; public class VacationReply { @@ -124,11 +125,9 @@ public class VacationReply { } private MailAddress retrieveOriginalSender() throws AddressException { - return Optional.fromNullable(from).transform(new Function<String, MailAddress>() { - public MailAddress apply(String address) { - return retrieveAddressFromString(address, context); - } - }).or(context.getRecipient()); + return Optional.fromNullable(from) + .transform(address -> retrieveAddressFromString(address, context)) + .or(context.getRecipient()); } private MailAddress retrieveAddressFromString(String address, ActionContext context) { http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 1f308bb..3390a8d 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 @@ -28,9 +28,7 @@ import javax.mail.internet.AddressException; import org.apache.mailet.MailAddress; import org.slf4j.Logger; -import com.google.common.base.Function; import com.google.common.base.Optional; -import com.google.common.base.Predicate; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; @@ -40,27 +38,20 @@ public class AddressesArrayToMailAddressListConverter { if (addresses == null) { return ImmutableList.of(); } - return FluentIterable.from(Arrays.asList(addresses)).transform(new Function<Address, Optional<MailAddress>>() { - @Override - public Optional<MailAddress> apply(Address input) { - try { - return Optional.of(new MailAddress(input.toString())); - } catch (AddressException e) { - logger.debug("Can't parse unsent address " + input, e); - return Optional.absent(); - } - } - }).filter(new Predicate<Optional<MailAddress>>() { - @Override - public boolean apply(Optional<MailAddress> input) { - return input.isPresent(); - } - }).transform(new Function<Optional<MailAddress>, MailAddress>() { - @Override - public MailAddress apply(Optional<MailAddress> input) { - return input.get(); - } - }).toList(); + return FluentIterable.from(Arrays.asList(addresses)) + .transform(address -> toMailAddress(logger, address)) + .filter(Optional::isPresent) + .transform(Optional::get) + .toList(); + } + + private static Optional<MailAddress> toMailAddress(Logger logger, Address address) { + try { + return Optional.of(new MailAddress(address.toString())); + } catch (AddressException e) { + logger.debug("Can't parse unsent address " + address, e); + return Optional.absent(); + } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 150d089..7bab048 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 @@ -39,12 +39,7 @@ import com.google.common.base.Supplier; public class DeliveryRunnable implements Runnable { - public static final Supplier<Date> CURRENT_DATE_SUPPLIER = new Supplier<Date>() { - @Override - public Date get() { - return new Date(); - } - }; + public static final Supplier<Date> CURRENT_DATE_SUPPLIER = Date::new; public static final AtomicBoolean DEFAULT_NOT_STARTED = new AtomicBoolean(false); private static final String OUTGOING_MAILS = "outgoingMails"; public static final String REMOTE_DELIVERY_TRIAL = "RemoteDeliveryTrial"; http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java index 61a7152..180a0bf 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/remoteDelivery/EnhancedMessagingException.java @@ -70,12 +70,7 @@ public class EnhancedMessagingException { } private Function<String, Boolean> startWith5() { - return new Function<String, Boolean>() { - @Override - public Boolean apply(String input) { - return input.startsWith("5"); - } - }; + return message -> message.startsWith("5"); } private Optional<Integer> computeReturnCode() { http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 52bd2a6..4e05b1d 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 @@ -25,7 +25,6 @@ import javax.mail.internet.InternetAddress; import org.apache.mailet.MailAddress; -import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.collect.FluentIterable; @@ -33,12 +32,9 @@ public class InternetAddressConverter { public static InternetAddress[] convert(Collection<MailAddress> recipients) { Preconditions.checkNotNull(recipients); - return FluentIterable.from(recipients).transform(new Function<MailAddress, InternetAddress>() { - @Override - public InternetAddress apply(MailAddress input) { - return input.toInternetAddress(); - } - }).toArray(InternetAddress.class); + return FluentIterable.from(recipients) + .transform(MailAddress::toInternetAddress) + .toArray(InternetAddress.class); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 89e1d4a..ca80c44 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 @@ -26,7 +26,6 @@ import javax.mail.internet.InternetAddress; import org.apache.james.transport.mailets.redirect.SpecialAddress; import org.apache.mailet.MailAddress; -import com.google.common.base.Function; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; @@ -56,13 +55,7 @@ public class MailAddressUtils { private static FluentIterable<InternetAddress> iterableOfInternetAddress(List<MailAddress> mailAddresses) { return FluentIterable.from(mailAddresses) - .transform(new Function<MailAddress, InternetAddress>() { - - @Override - public InternetAddress apply(MailAddress mailAddress) { - return mailAddress.toInternetAddress(); - } - }); + .transform(MailAddress::toInternetAddress); } public static boolean isUnalteredOrReversePathOrSender(MailAddress mailAddress) { http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 09554e1..e056ef1 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 @@ -51,12 +51,7 @@ public class DeliveryRunnableTest { private static final Logger LOGGER = LoggerFactory.getLogger(DeliveryRunnableTest.class); public static final Date FIXED_DATE = new Date(1159599194961L); - public static final Supplier<Date> FIXED_DATE_SUPPLIER = new Supplier<Date>() { - @Override - public Date get() { - return FIXED_DATE; - } - }; + public static final Supplier<Date> FIXED_DATE_SUPPLIER = () -> FIXED_DATE; @Rule public ExpectedException expectedException = ExpectedException.none(); http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java ---------------------------------------------------------------------- diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java index 5c6abf7..54b0ee0 100644 --- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java +++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remoteDelivery/RemoteDeliveryRunningTest.java @@ -36,8 +36,6 @@ import org.apache.mailet.base.test.FakeMailetConfig; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; public class RemoteDeliveryRunningTest { @@ -59,13 +57,10 @@ public class RemoteDeliveryRunningTest { @Test public void remoteDeliveryShouldStart() throws Exception { - when(mailQueue.deQueue()).thenAnswer(new Answer<MailQueue.MailQueueItem>() { - @Override - public MailQueue.MailQueueItem answer(InvocationOnMock invocation) throws Throwable { - countDownLatch.countDown(); - Thread.sleep(TimeUnit.SECONDS.toMillis(20)); - return null; - } + when(mailQueue.deQueue()).thenAnswer(invocation -> { + countDownLatch.countDown(); + Thread.sleep(TimeUnit.SECONDS.toMillis(20)); + return null; }); remoteDelivery.init(FakeMailetConfig.builder() .setProperty(RemoteDeliveryConfiguration.DELIVERY_THREADS, "1") http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java index 9f7ab70..d19bb2f 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java @@ -69,7 +69,7 @@ public class CassandraStepdefs { @After public void tearDown() { - ignoreFailures(() -> mainStepdefs.tearDown(), + ignoreFailures(mainStepdefs::tearDown, () -> embeddedElasticSearch.after(), () -> temporaryFolder.delete()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java index 97dbc64..1024bec 100644 --- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java +++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/GetMessagesMethodStepdefs.java @@ -159,7 +159,7 @@ public class GetMessagesMethodStepdefs { private String serialize(Optional<Map<String,String>> headers) { return headers - .map(map -> map.entrySet()) + .map(Map::entrySet) .map(entriesToString()) .orElse(""); } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java index 9f4f609..2e155df 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JWTAuthenticationStrategy.java @@ -69,7 +69,7 @@ public class JWTAuthenticationStrategy implements AuthenticationStrategy { return mailboxSessionStream .findFirst() - .orElseThrow(() -> new NoValidAuthHeaderException()); + .orElseThrow(NoValidAuthHeaderException::new); } private Stream<String> extractTokensFromAuthHeaders(Stream<String> authHeaders) { http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java index 498ba91..6101834 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/QueryParameterAccessTokenAuthenticationStrategy.java @@ -59,7 +59,7 @@ public class QueryParameterAccessTokenAuthenticationStrategy implements Authenti .filter(tokenManager::isValid) .map(AttachmentAccessToken::getUsername) .map(this::createSystemSession) - .orElseThrow(() -> new UnauthorizedException()); + .orElseThrow(UnauthorizedException::new); } private MailboxSession createSystemSession(String username) { http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java index 2aba067..2ec52b3 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/mailet/VacationMailet.java @@ -21,6 +21,7 @@ package org.apache.james.jmap.mailet; import java.time.ZonedDateTime; import java.util.concurrent.CompletableFuture; +import java.util.function.Function; import javax.inject.Inject; import javax.mail.MessagingException; @@ -40,8 +41,6 @@ import org.apache.mailet.base.GenericMailet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Functions; - public class VacationMailet extends GenericMailet { private static final Logger LOGGER = LoggerFactory.getLogger(VacationMailet.class); @@ -88,7 +87,7 @@ public class VacationMailet extends GenericMailet { RecipientId.fromMailAddress(processedMail.getSender())), (vacation, alreadySent) -> sendNotificationIfRequired(recipient, processedMail, processingDate, vacation, alreadySent)) - .thenCompose(f -> f); + .thenCompose(Function.identity()); } private CompletableFuture<Void> sendNotificationIfRequired(MailAddress recipient, Mail processedMail, ZonedDateTime processingDate, Vacation vacation, Boolean alreadySent) { http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 5f595c4..b88f282 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 @@ -77,7 +77,7 @@ public class SetMailboxesCreationProcessor implements SetMailboxesProcessor { this.metricFactory = metricFactory; this.sortingHierarchicalCollections = new SortingHierarchicalCollections<>( - x -> x.getKey(), + Map.Entry::getKey, x -> x.getValue().getParentId()); this.mailboxFactory = mailboxFactory; this.mailboxIdFactory = mailboxIdFactory; http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java index 434e19e..34bd029 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java @@ -249,7 +249,7 @@ public class SetMessagesCreationProcessor implements SetMessagesProcessor { private boolean isAppendToMailboxWithRole(Role role, CreationMessage entry, MailboxSession mailboxSession) throws MailboxException { return getMailboxWithRole(mailboxSession, role) - .map(box -> entry.isIn(box)) + .map(entry::isIn) .orElse(false); } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java index 53d58d4..c303359 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java @@ -132,7 +132,7 @@ public class SetMessagesUpdateProcessor implements SetMessagesProcessor { if (serializedMailboxIds.isPresent()) { List<MailboxId> mailboxIds = serializedMailboxIds.get() .stream() - .map(mailboxId -> mailboxIdFactory.fromString(mailboxId)) + .map(mailboxIdFactory::fromString) .collect(Guavate.toImmutableList()); messageIdManager.setInMailboxes(messageId, mailboxIds, mailboxSession); http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java index d3f095b..f53fe5f 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java @@ -71,7 +71,7 @@ public class MessageProperties { } private ImmutableSet<MessageProperty> buildOutputMessageProperties() { - return this.messageProperties.orElseGet(() -> MessageProperty.allOutputProperties()); + return this.messageProperties.orElseGet(MessageProperty::allOutputProperties); } private MessageProperties usingProperties(Sets.SetView<MessageProperty> properties) { http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java index 7a36140..cc10186 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java @@ -67,6 +67,7 @@ import org.apache.james.mailbox.model.ComposedMessageId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.TestMessageId; import org.apache.james.metrics.api.NoopMetricFactory; +import org.apache.james.util.OptionalConverter; import org.apache.james.util.mime.MessageContentExtractor; import org.apache.mailet.Mail; import org.junit.Before; @@ -304,9 +305,9 @@ public class SetMessagesCreationProcessorTest { @Override public Stream<MessageManager> getMailboxByRole(Role aRole, MailboxSession session) { if (aRole.equals(Role.OUTBOX)) { - return outboxSupplier.get().map(o -> Stream.of(o)).orElse(Stream.empty()); + return OptionalConverter.toStream(outboxSupplier.get()); } else if (aRole.equals(Role.DRAFTS)) { - return draftsSupplier.get().map(d -> Stream.of(d)).orElse(Stream.empty()); + return OptionalConverter.toStream(draftsSupplier.get()); } return Stream.empty(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java index f7646bb..4862137 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/FilterOperatorTest.java @@ -61,7 +61,7 @@ public class FilterOperatorTest { @Test public void andFactoryMethodShouldThrowWhenNoArgument() { - assertThatThrownBy(() -> FilterOperator.and()).isInstanceOf(IllegalArgumentException.class); + assertThatThrownBy(FilterOperator::and).isInstanceOf(IllegalArgumentException.class); } @Test @@ -74,7 +74,7 @@ public class FilterOperatorTest { @Test public void orFactoryMethodShouldThrowWhenNoArgument() { - assertThatThrownBy(() -> FilterOperator.or()).isInstanceOf(IllegalArgumentException.class); + assertThatThrownBy(FilterOperator::or).isInstanceOf(IllegalArgumentException.class); } @Test @@ -87,7 +87,7 @@ public class FilterOperatorTest { @Test public void notFactoryMethodShouldThrowWhenNoArgument() { - assertThatThrownBy(() -> FilterOperator.not()).isInstanceOf(IllegalArgumentException.class); + assertThatThrownBy(FilterOperator::not).isInstanceOf(IllegalArgumentException.class); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java index aa95a73..d6edfbd 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/send/MailSpoolTest.java @@ -28,7 +28,6 @@ import org.apache.james.mailbox.model.TestMessageId; import org.apache.james.queue.api.MailQueue; import org.apache.james.queue.api.MailQueue.MailQueueException; import org.apache.james.queue.api.MailQueue.MailQueueItem; -import org.apache.james.queue.api.MailQueueFactory; import org.apache.mailet.Mail; import org.apache.mailet.base.test.FakeMail; import org.junit.Before; @@ -43,13 +42,7 @@ public class MailSpoolTest { public void setup() { myQueue = new MyQueue(); - mailSpool = new MailSpool(new MailQueueFactory() { - - @Override - public MailQueue getQueue(String name) { - return myQueue; - } - }); + mailSpool = new MailSpool(name -> myQueue); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java b/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java index feb4b66..a48dc79 100644 --- a/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java +++ b/server/protocols/jwt/src/test/java/org/apache/james/jwt/PublicKeyProviderTest.java @@ -62,6 +62,6 @@ public class PublicKeyProviderTest { PublicKeyProvider sut = new PublicKeyProvider(configWithPEMKey, new PublicKeyReader()); - assertThatThrownBy(() -> sut.get()).isExactlyInstanceOf(MissingOrInvalidKeyException.class); + assertThatThrownBy(sut::get).isExactlyInstanceOf(MissingOrInvalidKeyException.class); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java index 46501c9..a91e1ab 100644 --- a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java +++ b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java @@ -50,7 +50,6 @@ import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxPath; -import org.apache.james.mailbox.store.Authenticator; import org.apache.james.mailbox.store.Authorizator; import org.apache.james.mailbox.store.StoreMailboxManager; import org.apache.james.mailbox.store.mail.model.DefaultMessageId; @@ -728,23 +727,20 @@ public class POP3ServerTest { MailboxACLResolver aclResolver = new UnionMailboxACLResolver(); GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver(); MessageParser messageParser = new MessageParser(); - mailboxManager = new StoreMailboxManager(factory, new Authenticator() { - - @Override - public boolean isAuthentic(String userid, CharSequence passwd) { - try { - return usersRepository.test(userid, passwd.toString()); - } catch (UsersRepositoryException e) { - e.printStackTrace(); - return false; - } - } - }, new Authorizator() { - @Override - public AuthorizationState canLoginAsOtherUser(String userId, String otherUserId) { - return AuthorizationState.NOT_ADMIN; + mailboxManager = new StoreMailboxManager(factory, (userid, passwd) -> { + try { + return usersRepository.test(userid, passwd.toString()); + } catch (UsersRepositoryException e) { + e.printStackTrace(); + return false; } - }, aclResolver, groupMembershipResolver, messageParser, new DefaultMessageId.Factory(), MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE); + }, (userId, otherUserId) -> Authorizator.AuthorizationState.NOT_ADMIN, + aclResolver, + groupMembershipResolver, + messageParser, + new DefaultMessageId.Factory(), + MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, + MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE); mailboxManager.init(); protocolHandlerChain.put("mailboxmanager", MailboxManager.class, mailboxManager); http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java index 4ff7d13..3551fbb 100644 --- a/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java +++ b/server/queue/queue-api/src/test/java/org/apache/james/queue/api/mock/MockMailQueue.java @@ -27,6 +27,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; + import javax.mail.MessagingException; import org.apache.commons.io.IOUtils; @@ -108,16 +109,12 @@ public class MockMailQueue implements MailQueue { throw new MailQueueException("Mock"); } - scheduler.schedule(new Runnable() { - - @Override - public void run() { - try { - queue.put(MockMailQueue.this.cloneMail(mail)); - } catch (InterruptedException e) { - log.error("", e); - throw new RuntimeException("Mock", e); - } + scheduler.schedule(() -> { + try { + queue.put(MockMailQueue.this.cloneMail(mail)); + } catch (InterruptedException e) { + log.error("", e); + throw new RuntimeException("Mock", e); } }, delay, unit); } http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java index 50886ca..f5fd47c 100644 --- a/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java +++ b/server/queue/queue-file/src/main/java/org/apache/james/queue/file/FileMailQueue.java @@ -22,7 +22,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; @@ -91,12 +90,7 @@ public class FileMailQueue implements ManageableMailQueue { File qDir = new File(queueDir, Integer.toString(i)); FileUtils.forceMkdir(qDir); - String[] files = qDir.list(new FilenameFilter() { - @Override - public boolean accept(File dir, String name) { - return name.endsWith(OBJECT_EXTENSION); - } - }); + String[] files = qDir.list((dir, name) -> name.endsWith(OBJECT_EXTENSION)); for (String name : files) { @@ -129,16 +123,12 @@ public class FileMailQueue implements ManageableMailQueue { // Schedule a task which will put the mail in the queue // for processing after a given delay - scheduler.schedule(new Runnable() { - - @Override - public void run() { - try { - inmemoryQueue.put(key); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - throw new RuntimeException("Unable to init", e); - } + scheduler.schedule(() -> { + try { + inmemoryQueue.put(key); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new RuntimeException("Unable to init", e); } }, next - System.currentTimeMillis(), TimeUnit.MILLISECONDS); } @@ -192,17 +182,13 @@ public class FileMailQueue implements ManageableMailQueue { if (delay > 0) { // The message should get delayed so schedule it for later - scheduler.schedule(new Runnable() { - - @Override - public void run() { - try { - inmemoryQueue.put(key); + scheduler.schedule(() -> { + try { + inmemoryQueue.put(key); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - throw new RuntimeException("Unable to init", e); - } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new RuntimeException("Unable to init", e); } }, delay, unit); http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java index 1e8b0c5..2682014 100644 --- a/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java +++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/AbstractJMSMailQueueTest.java @@ -167,19 +167,15 @@ public abstract class AbstractJMSMailQueueTest { assertEquals(1, queue.getSize()); - Thread flushThread = new Thread(new Runnable() { - - @Override - public void run() { - try { - // wait for 2 seconds then flush the queue - TimeUnit.MILLISECONDS.sleep(4000); - assertEquals(1, queue.flush()); - } catch (Exception e) { - throw new RuntimeException(e); - } - + Thread flushThread = new Thread(() -> { + try { + // wait for 2 seconds then flush the queue + TimeUnit.MILLISECONDS.sleep(4000); + assertEquals(1, queue.flush()); + } catch (Exception e) { + throw new RuntimeException(e); } + }); flushThread.start(); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org