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