johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Prudhomme (Jira)" <j...@apache.org>
Subject [jira] [Created] (JOHNZON-307) POJO's field or method name containing the $ character is not serialized
Date Wed, 25 Mar 2020 14:41:00 GMT
Benoit Prudhomme created JOHNZON-307:
----------------------------------------

             Summary: 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.2.3, 1.1.12
            Reporter: Benoit Prudhomme
             Fix For: 1.2.4


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)

Mime
View raw message