johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Falb (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JOHNZON-199) JohnzonIgnore#minVersion logic is negated?
Date Fri, 08 Feb 2019 15:18:00 GMT

    [ https://issues.apache.org/jira/browse/JOHNZON-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16763687#comment-16763687
] 

Alexander Falb commented on JOHNZON-199:
----------------------------------------

No, my sample matches the test. But I think the asserts in the test are wrong. I think the
first loop should assert for an empty json-string and the second loop for an json-string with
name="..." in it.

My understanding of JohnzonIgnore is, it tells the Mapper to ignore the annotated field when
marshaling, eg. does not put it into the json-string. The doc for minVersion=3 says "Or to
support name for version 3, 4, … but ignore it for 1 and 2". So I assumed the json for version
1 and 2 would be an empty object and version 3, 4 have a name="..." in it?
This is contrary to the tests you linked. The minVersion in the test is set to 2 and test
asserts an empty json-string for version 2, 3 and a name="..." for version 0, 1, 2.

> JohnzonIgnore#minVersion logic is negated?
> ------------------------------------------
>
>                 Key: JOHNZON-199
>                 URL: https://issues.apache.org/jira/browse/JOHNZON-199
>             Project: Johnzon
>          Issue Type: Bug
>    Affects Versions: 1.1.10
>            Reporter: Alexander Falb
>            Priority: Major
>
> When a field is annotated with {{@JohnzonIgnore(minVersion = X)}} and a json-string is
written via {{Mapper}}, the field is only included when the mapper is configured with {{.setVersion(Y)}},
where Y < X}.
> According to the documentation of {{JonzonIgnore#minVersion}} and [https://johnzon.apache.org/#aJohnzonIgnore] it
should be included for Y >= X.
> Is the documentation wrong or the implementation?
> Example: [https://gist.github.com/elexx/ab5dc1f3611913a0d9f409234fbecc84] outputs
> {code:java}
> {}{code}
> I expected it to be
> {code:java}
> { value="valuevalue" }{code}
> To sumarize: with {{@JohnzonIgnore(minVersion = 2)}} the outputs are the following:
> {code:java}
> .setVersion(1) ... {"value":"valuevalue"}
> .setVersion(2) ... {}
> .setVersion(3) ... {}
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message