You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2020/09/08 03:43:00 UTC

[james-project] 06/19: JAMES-3369 Enforce some scala idioms

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 da15b105870d8dcb2c78c6fde4bfd2f1a7557748
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Sep 4 17:15:34 2020 +0700

    JAMES-3369 Enforce some scala idioms
---
 .../scala/org/apache/james/jmap/mail/EmailBodyPart.scala    | 13 ++++++++-----
 .../scala/org/apache/james/jmap/method/EmailGetMethod.scala |  3 +--
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala
index 43659f9..f38b339 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala
@@ -64,17 +64,17 @@ object EmailBodyPart {
         val childrenValidation: Try[List[EmailBodyPart]] = scanResults.map(list => list.flatMap(_._1))
 
         zip(childrenValidation, highestPartIdValidation)
-            .flatMap({
+            .flatMap {
               case (children, highestPartId) => of(None, partId, entity, Some(children))
                 .map(part => (part, highestPartId))
-            })
+            }
       case _ => BlobId.of(messageId, partId)
           .flatMap(blobId => of(Some(blobId), partId, entity, None))
           .map(part => (part, partId))
     }
 
   def traverse(messageId: MessageId)(acc: Try[(Option[EmailBodyPart], PartId)], entity: Entity): Try[(Option[EmailBodyPart], PartId)] = {
-    acc.flatMap({
+    acc.flatMap {
       case (_, previousPartId) =>
         val partId = previousPartId.next
 
@@ -82,7 +82,7 @@ object EmailBodyPart {
           .map({
             case (part, partId) => (Some(part), partId)
           })
-    })
+    }
   }
 
   private def of(blobId: Option[BlobId],
@@ -114,7 +114,10 @@ object EmailBodyPart {
     }
   }
 
-  def zip[A, B](a: Try[A], b: Try[B]): Try[(A, B)] = a.flatMap(aValue => b.map(bValue => (aValue, bValue)))
+  def zip[A, B](a: Try[A], b: Try[B]): Try[(A, B)] = for {
+    aValue <- a
+    bValue <- b
+  } yield (aValue, bValue)
 }
 
 case class EmailBodyPart(partId: PartId,
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala
index 348ab20..eb7ae67 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala
@@ -154,8 +154,7 @@ class EmailGetMethod @Inject() (serializer: Serializer,
     val foundResultsMono: SMono[Map[MessageId, Email]] = SFlux.fromPublisher(messageIdManager.getMessagesReactive(ids.toList.asJava, FetchGroup.MINIMAL, mailboxSession))
       .groupBy(_.getMessageId)
       .flatMap(groupedFlux => groupedFlux.collectSeq().map(results => (groupedFlux.key(), results)))
-      .map(Email.from)
-      .map(_.get)
+      .flatMap(email => SMono.fromTry(Email.from(email)))
       .collectMap(_.id)
 
     foundResultsMono.flatMapMany(foundResults => SFlux.fromIterable(ids)


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org