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