You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2020/07/10 01:49:04 UTC
[james-project] 02/09: [REFACTORING] Use Predicate.{not, equals}
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 <gd...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org