You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2020/11/09 11:45:32 UTC

[james-project] 04/09: JAMES-3434 Various EmailSubmission refactorings

This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 9cdfea9327a2941f9ccb5f81d6a6772b0b266643
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Nov 5 10:47:25 2020 +0700

    JAMES-3434 Various EmailSubmission refactorings
---
 .../org/apache/james/jmap/json/EmailSubmissionSetSerializer.scala | 7 +++----
 .../scala/org/apache/james/jmap/mail/EmailSubmissionSet.scala     | 4 +---
 .../org/apache/james/jmap/method/EmailSubmissionSetMethod.scala   | 8 ++++----
 3 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSubmissionSetSerializer.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSubmissionSetSerializer.scala
index f927639..6dd492e 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSubmissionSetSerializer.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSubmissionSetSerializer.scala
@@ -19,13 +19,13 @@
 
 package org.apache.james.jmap.json
 
-import eu.timepit.refined.collection.NonEmpty
 import eu.timepit.refined.refineV
 import javax.inject.Inject
 import org.apache.james.core.MailAddress
+import org.apache.james.jmap.core.Id.IdConstraint
 import org.apache.james.jmap.core.SetError
 import org.apache.james.jmap.mail.EmailSubmissionSet.EmailSubmissionCreationId
-import org.apache.james.jmap.mail.{EmailSubmissionAddress, EmailSubmissionCreationRequest, EmailSubmissionCreationResponse, EmailSubmissionId, EmailSubmissionSetRequest, EmailSubmissionSetResponse, Envelope, Parameters}
+import org.apache.james.jmap.mail.{EmailSubmissionAddress, EmailSubmissionCreationRequest, EmailSubmissionCreationResponse, EmailSubmissionId, EmailSubmissionSetRequest, EmailSubmissionSetResponse, Envelope}
 import org.apache.james.mailbox.model.MessageId
 import play.api.libs.json.{JsError, JsObject, JsResult, JsString, JsSuccess, JsValue, Json, Reads, Writes}
 
@@ -33,7 +33,7 @@ import scala.util.Try
 
 class EmailSubmissionSetSerializer @Inject()(messageIdFactory: MessageId.Factory) {
   private implicit val mapCreationRequestByEmailSubmissionCreationId: Reads[Map[EmailSubmissionCreationId, JsObject]] =
-    readMapEntry[EmailSubmissionCreationId, JsObject](s => refineV[NonEmpty](s),
+    readMapEntry[EmailSubmissionCreationId, JsObject](s => refineV[IdConstraint](s),
       {
         case o: JsObject => JsSuccess(o)
         case _ => JsError("Expecting a JsObject as a creation entry")
@@ -56,7 +56,6 @@ class EmailSubmissionSetSerializer @Inject()(messageIdFactory: MessageId.Factory
 
   private implicit val emailSubmissionIdWrites: Writes[EmailSubmissionId] = Json.valueWrites[EmailSubmissionId]
 
-  private implicit val parametersReads: Reads[Parameters] = Json.valueReads[Parameters]
   private implicit val emailSubmissionAddresReads: Reads[EmailSubmissionAddress] = Json.reads[EmailSubmissionAddress]
   private implicit val envelopeReads: Reads[Envelope] = Json.reads[Envelope]
 
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSubmissionSet.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSubmissionSet.scala
index ea9b51c..d9a0ae2 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSubmissionSet.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSubmissionSet.scala
@@ -21,7 +21,6 @@ package org.apache.james.jmap.mail
 
 import java.util.UUID
 
-import eu.timepit.refined.api.Refined
 import eu.timepit.refined.collection.NonEmpty
 import eu.timepit.refined.refineV
 import eu.timepit.refined.types.string.NonEmptyString
@@ -36,7 +35,7 @@ import org.apache.james.mailbox.model.MessageId
 import play.api.libs.json.JsObject
 
 object EmailSubmissionSet {
-  type EmailSubmissionCreationId = String Refined NonEmpty
+  type EmailSubmissionCreationId = Id
 }
 
 object EmailSubmissionId {
@@ -55,7 +54,6 @@ case class EmailSubmissionId(value: Id)
 
 case class EmailSubmissionCreationResponse(id: EmailSubmissionId)
 
-case class Parameters(value: String)
 case class EmailSubmissionAddress(email: MailAddress)
 
 case class Envelope(mailFrom: EmailSubmissionAddress, rcptTo: List[EmailSubmissionAddress])
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSubmissionSetMethod.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSubmissionSetMethod.scala
index 315c330..d3d6e25 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSubmissionSetMethod.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSubmissionSetMethod.scala
@@ -96,19 +96,19 @@ class EmailSubmissionSetMethod @Inject()(serializer: EmailSubmissionSetSerialize
   }
   case class CreationResults(created: Seq[CreationResult]) {
     def retrieveCreated: Map[EmailSubmissionCreationId, EmailSubmissionCreationResponse] = created
-      .flatMap(result => result match {
+      .flatMap {
         case success: CreationSuccess => Some(success.emailSubmissionCreationId, success.emailSubmissionCreationResponse)
         case _ => None
-      })
+      }
       .toMap
       .map(creation => (creation._1, creation._2))
 
 
     def retrieveErrors: Map[EmailSubmissionCreationId, SetError] = created
-      .flatMap(result => result match {
+      .flatMap {
         case failure: CreationFailure => Some(failure.emailSubmissionCreationId, failure.asSetError)
         case _ => None
-      })
+      }
       .toMap
   }
 


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