MAILBOX-362 Alphabetically order EventSerializer.scala
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e25c2472 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e25c2472 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e25c2472 Branch: refs/heads/master Commit: e25c24720979ac665cb6d41475454a296ca77092 Parents: 2d5abee Author: datph <[email protected]> Authored: Tue Dec 18 11:18:06 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Wed Dec 19 10:56:44 2018 +0700 ---------------------------------------------------------------------- .../james/event/json/EventSerializer.scala | 83 ++++++++++---------- 1 file changed, 41 insertions(+), 42 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/e25c2472/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala ---------------------------------------------------------------------- diff --git a/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala b/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala index 7dcffbc..5a14668 100644 --- a/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala +++ b/mailbox/event/json/src/main/scala/org/apache/james/event/json/EventSerializer.scala @@ -37,20 +37,14 @@ private sealed trait Event { } private object DTO { - - case class QuotaUsageUpdatedEvent(user: User, quotaRoot: QuotaRoot, countQuota: Quota[QuotaCount], - sizeQuota: Quota[QuotaSize], time: Instant) extends Event { - override def toJava: JavaEvent = new JavaQuotaUsageUpdatedEvent(user, quotaRoot, countQuota.toJava, sizeQuota.toJava, time) + case class MailboxACLUpdated(sessionId: SessionId, user: User, mailboxPath: MailboxPath, aclDiff: ACLDiff, mailboxId: MailboxId) extends Event { + override def toJava: JavaEvent = new JavaMailboxACLUpdated(sessionId, user, mailboxPath.toJava, aclDiff.toJava, mailboxId) } case class MailboxAdded(mailboxPath: MailboxPath, mailboxId: MailboxId, user: User, sessionId: SessionId) extends Event { override def toJava: JavaEvent = new JavaMailboxAdded(sessionId, user, mailboxPath.toJava, mailboxId) } - case class MailboxRenamed(sessionId: SessionId, user: User, path: MailboxPath, mailboxId: MailboxId, newPath: MailboxPath) extends Event { - override def toJava: JavaEvent = new JavaMailboxRenamed(sessionId, user, path.toJava, mailboxId, newPath.toJava) - } - case class MailboxDeletion(sessionId: SessionId, user: User, path: MailboxPath, quotaRoot: QuotaRoot, deletedMessageCount: QuotaCount, totalDeletedSize: QuotaSize, mailboxId: MailboxId) extends Event { override def toJava: JavaEvent = new JavaMailboxDeletion(sessionId, user, path.toJava, quotaRoot, deletedMessageCount, @@ -58,18 +52,23 @@ private object DTO { mailboxId) } - case class MailboxACLUpdated(sessionId: SessionId, user: User, mailboxPath: MailboxPath, aclDiff: ACLDiff, mailboxId: MailboxId) extends Event { - override def toJava: JavaEvent = new JavaMailboxACLUpdated(sessionId, user, mailboxPath.toJava, aclDiff.toJava, mailboxId) + case class MailboxRenamed(sessionId: SessionId, user: User, path: MailboxPath, mailboxId: MailboxId, newPath: MailboxPath) extends Event { + override def toJava: JavaEvent = new JavaMailboxRenamed(sessionId, user, path.toJava, mailboxId, newPath.toJava) + } + + case class QuotaUsageUpdatedEvent(user: User, quotaRoot: QuotaRoot, countQuota: Quota[QuotaCount], + sizeQuota: Quota[QuotaSize], time: Instant) extends Event { + override def toJava: JavaEvent = new JavaQuotaUsageUpdatedEvent(user, quotaRoot, countQuota.toJava, sizeQuota.toJava, time) } } private object ScalaConverter { - private def toScala(event: JavaQuotaUsageUpdatedEvent): DTO.QuotaUsageUpdatedEvent = DTO.QuotaUsageUpdatedEvent( + private def toScala(event: JavaMailboxACLUpdated): DTO.MailboxACLUpdated = DTO.MailboxACLUpdated( + sessionId = event.getSessionId, user = event.getUser, - quotaRoot = event.getQuotaRoot, - countQuota = Quota.toScala(event.getCountQuota), - sizeQuota = Quota.toScala(event.getSizeQuota), - time = event.getInstant) + mailboxPath = MailboxPath.fromJava(event.getMailboxPath), + aclDiff = ACLDiff.fromJava(event.getAclDiff), + mailboxId = event.getMailboxId) private def toScala(event: JavaMailboxAdded): DTO.MailboxAdded = DTO.MailboxAdded( mailboxPath = MailboxPath.fromJava(event.getMailboxPath), @@ -77,13 +76,6 @@ private object ScalaConverter { user = event.getUser, sessionId = event.getSessionId) - private def toScala(event: JavaMailboxRenamed): DTO.MailboxRenamed = DTO.MailboxRenamed( - sessionId = event.getSessionId, - user = event.getUser, - path = MailboxPath.fromJava(event.getMailboxPath), - mailboxId = event.getMailboxId, - newPath = MailboxPath.fromJava(event.getNewPath)) - private def toScala(event: JavaMailboxDeletion): DTO.MailboxDeletion = DTO.MailboxDeletion( sessionId = event.getSessionId, user = event.getUser, @@ -93,19 +85,26 @@ private object ScalaConverter { totalDeletedSize = event.getTotalDeletedSize, mailboxId = event.getMailboxId) - private def toScala(event: JavaMailboxACLUpdated): DTO.MailboxACLUpdated = DTO.MailboxACLUpdated( + private def toScala(event: JavaMailboxRenamed): DTO.MailboxRenamed = DTO.MailboxRenamed( sessionId = event.getSessionId, user = event.getUser, - mailboxPath = MailboxPath.fromJava(event.getMailboxPath), - aclDiff = ACLDiff.fromJava(event.getAclDiff), - mailboxId = event.getMailboxId) + path = MailboxPath.fromJava(event.getMailboxPath), + mailboxId = event.getMailboxId, + newPath = MailboxPath.fromJava(event.getNewPath)) + + private def toScala(event: JavaQuotaUsageUpdatedEvent): DTO.QuotaUsageUpdatedEvent = DTO.QuotaUsageUpdatedEvent( + user = event.getUser, + quotaRoot = event.getQuotaRoot, + countQuota = Quota.toScala(event.getCountQuota), + sizeQuota = Quota.toScala(event.getSizeQuota), + time = event.getInstant) def toScala(javaEvent: JavaEvent): Event = javaEvent match { - case e: JavaQuotaUsageUpdatedEvent => toScala(e) + case e: JavaMailboxACLUpdated => toScala(e) case e: JavaMailboxAdded => toScala(e) - case e: JavaMailboxRenamed => toScala(e) case e: JavaMailboxDeletion => toScala(e) - case e: JavaMailboxACLUpdated => toScala(e) + case e: JavaMailboxRenamed => toScala(e) + case e: JavaQuotaUsageUpdatedEvent => toScala(e) case _ => throw new RuntimeException("no Scala convertion known") } } @@ -132,25 +131,21 @@ private class JsonSerialize(mailboxIdFactory: MailboxId.Factory) { case JsString(rightsAsString) => JsSuccess(JavaMailboxACL.Rfc4314Rights.deserialize(rightsAsString)) case _ => JsError() } - implicit val userReads: Reads[User] = { - case JsString(userAsString) => JsSuccess(User.fromUsername(userAsString)) - case _ => JsError() - } implicit val mailboxIdReads: Reads[MailboxId] = { case JsString(serializedMailboxId) => JsSuccess(mailboxIdFactory.fromString(serializedMailboxId)) case _ => JsError() } - implicit val sessionIdReads: Reads[SessionId] = { - case JsNumber(id) => JsSuccess(SessionId.of(id.longValue())) + implicit val quotaCountReads: Reads[QuotaCount] = { + case JsNumber(count) => JsSuccess(QuotaCount.count(count.toLong)) + case JsNull => JsSuccess(QuotaCount.unlimited()) case _ => JsError() } implicit val quotaRootReads: Reads[QuotaRoot] = { case JsString(quotaRoot) => JsSuccess(QuotaRoot.quotaRoot(quotaRoot, Optional.empty[Domain])) case _ => JsError() } - implicit val quotaCountReads: Reads[QuotaCount] = { - case JsNumber(count) => JsSuccess(QuotaCount.count(count.toLong)) - case JsNull => JsSuccess(QuotaCount.unlimited()) + implicit val quotaScopeReads: Reads[JavaQuota.Scope] = { + case JsString(value) => JsSuccess(JavaQuota.Scope.valueOf(value)) case _ => JsError() } implicit val quotaSizeReads: Reads[QuotaSize] = { @@ -158,8 +153,12 @@ private class JsonSerialize(mailboxIdFactory: MailboxId.Factory) { case JsNull => JsSuccess(QuotaSize.unlimited()) case _ => JsError() } - implicit val quotaScopeReads: Reads[JavaQuota.Scope] = { - case JsString(value) => JsSuccess(JavaQuota.Scope.valueOf(value)) + implicit val sessionIdReads: Reads[SessionId] = { + case JsNumber(id) => JsSuccess(SessionId.of(id.longValue())) + case _ => JsError() + } + implicit val userReads: Reads[User] = { + case JsString(userAsString) => JsSuccess(User.fromUsername(userAsString)) case _ => JsError() } @@ -183,10 +182,10 @@ private class JsonSerialize(mailboxIdFactory: MailboxId.Factory) { JsObject(m.map { case (k, v) => (k.toString, vr.writes(v)) }.toSeq) } + implicit val aclDiffReads: Reads[ACLDiff] = Json.reads[ACLDiff] + implicit val mailboxPathReads: Reads[MailboxPath] = Json.reads[MailboxPath] implicit val quotaCReads: Reads[Quota[QuotaCount]] = Json.reads[Quota[QuotaCount]] implicit val quotaSReads: Reads[Quota[QuotaSize]] = Json.reads[Quota[QuotaSize]] - implicit val mailboxPathReads: Reads[MailboxPath] = Json.reads[MailboxPath] - implicit val aclDiffReads: Reads[ACLDiff] = Json.reads[ACLDiff] implicit val eventOFormat: OFormat[Event] = derived.oformat() --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
