-
-
Notifications
You must be signed in to change notification settings - Fork 141
IonValueMapper.builder() not implemented, does not register modules #509
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Ok this is bit tricky, due to static methods etc. But I will try to cobble something together. |
@mr-robert Did pr #510, merged; not confident it fully works but if you have a chance maybe you could have a look ( |
Hi, Wondering if you could explain this comment:
What is the "proper" builder in IonObjectMapper which corresponds to IonValueMapper, and does this builder exist in 2.18.x or only in upcoming 3.x Jackson? |
It would be via builder-style construction, which does exist in 2.x branch too:
in 3.0 But overall, 3.0 will remove need for (and use of) |
(follow-up from #497)
Using Jackson-dataformat-ion 2.17
When constructing a new
IonValueMapper
using constructornew IonValueMapper(onSystem)
modules are registered:Constructor code:
However, when constructing using builder:
IonValueMapper.builder(ionSystem).build()
the modules are not registered, ultimately by chain of method calls, the following code is run in IonObjectMapper.class :
this creates an IonObjectMapper , without registering IonValueModule or EnumAsIonSymbolModule.
I think that the correct/expected behavior should be that using IonValueMapper.builder(...) should ultimately create a mapper which is the same as using constructor with the same parameters. Therefore it seems that there may need to be some changes or additional builder overrides added in IonValueMapper.
Workaround for this is just to not use builder to create IonValueMapper , or manually registering the modules.
The text was updated successfully, but these errors were encountered: