quantranhong1999 commented on a change in pull request #391:
URL: https://github.com/apache/james-project/pull/391#discussion_r627267238
##########
File path:
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/change/JmapEventSerializer.scala
##########
@@ -42,10 +41,10 @@ object StateChangeEventDTO {
getType = classOf[StateChangeEvent].getCanonicalName,
getEventId = event.eventId.getId.toString,
getUsername = event.username.asString(),
- getMailboxState = event.mailboxState.map(_.value).map(_.toString).toJava,
- getEmailState = event.emailState.map(_.value).map(_.toString).toJava,
- getVacationResponseState =
event.vacationResponseState.map(_.value).map(_.toString).toJava,
- getEmailDeliveryState =
event.emailDeliveryState.map(_.value).map(_.toString).toJava)
+ getMailboxState = event.getState(MailboxTypeName).map(state =>
state.serialize).toJava,
+ getEmailState = event.getState(EmailTypeName).map(state =>
state.serialize).toJava,
+ getVacationResponseState =
event.getState(VacationResponseTypeName).map(state => state.serialize).toJava,
+ getEmailDeliveryState = event.getState(EmailDeliveryTypeName).map(state =>
state.serialize).toJava)
}
case class StateChangeEventDTO(@JsonProperty("type") getType: String,
Review comment:
I don't really get your point here.
You means Map<String, String> likes ("mailboxState" -> "abcbd", "emailState"
-> "aaaa") and keep the old JSON format in the tests:
```
{
"eventId":"6e0dd59d-660e-4d9b-b22f-0354479f47b4",
"username":"bob",
"mailboxState":"2c9f1b12-b35a-43e6-9af2-0106fb53a943",
"emailState":"2d9f1b12-b35a-43e6-9af2-0106fb53a943",
"emailDeliveryState":"2d9f1b12-0000-1111-3333-0106fb53a943",
"vacationResponseState":"2d9f1b12-3333-4444-5555-0106fb53a943",
"type":"org.apache.james.jmap.change.StateChangeEvent"
}
```
Or you means I should use TypeStateFactory to parse something likes:
```
{
"eventId":"6e0dd59d-660e-4d9b-b22f-0354479f47b4",
"username":"bob",
"MailboxTypeName":"2c9f1b12-b35a-43e6-9af2-0106fb53a943",
"EmailTypeName":"2d9f1b12-b35a-43e6-9af2-0106fb53a943",
"EmailDeliveryTypeName":"2d9f1b12-0000-1111-3333-0106fb53a943",
"VacationResponseTypeName":"2d9f1b12-3333-4444-5555-0106fb53a943",
"type":"org.apache.james.jmap.change.StateChangeEvent"
}
```
and change JSON format also?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]