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:03 UTC
[james-project] 01/09: [REFACTORING] Use Optional.stream
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 bcb75a6df39df92c7996e771eb4f4dedd9287c25
Author: Gautier DI FOLCO <gd...@linagora.com>
AuthorDate: Thu Jul 2 20:13:31 2020 +0200
[REFACTORING] Use Optional.stream
---
.../main/java/org/apache/james/mailbox/quota/MaxQuotaManager.java | 6 ++----
.../java/org/apache/james/mailbox/elasticsearch/json/MimePart.java | 7 +++----
.../apache/james/mailbox/store/mail/model/impl/MessageParser.java | 5 ++---
mailet/api/src/main/java/org/apache/mailet/Mail.java | 3 +--
.../jmap/src/main/java/org/apache/james/jmap/draft/JMAPModule.java | 3 +--
.../integration/cucumber/util/ObjectFromStringExtractor.java | 3 +--
.../james/jmap/draft/methods/SetMailboxesDestructionProcessor.java | 3 +--
.../org/apache/james/jmap/draft/model/GetMailboxesRequest.java | 3 +--
.../apache/james/webadmin/service/MailRepositoryStoreService.java | 7 +++----
9 files changed, 15 insertions(+), 25 deletions(-)
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/quota/MaxQuotaManager.java b/mailbox/api/src/main/java/org/apache/james/mailbox/quota/MaxQuotaManager.java
index 1030620..adf979e 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/quota/MaxQuotaManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/quota/MaxQuotaManager.java
@@ -169,8 +169,7 @@ public interface MaxQuotaManager {
Throwing.supplier(() -> getDomainMaxMessage(domain)).sneakyThrow(),
Throwing.supplier(this::getGlobalMaxMessage).sneakyThrow())
.map(Supplier::get)
- .filter(Optional::isPresent)
- .map(Optional::get)
+ .flatMap(Optional::stream)
.findFirst();
}
@@ -179,8 +178,7 @@ public interface MaxQuotaManager {
Throwing.supplier(() -> getDomainMaxStorage(domain)).sneakyThrow(),
Throwing.supplier(this::getGlobalMaxStorage).sneakyThrow())
.map(Supplier::get)
- .filter(Optional::isPresent)
- .map(Optional::get)
+ .flatMap(Optional::stream)
.findFirst();
}
}
\ No newline at end of file
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
index d818cfd..6f94526 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
@@ -270,10 +270,9 @@ public class MimePart {
private Optional<String> firstBody(Stream<MimePart> mimeParts) {
return mimeParts
- .map((mimePart) -> mimePart.bodyTextContent)
- .filter(Optional::isPresent)
- .map(Optional::get)
- .findFirst();
+ .map(mimePart -> mimePart.bodyTextContent)
+ .flatMap(Optional::stream)
+ .findFirst();
}
private Stream<MimePart> textAttachments() {
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 328a98d..b693f0e 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
@@ -160,9 +160,8 @@ public class MessageParser {
private Optional<String> name(Optional<ContentTypeField> contentTypeField, Optional<ContentDispositionField> contentDispositionField) {
return contentTypeField
- .map(field -> Optional.ofNullable(field.getParameter("name")))
- .filter(Optional::isPresent)
- .orElseGet(() -> contentDispositionField.map(ContentDispositionField::getFilename))
+ .flatMap(field -> Optional.ofNullable(field.getParameter("name")))
+ .or(() -> contentDispositionField.map(ContentDispositionField::getFilename))
.map(MimeUtil::unscrambleHeaderValue);
}
diff --git a/mailet/api/src/main/java/org/apache/mailet/Mail.java b/mailet/api/src/main/java/org/apache/mailet/Mail.java
index 2ab5499..2250811 100644
--- a/mailet/api/src/main/java/org/apache/mailet/Mail.java
+++ b/mailet/api/src/main/java/org/apache/mailet/Mail.java
@@ -417,8 +417,7 @@ public interface Mail extends Serializable, Cloneable {
default Map<AttributeName, Attribute> attributesMap() {
return attributeNames()
.map(name -> getAttribute(name).map(attribute -> Pair.of(name, attribute)))
- .filter(Optional::isPresent)
- .map(Optional::get)
+ .flatMap(Optional::stream)
.collect(ImmutableMap.toImmutableMap(Pair::getKey, Pair::getValue));
}
}
diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/draft/JMAPModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/draft/JMAPModule.java
index f842c2a..f31b10d 100644
--- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/draft/JMAPModule.java
+++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/draft/JMAPModule.java
@@ -190,8 +190,7 @@ public class JMAPModule extends AbstractModule {
"Attachment Search support in MailboxManager is required by JMAP Module"),
badCheckDescription(searchCapabilities.contains(SearchCapabilities.AttachmentFileName),
"Attachment file name Search support in MailboxManager is required by JMAP Module"))
- .filter(Optional::isPresent)
- .map(Optional::get)
+ .flatMap(Optional::stream)
.collect(Guavate.toImmutableList());
if (!badCheckDescriptions.isEmpty()) {
diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/util/ObjectFromStringExtractor.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/util/ObjectFromStringExtractor.java
index 7e18f0c..1c8d4e5 100644
--- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/util/ObjectFromStringExtractor.java
+++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/cucumber/util/ObjectFromStringExtractor.java
@@ -34,8 +34,7 @@ public class ObjectFromStringExtractor {
public Object extract(String value) {
return EXTRACTORS.stream()
.map(extractor -> extractor.extract(value))
- .filter(Optional::isPresent)
- .map(Optional::get)
+ .flatMap(Optional::stream)
.findFirst()
.orElse(null);
}
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesDestructionProcessor.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesDestructionProcessor.java
index 575597a..1238147 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesDestructionProcessor.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesDestructionProcessor.java
@@ -99,8 +99,7 @@ public class SetMailboxesDestructionProcessor implements SetMailboxesProcessor {
.id(id)
.session(mailboxSession)
.build())
- .filter(Optional::isPresent)
- .map(Optional::get)
+ .flatMap(Optional::stream)
.forEach(mailbox -> idToMailboxBuilder.put(mailbox.getId(), mailbox));
return idToMailboxBuilder.build();
}
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/GetMailboxesRequest.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/GetMailboxesRequest.java
index ff01a27..6a495de 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/GetMailboxesRequest.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/GetMailboxesRequest.java
@@ -69,8 +69,7 @@ public class GetMailboxesRequest implements JmapRequest {
this.properties = Optional.of(
properties.stream()
.map(MailboxProperty::findProperty)
- .filter(Optional::isPresent)
- .map(Optional::get)
+ .flatMap(Optional::stream)
.collect(Guavate.toImmutableSet()));
return this;
}
diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java
index b9fc716..65f3a68 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java
+++ b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java
@@ -121,9 +121,8 @@ public class MailRepositoryStoreService {
private Optional<Mail> fecthMail(MailRepositoryPath path, MailKey mailKey) throws MailRepositoryStore.MailRepositoryStoreException, MessagingException {
return getRepositories(path)
- .map(Throwing.function((MailRepository repository) -> Optional.ofNullable(repository.retrieve(mailKey))).sneakyThrow())
- .filter(Optional::isPresent)
- .findFirst()
- .orElse(Optional.empty());
+ .map(Throwing.function((MailRepository repository) -> Optional.ofNullable(repository.retrieve(mailKey))).sneakyThrow())
+ .flatMap(Optional::stream)
+ .findFirst();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org