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