You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@johnzon.apache.org by "Steven Walters (JIRA)" <ji...@apache.org> on 2017/03/30 05:31:41 UTC

[jira] [Created] (JOHNZON-112) MapperException is thrown when deserializing a customized Enum type

Steven Walters created JOHNZON-112:
--------------------------------------

             Summary: MapperException is thrown when deserializing a customized Enum type
                 Key: JOHNZON-112
                 URL: https://issues.apache.org/jira/browse/JOHNZON-112
             Project: Johnzon
          Issue Type: Bug
          Components: Mapper
    Affects Versions: 1.0.0
            Reporter: Steven Walters


Given:
* Customized Enum type that has an alternate naming scheme than typical java Enum.name()
* Custom Adapter between custom Enum type and String to use in serialization/deserialization

Expectation:
Mapper configured to use adapter uses adapter for both serialization and deserialization operations.

Actual:
Mapper uses configured adapter for serialization, but uses Enum.valueOf for deserialization, throwing Exceptions on its use.

Root Cause Analysis:
It seems that in MappingParserImpl.convertTo(final Type aClass, final String text)
The custom adapter is attained successfully, but is ignored because "valueOf" method exists with public static modifiers.


Seems like if the adapter exists, it should be used, only using valueOf as a fallback when it does not...

Attaching minimal maven project that reproduces problem with "mvn test"



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)