gwt-jackson
gwt-jackson copied to clipboard
JsonSerializationContext.Builder override not working as expected
I have a JsonDeserializationContext.Builder override working as expected but the serialization builder isn't working.
Here's what I have in my module:
<replace-with class="net.somedomain.poc.web.client.jackson.JsonSerializationContextBuilder">
<when-type-assignable class="com.github.nmorel.gwtjackson.client.JsonSerializationContext.Builder"/>
</replace-with>
The javascript ends up looking like this:
function builder_2_g$(){
$clinit_JsonSerializationContext_0_g$();
return castTo_0_g$(new JsonSerializationContext$DefaultBuilder_1_g$, 40);
}
It's instantiating an instance of DefaultBuilder instead of my builder.
But, I know that my 'replace-with' works because I can do this:
Builder builder = GWT.create(com.github.nmorel.gwtjackson.client.JsonSerializationContext.Builder.class);
log.debug("builder serializeNulls? {}", builder.build().isSerializeNulls());
log.debug("builder serializeNulls? {}", JsonSerializationContext.builder().build().isSerializeNulls());
... and the output is ...
builder serialzeNulls? false
builder serialzeNulls? true
So, the GWT.create() statement in my code does what's expected but the same GWT.create() call in JsonSerializationContext.builder() doesn't. Crazily, Everything works as expected for the deserialization versions.
Any ideas as to what is happening?
This is with GWT 2.8.2 and devmode.