You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@johnzon.apache.org by "Benoit Prudhomme (Jira)" <ji...@apache.org> on 2020/05/04 09:10:00 UTC

[jira] [Closed] (JOHNZON-307) POJO's field or method name containing the $ character is not serialized

     [ https://issues.apache.org/jira/browse/JOHNZON-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benoit Prudhomme closed JOHNZON-307.
------------------------------------
    Resolution: Abandoned

> POJO's field or method name containing the $ character is not serialized
> ------------------------------------------------------------------------
>
>                 Key: JOHNZON-307
>                 URL: https://issues.apache.org/jira/browse/JOHNZON-307
>             Project: Johnzon
>          Issue Type: Bug
>          Components: Mapper
>    Affects Versions: 1.1.12, 1.2.3
>            Reporter: Benoit Prudhomme
>            Priority: Major
>             Fix For: 1.2.6
>
>
> We are building an _Open API 3.0_ generator based on _io.swagger.core.v3:swagger-models:2.1.1_. The features coming from the version 3.0 are *mandatory* for us, specially the ability to make references.
> However references use the _*$ref*_ ([Structuring a complex JSON schema|https://json-schema.org/understanding-json-schema/structuring.html]) keyword in the JSON key.
> example:
> {code:java}
> "schema": {
>  "$ref": "#/components/schemas/user" 
> }{code}
> Since the commit bcf51d2e5b1267dcf317816b7db759460cb3c715 ([more global exclude rules for fields and methods|https://github.com/apache/johnzon/commit/bcf51d2e5b1267dcf317816b7db759460cb3c715]), every field or method name containing the _*$*_ is ignore and not serialized.
>  
> Currently, we extended the classes:
> _com.onwbp.org.apache.johnzon.mapper.access.FieldAccessMode_
> _com.onwbp.org.apache.johnzon.mapper.access.MethodAccessMode_
> to override this behavior. 
> Unfortunatly, the class _com.onwbp.org.apache.johnzon.mapper.access.FieldAndMethodAccessMode_ and every classes making direct references to them have to be forked to use our extensions.
> Since the _*isIgnored*_ method is _*protected*_ we though that the behavior could be easily overriden.
> *Can the ignore filter be fixed to allow, at least, the _$ref_ keyword ?* 
> *In absence of fix, can you provide us the best way to override the ignore filter algorithm ?*
> Note: since _*$id*_ and _*$schema*_ are specified as well in the JSON Schema, they should not be filtered when present in POJO's field or method name.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)