Description
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"