johnzon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Walters (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JOHNZON-112) MapperException is thrown when deserializing a customized Enum type
Date Thu, 30 Mar 2017 12:27:41 GMT

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

Steven Walters commented on JOHNZON-112:
----------------------------------------

I believe Master is sufficient.

I didn't think I got to the point of testing the deserialization when contained by an object,
as the array tests I made failed first, so stopped there and started making a workaround.
Romain's comment indicates that the logic should already be correct for objects, and that
actually will suffice.

> 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
>            Assignee: Romain Manni-Bucau
>             Fix For: 1.1.0
>
>         Attachments: johnzonCantDeserializeCustomEnum.zip
>
>
> 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)

Mime
View raw message