This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 0b47d96f25b62248115266ca9d36d1461abd9e67 Author: Gautier DI FOLCO <[email protected]> AuthorDate: Thu Jul 2 21:09:14 2020 +0200 [REFACTORING] Use Predicate.{not, equals} --- .../backends/cassandra/init/CassandraTableManager.java | 5 ++++- .../src/main/java/org/apache/james/core/MaybeSender.java | 3 ++- .../java/org/apache/james/mailbox/model/MailboxACL.java | 3 ++- .../java/org/apache/james/mailbox/model/MailboxPath.java | 3 ++- .../james/mailbox/model/MessageAttachmentMetadata.java | 3 ++- .../james/mailbox/cassandra/DeleteMessageListener.java | 3 ++- .../mail/task/SolveMessageInconsistenciesService.java | 3 ++- .../cassandra/quota/CassandraCurrentQuotaManager.java | 4 +++- .../mailbox/elasticsearch/json/IndexableMessage.java | 3 ++- .../apache/james/mailbox/events/GroupRegistration.java | 3 ++- .../james/mailbox/events/KeyRegistrationHandler.java | 3 ++- .../mailbox/maildir/user/MaildirSubscriptionMapper.java | 4 +++- .../mailbox/inmemory/mail/InMemoryMessageMapper.java | 5 +++-- .../inmemory/quota/InMemoryCurrentQuotaManager.java | 3 ++- .../james/mailbox/store/StoreMessageIdManager.java | 3 ++- .../james/mailbox/store/mail/model/FlagsFactory.java | 3 ++- .../mailbox/store/mail/model/impl/MessageParser.java | 4 +++- .../apache/james/transport/mailets/SetErrorMessage.java | 4 +++- .../matchers/utils/MailAddressCollectionReader.java | 3 ++- .../james/imap/decode/parser/CreateCommandParser.java | 4 +++- .../objectstorage/ObjectStorageBlobConfiguration.java | 3 ++- .../apache/james/modules/protocols/ImapGuiceProbe.java | 16 ++++++++-------- .../main/java/org/apache/james/util/OptionalUtils.java | 3 ++- .../src/main/java/org/apache/james/util/UnitParser.java | 3 ++- .../apache/james/util/mime/MessageContentExtractor.java | 5 ++--- .../rrt/cassandra/CassandraRecipientRewriteTableDAO.java | 4 +++- .../MessageFastViewPrecomputedProperties.java | 3 ++- .../james/domainlist/lib/DomainListConfiguration.java | 3 ++- .../james/mailetcontainer/impl/JamesMailetContext.java | 3 ++- .../org/apache/james/transport/mailets/SpamAssassin.java | 3 ++- .../james/transport/mailets/jsieve/DiscardAction.java | 4 +++- .../james/jmap/draft/methods/MIMEMessageConverter.java | 3 ++- .../jmap/draft/methods/SetMailboxesUpdateProcessor.java | 4 +--- .../java/org/apache/james/jmap/draft/model/Emailer.java | 4 +++- .../apache/james/jmap/draft/model/mailbox/Rights.java | 3 ++- .../draft/model/message/view/MessageFullViewFactory.java | 6 +++--- .../draft/model/message/view/MessageViewFactory.java | 3 ++- .../james/jmap/draft/utils/JsoupHtmlTextExtractor.java | 5 ++++- .../james/jmap/event/PropagateLookupRightListener.java | 3 ++- .../james/jmap/http/DefaultMailboxesProvisionerTest.java | 3 ++- .../org/apache/james/webadmin/routes/TasksRoutes.java | 3 ++- 41 files changed, 101 insertions(+), 55 deletions(-) diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTableManager.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTableManager.java index ee0e2c4..bf72196 100644 --- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTableManager.java +++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTableManager.java @@ -19,6 +19,8 @@ package org.apache.james.backends.cassandra.init; +import java.util.function.Predicate; + import javax.inject.Inject; import org.apache.james.backends.cassandra.components.CassandraModule; @@ -27,6 +29,7 @@ import org.apache.james.backends.cassandra.components.CassandraTable.Initializat import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor; import com.datastax.driver.core.KeyspaceMetadata; +import com.datastax.driver.core.PagingIterable; import com.datastax.driver.core.Session; import com.datastax.driver.core.querybuilder.QueryBuilder; @@ -73,7 +76,7 @@ public class CassandraTableManager { .from(name) .limit(1) .setFetchSize(1)) - .filter(resultSet -> !resultSet.isExhausted()) + .filter(Predicate.not(PagingIterable::isExhausted)) .flatMap(ignored -> executor.executeVoid(QueryBuilder.truncate(name))); } } diff --git a/core/src/main/java/org/apache/james/core/MaybeSender.java b/core/src/main/java/org/apache/james/core/MaybeSender.java index 6460ddc..824a666 100644 --- a/core/src/main/java/org/apache/james/core/MaybeSender.java +++ b/core/src/main/java/org/apache/james/core/MaybeSender.java @@ -22,6 +22,7 @@ package org.apache.james.core; import java.util.NoSuchElementException; import java.util.Objects; import java.util.Optional; +import java.util.function.Predicate; import java.util.stream.Stream; import javax.mail.internet.AddressException; @@ -58,7 +59,7 @@ public class MaybeSender { @SuppressWarnings("deprecation") public static MaybeSender of(MailAddress mailAddress) { return new MaybeSender(Optional.ofNullable(mailAddress) - .filter(address -> !address.isNullSender())); + .filter(Predicate.not(MailAddress::isNullSender))); } private final Optional<MailAddress> mailAddress; diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java index e0d58ae..22b7f8f 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java @@ -29,6 +29,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Properties; +import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -823,7 +824,7 @@ public class MailboxACL { .collect(Guavate.toImmutableMap(Pair::getKey, Pair::getValue))); } else { return Optional.ofNullable(replacement) - .filter(rights -> !rights.isEmpty()) + .filter(Predicate.not(Rfc4314Rights::isEmpty)) .map(replacementValue -> new MailboxACL( ImmutableMap.<EntryKey, Rfc4314Rights>builder() .putAll(entries) diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java index 36340ee..4e6b194 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.function.Predicate; import org.apache.james.core.Username; import org.apache.james.mailbox.DefaultMailboxes; @@ -70,7 +71,7 @@ public class MailboxPath { public MailboxPath(String namespace, Username user, String name) { this.namespace = Optional.ofNullable(namespace) - .filter(s -> !s.isEmpty()) + .filter(Predicate.not(String::isEmpty)) .orElse(MailboxConstants.USER_NAMESPACE); this.user = user; this.name = name; diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachmentMetadata.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachmentMetadata.java index 1093bd0..731e9ae 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachmentMetadata.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachmentMetadata.java @@ -21,6 +21,7 @@ package org.apache.james.mailbox.model; import java.util.List; import java.util.Optional; +import java.util.function.Predicate; import com.google.common.base.MoreObjects; import com.google.common.base.Objects; @@ -85,7 +86,7 @@ public class MessageAttachmentMetadata { public static boolean hasNonInlinedAttachment(List<MessageAttachmentMetadata> attachments) { return attachments.stream() - .anyMatch(messageAttachment -> !messageAttachment.isInlinedWithCid()); + .anyMatch(Predicate.not(MessageAttachmentMetadata::isInlinedWithCid)); } private final AttachmentMetadata attachment; diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java index e3d2eab..e7e3627 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/DeleteMessageListener.java @@ -22,6 +22,7 @@ package org.apache.james.mailbox.cassandra; import static org.apache.james.util.FunctionalUtils.negate; import java.util.Optional; +import java.util.function.Predicate; import javax.inject.Inject; @@ -204,7 +205,7 @@ public class DeleteMessageListener implements MailboxListener.GroupMailboxListen private Mono<Boolean> hasOtherMessagesReferences(MessageRepresentation message, MessageAttachmentRepresentation attachment) { return attachmentMessageIdDAO.getOwnerMessageIds(attachment.getAttachmentId()) - .filter(messageId -> !message.getMessageId().equals(messageId)) + .filter(Predicate.not(Predicate.isEqual(message.getMessageId()))) .hasElements() .map(negate()); } diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMessageInconsistenciesService.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMessageInconsistenciesService.java index 5279d56..49936ee 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMessageInconsistenciesService.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/task/SolveMessageInconsistenciesService.java @@ -27,6 +27,7 @@ import java.util.Objects; import java.util.Optional; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Predicate; import javax.inject.Inject; @@ -456,7 +457,7 @@ public class SolveMessageInconsistenciesService { private Mono<Inconsistency> detectOutdatedMessageIdEntry(CassandraId mailboxId, CassandraMessageId messageId, ComposedMessageIdWithMetaData messageIdRecord) { return messageIdToImapUidDAO.retrieve(messageId, Optional.of(mailboxId)) - .filter(upToDateMessageFromImapUid -> !upToDateMessageFromImapUid.equals(messageIdRecord)) + .filter(Predicate.not(Predicate.isEqual(messageIdRecord))) .<Inconsistency>map(upToDateMessageFromImapUid -> new OutdatedMessageIdEntry(messageIdRecord, upToDateMessageFromImapUid)) .next() .switchIfEmpty(Mono.just(NO_INCONSISTENCY)); diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java index 675b3e2..79158dd 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java @@ -30,6 +30,8 @@ import static org.apache.james.mailbox.cassandra.table.CassandraCurrentQuota.QUO import static org.apache.james.mailbox.cassandra.table.CassandraCurrentQuota.STORAGE; import static org.apache.james.mailbox.cassandra.table.CassandraCurrentQuota.TABLE_NAME; +import java.util.function.Predicate; + import javax.inject.Inject; import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor; @@ -117,7 +119,7 @@ public class CassandraCurrentQuotaManager implements CurrentQuotaManager { @Override public Mono<Void> setCurrentQuotas(QuotaOperation quotaOperation) { return getCurrentQuotas(quotaOperation.quotaRoot()) - .filter(storedQuotas -> !storedQuotas.equals(CurrentQuotas.from(quotaOperation))) + .filter(Predicate.not(Predicate.isEqual(CurrentQuotas.from(quotaOperation)))) .flatMap(storedQuotas -> decrease(new QuotaOperation(quotaOperation.quotaRoot(), storedQuotas.count(), storedQuotas.size())) .then(increase(quotaOperation))); } diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java index 82dc941..e24f75a 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java @@ -26,6 +26,7 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Optional; +import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -128,7 +129,7 @@ public class IndexableMessage { subjects.serialize(), bodyText.orElse(null), bodyHtml.orElse(null)) - .filter(str -> !Strings.isNullOrEmpty(str)) + .filter(Predicate.not(Strings::isNullOrEmpty)) .collect(Collectors.joining(" ")); long uid = message.getUid().asLong(); diff --git a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java index 34b0051..cade1c8 100644 --- a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java +++ b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java @@ -30,6 +30,7 @@ import static org.apache.james.mailbox.events.RabbitMQEventBus.MAILBOX_EVENT_EXC import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Optional; +import java.util.function.Predicate; import org.apache.james.backends.rabbitmq.ReceiverProvider; import org.apache.james.event.json.EventSerializer; @@ -168,7 +169,7 @@ class GroupRegistration implements Registration { @Override public void unregister() { - receiverSubscriber.filter(subscriber -> !subscriber.isDisposed()) + receiverSubscriber.filter(Predicate.not(Disposable::isDisposed)) .ifPresent(Disposable::dispose); receiver.close(); unregisterGroup.run(); diff --git a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java index 8b79d06..6f3ddc6 100644 --- a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java +++ b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/KeyRegistrationHandler.java @@ -29,6 +29,7 @@ import java.time.Duration; import java.util.Map; import java.util.Optional; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.Predicate; import org.apache.james.backends.rabbitmq.ReceiverProvider; import org.apache.james.event.json.EventSerializer; @@ -121,7 +122,7 @@ class KeyRegistrationHandler { } void stop() { - receiverSubscriber.filter(subscriber -> !subscriber.isDisposed()) + receiverSubscriber.filter(Predicate.not(Disposable::isDisposed)) .ifPresent(Disposable::dispose); receiver.close(); sender.delete(QueueSpecification.queue(registrationQueue.asString())) diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java index 0d6275b..c36096a 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/user/MaildirSubscriptionMapper.java @@ -28,6 +28,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Set; +import java.util.function.Predicate; import org.apache.james.core.Username; import org.apache.james.mailbox.exception.SubscriptionException; @@ -37,6 +38,7 @@ import org.apache.james.mailbox.store.user.SubscriptionMapper; import org.apache.james.mailbox.store.user.model.Subscription; import com.github.steveash.guavate.Guavate; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; @@ -123,7 +125,7 @@ public class MaildirSubscriptionMapper extends NonTransactionalMapper implements try (FileReader fileReader = new FileReader(subscriptionFile)) { try (BufferedReader reader = new BufferedReader(fileReader)) { return reader.lines() - .filter(subscription -> !subscription.equals("")) + .filter(Predicate.not(Strings::isNullOrEmpty)) .collect(Guavate.toImmutableSet()); } } diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java index 4bf22c1..df9b8b2 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java @@ -25,6 +25,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Predicate; import javax.mail.Flags; import javax.mail.Flags.Flag; @@ -93,7 +94,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper { private long countUnseenMessagesInMailbox(MailboxId mailboxId) { return getMembershipByUidForMailbox(mailboxId).values() .stream() - .filter(member -> !member.isSeen()) + .filter(Predicate.not(MailboxMessage::isSeen)) .count(); } @@ -139,7 +140,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper { List<MailboxMessage> memberships = new ArrayList<>(getMembershipByUidForMailbox(mailbox).values()); Collections.sort(memberships); return memberships.stream() - .filter(m -> !m.isSeen()) + .filter(Predicate.not(MailboxMessage::isSeen)) .findFirst() .map(MailboxMessage::getUid) .orElse(null); diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java index cd9c5c7..120df80 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java @@ -20,6 +20,7 @@ package org.apache.james.mailbox.inmemory.quota; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Predicate; import java.util.function.UnaryOperator; import javax.inject.Inject; @@ -97,7 +98,7 @@ public class InMemoryCurrentQuotaManager implements CurrentQuotaManager { @Override public Mono<Void> setCurrentQuotas(QuotaOperation quotaOperation) { return getCurrentQuotas(quotaOperation.quotaRoot()) - .filter(storedQuotas -> !storedQuotas.equals(CurrentQuotas.from(quotaOperation))) + .filter(Predicate.not(Predicate.isEqual(CurrentQuotas.from(quotaOperation)))) .flatMap(storedQuotas -> decrease(new QuotaOperation(quotaOperation.quotaRoot(), storedQuotas.count(), storedQuotas.size())) .then(increase(quotaOperation))) .subscribeOn(Schedulers.elastic()); 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 d934faf..e84d747 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 @@ -68,6 +68,7 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage; import org.apache.james.mailbox.store.mail.model.Message; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage; import org.apache.james.mailbox.store.quota.QuotaChecker; +import org.apache.james.util.FunctionalUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -447,7 +448,7 @@ public class StoreMessageIdManager implements MessageIdManager { private Mono<Void> assertRightsOnMailboxIds(Collection<MailboxId> mailboxIds, MailboxSession mailboxSession, Right... rights) { return Flux.fromIterable(mailboxIds) - .filterWhen(hasRightsOnMailboxReactive(mailboxSession, rights).andThen(result -> result.map(b -> !b))) + .filterWhen(hasRightsOnMailboxReactive(mailboxSession, rights).andThen(result -> result.map(FunctionalUtils.negate()))) .next() .flatMap(mailboxForbidden -> { LOGGER.info("Mailbox with Id {} does not belong to {}", mailboxForbidden, mailboxSession.getUser().asString()); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/FlagsFactory.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/FlagsFactory.java index 3f506cd..c1d9b15 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/FlagsFactory.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/FlagsFactory.java @@ -21,6 +21,7 @@ package org.apache.james.mailbox.store.mail.model; import java.util.ArrayList; import java.util.Arrays; import java.util.Optional; +import java.util.function.Predicate; import java.util.stream.Stream; import javax.mail.Flags; @@ -115,7 +116,7 @@ public class FlagsFactory { toUserFlagStream(flagsOrEmpty), userFlags.stream()) .distinct() - .filter(s -> !Strings.isNullOrEmpty(s)) + .filter(Predicate.not(Strings::isNullOrEmpty)) .filter(flagsFilter.getUserFlagFilter()); final Flags result = new Flags(); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java index b693f0e..9258a83 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java @@ -25,6 +25,7 @@ import java.io.InputStream; import java.util.List; import java.util.Locale; import java.util.Optional; +import java.util.function.Predicate; import java.util.stream.Stream; import org.apache.james.mailbox.model.Cid; @@ -48,6 +49,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.steveash.guavate.Guavate; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; public class MessageParser { @@ -124,7 +126,7 @@ public class MessageParser { Optional<ContentTypeField> contentTypeField = getContentTypeField(entity); Optional<ContentDispositionField> contentDispositionField = getContentDispositionField(entity); Optional<ContentType> contentType = contentTypeField.map(ContentTypeField::getBody) - .filter(string -> !string.isEmpty()) + .filter(Predicate.not(Strings::isNullOrEmpty)) .map(ContentType::of); Optional<String> name = name(contentTypeField, contentDispositionField); Optional<Cid> cid = cid(readHeader(entity, CONTENT_ID, ContentIdField.class)); diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetErrorMessage.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetErrorMessage.java index d6acfb4..f856d08 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetErrorMessage.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/SetErrorMessage.java @@ -19,6 +19,8 @@ package org.apache.james.transport.mailets; +import java.util.function.Predicate; + import javax.mail.MessagingException; import org.apache.mailet.Mail; @@ -30,7 +32,7 @@ public class SetErrorMessage extends GenericMailet { @Override public void init() throws MessagingException { errorMessage = getInitParameterAsOptional("errorMessage") - .filter(string -> !string.isEmpty()) + .filter(Predicate.not(String::isEmpty)) .orElseThrow(() -> new IllegalStateException("'errorMessage' needs to be specified and cannot be empty")); } 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 733d4dc..f22d18f 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 @@ -21,6 +21,7 @@ package org.apache.james.transport.matchers.utils; import java.util.Optional; import java.util.Set; +import java.util.function.Predicate; import javax.mail.internet.AddressException; @@ -38,7 +39,7 @@ public class MailAddressCollectionReader { Preconditions.checkArgument(!Strings.isNullOrEmpty(condition)); return Splitter.onPattern("(,| |\t)").splitToList(condition) .stream() - .filter(s -> !Strings.isNullOrEmpty(s)) + .filter(Predicate.not(Strings::isNullOrEmpty)) .map(MailAddressCollectionReader::getMailAddress) .collect(Guavate.toImmutableSet()); } diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/CreateCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/CreateCommandParser.java index 419618a..722b91b 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/CreateCommandParser.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/CreateCommandParser.java @@ -18,6 +18,8 @@ ****************************************************************/ package org.apache.james.imap.decode.parser; +import java.util.function.Predicate; + import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.api.Tag; @@ -68,7 +70,7 @@ public class CreateCommandParser extends AbstractImapCommandParser { Splitter.on(delimiter) .splitToList(mailboxName) .stream() - .filter(s -> !Strings.isNullOrEmpty(s)) + .filter(Predicate.not(Strings::isNullOrEmpty)) .findAny() .orElseThrow(() -> new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, "Invalid mailbox name")); } diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java index 3f3703d..2ab0e38 100644 --- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java +++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java @@ -22,6 +22,7 @@ package org.apache.james.modules.objectstorage; import java.util.Arrays; import java.util.Objects; import java.util.Optional; +import java.util.function.Predicate; import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.ex.ConfigurationException; @@ -172,7 +173,7 @@ public class ObjectStorageBlobConfiguration { public ObjectStorageBlobConfiguration build() { if (payloadCodecFactory == PayloadCodecFactory.AES256) { - aesSalt.filter(s -> !s.isEmpty()) + aesSalt.filter(Predicate.not(Strings::isNullOrEmpty)) .orElseThrow(() -> new IllegalStateException("AES code requires an non-empty salt parameter")); aesPassword.filter(s -> s.length > 0) .orElseThrow(() -> new IllegalStateException("AES code requires an non-empty password parameter")); diff --git a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java index 0c7c1fc..3786b3b 100644 --- a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java +++ b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/ImapGuiceProbe.java @@ -39,20 +39,20 @@ public class ImapGuiceProbe implements GuiceProbe { } public int getImapPort() { - return getPort(server -> !server.getStartTLSSupported()) - .orElseThrow(() -> new IllegalStateException("IMAP server not defined")); + return getPort(Predicate.not(AbstractConfigurableAsyncServer::getStartTLSSupported)) + .orElseThrow(() -> new IllegalStateException("IMAP server not defined")); } public int getImapsPort() { - return getPort(server -> server.getStartTLSSupported()) - .orElseThrow(() -> new IllegalStateException("IMAPS server not defined")); + return getPort(AbstractConfigurableAsyncServer::getStartTLSSupported) + .orElseThrow(() -> new IllegalStateException("IMAPS server not defined")); } private Optional<Integer> getPort(Predicate<? super AbstractConfigurableAsyncServer> filter) { return imapServerFactory.getServers().stream() - .filter(filter) - .findFirst() - .flatMap(server -> server.getListenAddresses().stream().findFirst()) - .map(InetSocketAddress::getPort); + .filter(filter) + .findFirst() + .flatMap(server -> server.getListenAddresses().stream().findFirst()) + .map(InetSocketAddress::getPort); } } diff --git a/server/container/util/src/main/java/org/apache/james/util/OptionalUtils.java b/server/container/util/src/main/java/org/apache/james/util/OptionalUtils.java index 8e258e1..7372432 100644 --- a/server/container/util/src/main/java/org/apache/james/util/OptionalUtils.java +++ b/server/container/util/src/main/java/org/apache/james/util/OptionalUtils.java @@ -20,6 +20,7 @@ package org.apache.james.util; import java.util.Optional; import java.util.function.BiPredicate; +import java.util.function.Predicate; public class OptionalUtils { @@ -37,7 +38,7 @@ public class OptionalUtils { public static <T> boolean containsDifferent(Optional<T> requestValue, T storeValue) { return requestValue - .filter(value -> !value.equals(storeValue)) + .filter(Predicate.not(Predicate.isEqual(storeValue))) .isPresent(); } diff --git a/server/container/util/src/main/java/org/apache/james/util/UnitParser.java b/server/container/util/src/main/java/org/apache/james/util/UnitParser.java index 2f6e7d7..4960b7a 100644 --- a/server/container/util/src/main/java/org/apache/james/util/UnitParser.java +++ b/server/container/util/src/main/java/org/apache/james/util/UnitParser.java @@ -20,6 +20,7 @@ package org.apache.james.util; import java.util.Optional; +import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -57,7 +58,7 @@ class UnitParser { String amountAsString = res.group(AMOUNT); long amount = Integer.parseInt(amountAsString.trim()); - return new ParsingResult(amount, Optional.of(unitAsString).filter(s -> !Strings.isNullOrEmpty(s))); + return new ParsingResult(amount, Optional.of(unitAsString).filter(Predicate.not(Strings::isNullOrEmpty))); } throw new NumberFormatException("Supplied value do not follow the unit format (number optionally suffixed with a string representing the unit"); } diff --git a/server/container/util/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java b/server/container/util/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java index 5a3292a..515c050 100644 --- a/server/container/util/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java +++ b/server/container/util/src/main/java/org/apache/james/util/mime/MessageContentExtractor.java @@ -224,9 +224,8 @@ public class MessageContentExtractor { public Optional<String> extractMainTextContent(HtmlTextExtractor htmlTextExtractor) { return htmlBody.map(htmlTextExtractor::toPlainText) - .filter(s -> !Strings.isNullOrEmpty(s)) - .map(Optional::of) - .orElse(textBody); + .filter(Predicate.not(Strings::isNullOrEmpty)) + .or(() -> textBody); } @Override diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableDAO.java b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableDAO.java index 72eaf48..db31072 100644 --- a/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableDAO.java +++ b/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableDAO.java @@ -29,6 +29,8 @@ import static org.apache.james.rrt.cassandra.tables.CassandraRecipientRewriteTab import static org.apache.james.rrt.cassandra.tables.CassandraRecipientRewriteTableTable.TABLE_NAME; import static org.apache.james.rrt.cassandra.tables.CassandraRecipientRewriteTableTable.USER; +import java.util.function.Predicate; + import javax.inject.Inject; import org.apache.commons.lang3.tuple.Pair; @@ -112,7 +114,7 @@ public class CassandraRecipientRewriteTableDAO { .map(row -> row.getString(MAPPING)) .collect(Guavate.toImmutableList())) .map(MappingsImpl::fromCollection) - .filter(mappings -> !mappings.isEmpty()); + .filter(Predicate.not(MappingsImpl::isEmpty)); } public Flux<Pair<MappingSource, Mapping>> getAllMappings() { diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/projections/MessageFastViewPrecomputedProperties.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/projections/MessageFastViewPrecomputedProperties.java index 3c1cee9..ac396a4 100644 --- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/projections/MessageFastViewPrecomputedProperties.java +++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/projections/MessageFastViewPrecomputedProperties.java @@ -22,6 +22,7 @@ package org.apache.james.jmap.api.projections; import java.io.IOException; import java.util.List; import java.util.Objects; +import java.util.function.Predicate; import javax.inject.Inject; @@ -90,7 +91,7 @@ public class MessageFastViewPrecomputedProperties { private boolean hasAttachment(List<MessageAttachmentMetadata> attachments) { return attachments.stream() - .anyMatch(attachment -> !attachment.isInlinedWithCid()); + .anyMatch(Predicate.not(MessageAttachmentMetadata::isInlinedWithCid)); } } diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java index 5260b68..0aa03ef 100644 --- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java +++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java @@ -24,6 +24,7 @@ import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.function.Predicate; import org.apache.commons.configuration2.HierarchicalConfiguration; import org.apache.commons.configuration2.tree.ImmutableNode; @@ -113,7 +114,7 @@ public class DomainListConfiguration { public static DomainListConfiguration from(HierarchicalConfiguration<ImmutableNode> config) { ImmutableList<Domain> configuredDomains = StreamUtils.ofNullable(config.getStringArray(CONFIGURE_DOMAIN_NAMES)) - .filter(s -> !s.isEmpty()) + .filter(Predicate.not(String::isEmpty)) .map(Domain::of) .collect(Guavate.toImmutableList()); diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java index 99f0c5d..ab557ff 100644 --- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java +++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java @@ -30,6 +30,7 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; +import java.util.function.Predicate; import javax.annotation.PreDestroy; import javax.inject.Inject; @@ -422,7 +423,7 @@ public class JamesMailetContext implements MailetContext, Configurable, Disposab // doesn't work, use the hostname, even if it is localhost. if (postMasterAddress.indexOf('@') < 0) { Domain domainName = domains.getDomains().stream() - .filter(domain -> !Domain.LOCALHOST.equals(domain)) + .filter(Predicate.not(Predicate.isEqual(Domain.LOCALHOST))) .findFirst() .orElse(domains.getDefaultDomain()); diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java index 4216832..00b5617 100644 --- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java +++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java @@ -20,6 +20,7 @@ package org.apache.james.transport.mailets; import java.util.Optional; +import java.util.function.Predicate; import javax.inject.Inject; import javax.mail.MessagingException; @@ -87,7 +88,7 @@ public class SpamAssassin extends GenericMailet { @Override public void init() throws MessagingException { spamdHost = Optional.ofNullable(getInitParameter(SPAMD_HOST)) - .filter(s -> !Strings.isNullOrEmpty(s)) + .filter(Predicate.not(Strings::isNullOrEmpty)) .orElse(DEFAULT_HOST); spamdPort = MailetUtil.getInitParameterAsStrictlyPositiveInteger(getInitParameter(SPAMD_PORT), DEFAULT_PORT); 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 ec207da..192c0c6 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 @@ -18,6 +18,8 @@ ****************************************************************/ package org.apache.james.transport.mailets.jsieve; +import java.util.function.Predicate; + import javax.mail.MessagingException; import org.apache.jsieve.mail.Action; @@ -40,7 +42,7 @@ public class DiscardAction extends FileIntoAction implements MailAction { public static void removeRecipient(Mail mail, ActionContext context) { mail.setRecipients(mail.getRecipients() .stream() - .filter(mailAddress -> !mailAddress.equals(context.getRecipient())) + .filter(Predicate.not(Predicate.isEqual(context.getRecipient()))) .collect(Guavate.toImmutableList())); } } diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MIMEMessageConverter.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MIMEMessageConverter.java index 3396256..73fdbd1 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MIMEMessageConverter.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/MIMEMessageConverter.java @@ -29,6 +29,7 @@ import java.util.Map; import java.util.Optional; import java.util.TimeZone; import java.util.function.Consumer; +import java.util.function.Predicate; import java.util.stream.Collectors; import javax.inject.Inject; @@ -230,7 +231,7 @@ public class MIMEMessageConverter { .filter(MessageAttachmentMetadata::isInline) .collect(Guavate.toImmutableList()); List<MessageAttachmentMetadata> besideAttachments = messageAttachments.stream() - .filter(attachment -> !attachment.isInline()) + .filter(Predicate.not(MessageAttachmentMetadata::isInline)) .collect(Guavate.toImmutableList()); if (inlineAttachments.size() > 0) { diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java index 1d79ceb..acf2747 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java @@ -173,9 +173,7 @@ public class SetMailboxesUpdateProcessor implements SetMailboxesProcessor { @VisibleForTesting <T> boolean requestChanged(Optional<T> requestValue, Optional<T> storeValue) { - return requestValue - .filter(value -> !requestValue.equals(storeValue)) - .isPresent(); + return requestValue.isPresent() && !requestValue.equals(storeValue); } private Mailbox getMailbox(MailboxId mailboxId, MailboxSession mailboxSession) throws MailboxNotFoundException { diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/Emailer.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/Emailer.java index ffb037c..abbb232 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/Emailer.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/Emailer.java @@ -22,6 +22,7 @@ package org.apache.james.jmap.draft.model; import java.util.List; import java.util.Objects; import java.util.Optional; +import java.util.function.Predicate; import javax.mail.internet.AddressException; @@ -40,6 +41,7 @@ import com.github.steveash.guavate.Guavate; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; @JsonDeserialize(builder = Emailer.Builder.class) @@ -141,7 +143,7 @@ public class Emailer { } private Optional<String> replaceIfNeeded(Optional<String> value) { - return value.filter(s -> !s.isEmpty()); + return value.filter(Predicate.not(Strings::isNullOrEmpty)); } } diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/mailbox/Rights.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/mailbox/Rights.java index 1a941bb..cbe15b0 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/mailbox/Rights.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/mailbox/Rights.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.function.BinaryOperator; +import java.util.function.Predicate; import org.apache.commons.lang3.tuple.Pair; import org.apache.james.core.Username; @@ -232,7 +233,7 @@ public class Rights { private Optional<Boolean> containsRight(Username username, Right right) { return Optional.ofNullable(rights.get(username)) - .filter(rightList -> !rightList.isEmpty()) + .filter(Predicate.not(Collection::isEmpty)) .map(rightList -> rightList.contains(right)); } diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactory.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactory.java index 3f38ad3..5741c5f 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactory.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageFullViewFactory.java @@ -26,6 +26,7 @@ import java.util.Date; import java.util.List; import java.util.Optional; import java.util.Set; +import java.util.function.Predicate; import java.util.function.Supplier; import javax.inject.Inject; @@ -204,9 +205,8 @@ public class MessageFullViewFactory implements MessageViewFactory<MessageFullVie private Optional<String> mainTextContent(MessageContent messageContent) { return messageContent.getHtmlBody() .map(htmlTextExtractor::toPlainText) - .filter(s -> !Strings.isNullOrEmpty(s)) - .map(Optional::of) - .orElse(messageContent.getTextBody()); + .filter(Predicate.not(Strings::isNullOrEmpty)) + .or(messageContent::getTextBody); } private List<Attachment> getAttachments(List<MessageAttachmentMetadata> attachments) { diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java index 11c9cd3..dc9409f 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java @@ -28,6 +28,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.function.Function; +import java.util.function.Predicate; import java.util.stream.Collectors; import org.apache.james.jmap.draft.model.Keywords; @@ -132,7 +133,7 @@ public interface MessageViewFactory<T extends MessageView> { return messageResults .groupBy(MessageResult::getMessageId) .flatMap(Flux::collectList) - .filter(list -> !list.isEmpty()) + .filter(Predicate.not(List::isEmpty)) .flatMap(toMessageViews(converter)); } diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/utils/JsoupHtmlTextExtractor.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/utils/JsoupHtmlTextExtractor.java index c697c4e..b4ea0c0 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/utils/JsoupHtmlTextExtractor.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/utils/JsoupHtmlTextExtractor.java @@ -20,6 +20,7 @@ package org.apache.james.jmap.draft.utils; import java.util.Optional; +import java.util.function.Predicate; import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; @@ -32,6 +33,8 @@ import org.jsoup.nodes.TextNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.base.Strings; + public class JsoupHtmlTextExtractor implements HtmlTextExtractor { private static final Logger LOGGER = LoggerFactory.getLogger(JsoupHtmlTextExtractor.class); @@ -93,7 +96,7 @@ public class JsoupHtmlTextExtractor implements HtmlTextExtractor { private String generateImageAlternativeText(Element element) { return Optional.ofNullable(element.attributes().get(ALT_TAG)) .map(StringUtils::normalizeSpace) - .filter(s -> !s.isEmpty()) + .filter(Predicate.not(Strings::isNullOrEmpty)) .map(s -> "[" + s + "]") .orElse(""); } diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java index 56ab963..138bc77 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java @@ -19,6 +19,7 @@ package org.apache.james.jmap.event; +import java.util.function.Predicate; import java.util.stream.Stream; import javax.inject.Inject; @@ -111,7 +112,7 @@ public class PropagateLookupRightListener implements MailboxListener.GroupMailbo private Stream<MailboxPath> listAncestors(MailboxSession mailboxSession, MailboxPath mailboxPath) { return mailboxPath.getHierarchyLevels(mailboxSession.getPathDelimiter()) .stream() - .filter(hierarchyMailboxPath -> !hierarchyMailboxPath.equals(mailboxPath)); + .filter(Predicate.not(Predicate.isEqual(mailboxPath))); } private void applyLookupRight(MailboxSession session, MailboxPath mailboxPath, Entry entry) { diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/http/DefaultMailboxesProvisionerTest.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/http/DefaultMailboxesProvisionerTest.java index 4120f0c..267d450 100644 --- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/http/DefaultMailboxesProvisionerTest.java +++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/http/DefaultMailboxesProvisionerTest.java @@ -21,6 +21,7 @@ package org.apache.james.jmap.http; import static org.assertj.core.api.Assertions.assertThat; import java.time.Duration; +import java.util.function.Predicate; import org.apache.james.core.Username; import org.apache.james.mailbox.DefaultMailboxes; @@ -70,7 +71,7 @@ public class DefaultMailboxesProvisionerTest { public void createMailboxesIfNeededShouldCreateSpamWhenOtherSystemMailboxesExist() throws Exception { DefaultMailboxes.DEFAULT_MAILBOXES .stream() - .filter(mailbox -> !DefaultMailboxes.SPAM.equals(mailbox)) + .filter(Predicate.not(Predicate.isEqual(DefaultMailboxes.SPAM))) .forEach(Throwing.consumer(mailbox -> mailboxManager.createMailbox(MailboxPath.forUser(USERNAME, mailbox), session))); testee.createMailboxesIfNeeded(session).block(); diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java index 35ad151..c0f8440 100644 --- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java +++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java @@ -23,6 +23,7 @@ import java.time.Duration; import java.time.temporal.ChronoUnit; import java.util.List; import java.util.Optional; +import java.util.function.Predicate; import java.util.function.Supplier; import javax.inject.Inject; @@ -201,7 +202,7 @@ public class TasksRoutes implements Routes { private Duration getTimeout(Request req) { try { Duration timeout = Optional.ofNullable(req.queryParams("timeout")) - .filter(parameter -> !parameter.isEmpty()) + .filter(Predicate.not(String::isEmpty)) .map(rawString -> DurationParser.parse(rawString, ChronoUnit.SECONDS)) .orElse(MAXIMUM_AWAIT_TIMEOUT); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
