BOM for dominokit dependencies
dominokit / domino-jackson Goto Github PK
View Code? Open in Web Editor NEWJackson with Annotation processing
License: Apache License 2.0
Jackson with Annotation processing
License: Apache License 2.0
large datasets can get really slow. JSONParser takes about 100ms for a 8MB decode and Jackson takes about 9 seconds
Here is a demo project with demo data:
https://github.com/howudodat/domtest
10/17/2023 07:45:06.812 Retrieving from network
10/17/2023 07:45:06.886 validate json JSONParser len:8518427
10/17/2023 07:45:06.908 validate json Jackson
10/17/2023 07:45:15.993 decoded homes size:4400
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
GWT.log(new Date().toString() + " validate json JSONParser len:" + response.getText().length());
JSONValue parsed = JSONParser.parseStrict(response.getText());
GWT.log(new Date().toString() + " validate json Jackson");
DBResults res = DBResults_MapperImpl.INSTANCE.read(response.getText());
if (res.success)
GWT.log(new Date().toString() + " decoded homes size:"+res.homes.size());
} else {
}
}
Replace JSNI and JSO with jsinterop
Support @JsonCreator which takes not a list of properties but a single bean as an argument:
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
From Java doc:
A mode that indicates that if the creator takes a single argument, the whole incoming data value is to be bound into the declared type of that argument; this "delegate" value is then passed as the argument to the creator.
When generating reader or writer, the generated mapper should only support related methods.
For example, when generating a reader, then only read
methods should be accessible and same goes for the writer.
Possible solution:
When generating mapper, it will extend AbstractObjectReader
/AbstractObjectWriter
and these two abstract classes extend AbstractObjectMapper
. By removing this extend, only the supported methods will be available.
Below simple test case which fails with java.lang.ClassCastException
/*
* Copyright 2013 Nicolas Morel
* Copyright 2020 Stanislav Spiridonov
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dominokit.jacksonapt.client.deser.array;
import org.dominokit.jacksonapt.JsonDeserializer;
import org.dominokit.jacksonapt.client.deser.AbstractJsonDeserializerTest;
import org.dominokit.jacksonapt.deser.array.cast.PrimitiveDoubleArrayJsonDeserializer;
/**
* @author Stanislav Spiridonov
*/
@SuppressWarnings("nls")
public class DoubleArrayJsonDeserializerTest extends AbstractJsonDeserializerTest<double[]> {
private static final double DELTA = 0.00000000000001;
@Override
protected JsonDeserializer<double[]> createDeserializer() {
return PrimitiveDoubleArrayJsonDeserializer.getInstance();
}
@Override
public void testDeserializeValue() {
double[] orig = new double[]{-100, -0.5365623643346, 0, 0.5365623643346, 100};
double[] deserialize = deserialize("[-100, -0.5365623643346, 0, 0.5365623643346, 100]");
assertEquals(orig[0], deserialize[0], DELTA);
assertEquals(orig[1], deserialize[1], DELTA);
assertEquals(orig[2], deserialize[2], DELTA);
assertEquals(orig[3], deserialize[3], DELTA);
assertEquals(orig[4], deserialize[4], DELTA);
}
public void testDeserializeValueEmptyArray() {
double[] deserialize = deserialize("[]");
assertTrue(deserialize.length == 0);
}
}
exception is
java.lang.ClassCastException
at java.lang.Throwable.Throwable(Throwable.java:66)
at java.lang.Exception.Exception(Exception.java:29)
at java.lang.RuntimeException.RuntimeException(RuntimeException.java:29)
at java.lang.ClassCastException.ClassCastException(ClassCastException.java:27)
at javaemul.internal.InternalPreconditions.checkCriticalType(InternalPreconditions.java:154)
at com.google.gwt.lang.Cast.castToDouble(InternalPreconditions.java:138)
at org.dominokit.jacksonapt.deser.array.cast.BaseJsNumberArrayReader.$readNumberArray(BaseJsNumberArrayReader.java:25)
at org.dominokit.jacksonapt.deser.array.AbstractArrayJsonDeserializer.doDeserialize(JsDoubleArrayReader.java:19)
at org.dominokit.jacksonapt.JsonDeserializer.$deserialize(JsonDeserializer.java:57)
at org.dominokit.jacksonapt.client.deser.array.DoubleArrayJsonDeserializerTest.testDeserializeValue(JsonDeserializer.java:40)
at Unknown.anonymous(GWTTestMetadataImpl.java:8)
at com.google.gwt.junit.client.impl.GWTTestAccessor.$invoke(GWTTestAccessor.java:35)
at com.google.gwt.junit.client.impl.GWTRunner.$executeTestMethod(GWTRunner.java:226)
at com.google.gwt.junit.client.GWTTestCase.$doRunTest(GWTTestCase.java:157)
at com.google.gwt.junit.client.GWTTestCase.$runBare(TestCase.java:59)
at com.google.gwt.junit.client.GWTTestCase.$__doRunTest(GWTTestCase.java:115)
at com.google.gwt.junit.client.impl.GWTRunner.$runTest(GWTRunner.java:302)
at com.google.gwt.junit.client.impl.GWTRunner.$doRunTest(GWTRunner.java:235)
at com.google.gwt.junit.client.impl.GWTRunner$TestBlockListener.$onSuccess(GWTRunner.java:106)
at com.google.gwt.junit.client.impl.GWTRunner$InitialResponseListener.$onSuccess(GWTRunner.java:61)
at com.google.gwt.junit.client.impl.GWTRunner$InitialResponseListener.onSuccess(GWTRunner.java:59)
at com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.$onResponseReceived(RequestCallbackAdapter.java:232)
at com.google.gwt.http.client.Request.$fireOnResponseReceived(Request.java:250)
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:412)
at Unknown.anonymous(XMLHttpRequest.java:329)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java:309)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:368)
at Unknown.anonymous(Impl.java:78)
public enum Access {
/**
* Access setting which means that visibility rules are to be used to automatically determine
* read- and/or write-access of this property.
*/
AUTO,
/**
* Access setting that means that the property may only be read for serialization, but not
* written (set) during deserialization.
*/
READ_ONLY,
/**
* Access setting that means that the property may only be written (set) for deserialization,
* but will not be read (get) on serialization, that is, the value of the property is not
* included in serialization.
*/
WRITE_ONLY,
/**
* Access setting that means that the property will be accessed for both serialization (writing
* out values as external representation) and deserialization (reading values from external
* representation), regardless of visibility rules.
*/
READ_WRITE;
}
I don't get the idea why you included the annotations of the Jackson library in domino-jackson-super under the same namespace com.fasterxml.jackson.annotation. It makes domino-jackson unusable in a project that has library dependencies with dependency to jackson annotations, as Java cannot distinguish between two classes with the same qualified name. Especially if you want to use springmvc besides domino-rest as it expects a namespace attribute.
07-Feb-2023 09:03:03.767 SEVERE [http-nio-8888-exec-5] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [springmvc] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: 'java.lang.String com.fasterxml.jackson.annotation.JsonProperty.namespace()'] with root cause
java.lang.NoSuchMethodError: 'java.lang.String com.fasterxml.jackson.annotation.JsonProperty.namespace()'
at com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector.findNameForSerialization(JacksonAnnotationIntrospector.java:1115)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addFields(POJOPropertiesCollector.java:566)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:426)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getJsonValueAccessor(POJOPropertiesCollector.java:272)
at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findJsonValueAccessor(BasicBeanDescription.java:258)
at com.fasterxml.jackson.databind.ser.BasicSerializerFactory.findSerializerByAnnotations(BasicSerializerFactory.java:391)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:225)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:174)
at com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider.java:1501)
at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1449)
at com.fasterxml.jackson.databind.SerializerProvider.findContentValueSerializer(SerializerProvider.java:783)
at com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.findAndAddSecondarySerializer(PropertySerializerMap.java:90)
at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase._findAndAddDynamic(AsArraySerializerBase.java:311)
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:140)
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:107)
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:400)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1568)
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1061)
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:456)
at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:290)
at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:219)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:135)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:352)
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:164)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:221)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:117)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:361)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:225)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:190)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:186)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:186)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.valves.rewrite.RewriteValve.invoke(RewriteValve.java:555)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1787)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Now domino jackson supports the value
method in @JsonInclude
and the following are the supported values
ALWAYS
(which is the default)NON_DEFAULT
NON_EMPTY
NON_NULL
NON_ABSENT
The annotation is supported on both the type and the fields. If the field has the annotation, then the value will be taken from the field, if the field doesn't have the annotation, then it will be taken from the class itself.
For a generated mapper could have an INSTANCE final field.
public final class SomeBean_MapperImpl extends AbstractObjectMapper<SomeBean> {
public static final SomeBean_MapperImpl INSTANCE = new SomeBean_MapperImpl();
...
}
based on conversation on gitter
@niloc132
i'm hitting something weird using latest gwt-jackson-apt
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project serialization-details: Fatal error compiling: java.lang.NoClassDefFoundError: com/google/auto/common/MoreTypes: com.google.auto.common.MoreTypes -> [Help 1]
if i turn on the stack trace, it looks like the class is just ... missing when the processor tries to run
i think the bug is that auto-common was removed as a dependency - auto-service was updated also, but it is scope=provided, so auto-common isnt included in the shaded jar
@vegegoku any chance you've seen this too? or perhaps projects you use this on already have auto-common somehow?
the processor can't handle
@JSONMapper
public class Foo {
private int xY;
public int getxY() { return xY; }
public void setxY(int xY) { this.xY = xY; }
}
fails with the error:
FooBeanJsonDeserializerImpl.java:70: error: xY has private access in Foo
bean.xY=value;
^
FooBeanJsonSerializerImpl.java:38: error: xY has private access in Foo
return bean.xY;
^
the generated code
@Override
protected MapLike<BeanPropertyDeserializer<Foo, ?>> initDeserializers() {
MapLike<BeanPropertyDeserializer<Foo, ?>> map = JacksonContextProvider.get().mapLikeFactory().make();
map.put("xY", new BeanPropertyDeserializer<Foo, Integer>() {
@Override
protected JsonDeserializer<?> newDeserializer() {
return BaseNumberJsonDeserializer.IntegerJsonDeserializer.getInstance();
}
@Override
public void setValue(Foo bean, Integer value, JsonDeserializationContext ctx) {
bean.xY=value;
}
});
return map;
}
i'm using org.dominokit:domino-jackson:1.0.0
with gwt 2.10.0
and java 11
looking at the code, it seems that org.dominokit.jackson.processor.serialization.SerializerBuilder#getterInfo
is looking for getXY
instead of getxY
BeanInfo beanInfo = Introspector.getBeanInfo(Foo.class);
for (PropertyDescriptor propertyDescriptor : beanInfo.getPropertyDescriptors()) {
System.out.println(propertyDescriptor);
}
java.beans.PropertyDescriptor[name=class; values={expert=false; visualUpdate=false; hidden=false; enumerationValues=[Ljava.lang.Object;@42dafa95; required=false}; propertyType=class java.lang.Class; readMethod=public final native java.lang.Class java.lang.Object.getClass()]
java.beans.PropertyDescriptor[name=xY; values={expert=false; visualUpdate=false; hidden=false; enumerationValues=[Ljava.lang.Object;@6500df86; required=false}; propertyType=int; readMethod=public int pt.ipb.demos.gwt.domino.jackson.client.model.Foo.getxY(); writeMethod=public void pt.ipb.demos.gwt.domino.jackson.client.model.Foo.setxY(int)]
thanks.
Depends on first supporting Custom Serializers/Deserializers. Allowing to reuse Serializers/Deserializers from Jackson would be nice so you don't have to duplicate code. Recently I converted Jackson to be GWT Compatible (including removing code that cannot be converted to GWT) so Jackson Serializers/Deserializers can be used in GWT (see nmorel/gwt-jackson#137).
Following the question on stack overflow this issue works as a workaround until the a fix lands on jsinetrop generator here google/jsinterop-generator#18
Replace DateTimeFormat from gwt-user with the new ported i18n modules
Wrong package name returns when calling PackageElement.toString without calling getQualifiedName
first
e.g : for String class we get package java.lang
while it should be just java.lang
This was reported in domino-rest
DominoKit/domino-rest#61
Our json request contains date in a special custom format.
Currently we are not able to create custom (de)serializers using domino-jackson.
See also in gwt-jackson : https://github.com/nmorel/gwt-jackson/wiki/Custom-serializers-and-deserializers
Is it possible to make the annotation processor incremental?
https://docs.gradle.org/current/userguide/java_plugin.html#sec:incremental_annotation_processing
Right now gradle complains that org.dominokit.jacksonapt.processor.ObjectMapperProcessor
is not incremental and a full recompilation is required.
Task :compileJava
Build cache key for task ':compileJava' is 8832ef9fce86b8122d4f38033a68122b
Task ':compileJava' is not up-to-date because:
Input property 'stableSources' file /Users/fsousa/Projects/demo/gwt-jackson-demo/src/main/java/pt/ipb/demos/gwt/jackson/client/Main.java has changed.
Created classpath snapshot for incremental compilation in 0.001 secs.
Class dependency analysis for incremental compilation took 0.001 secs.
Full recompilation is required because org.dominokit.jacksonapt.processor.ObjectMapperProcessor is not incremental. Analysis took 0.002 secs.
Task :compileJava
Build cache key for task ':compileJava' is 8832ef9fce86b8122d4f38033a68122b
Task ':compileJava' is not up-to-date because:
Input property 'stableSources' file /Users/fsousa/Projects/demo/gwt-jackson-demo/src/main/java/pt/ipb/demos/gwt/jackson/client/Main.java has changed.
Created classpath snapshot for incremental compilation in 0.001 secs.
Class dependency analysis for incremental compilation took 0.001 secs.
Full recompilation is required because org.dominokit.jacksonapt.processor.ObjectMapperProcessor is not incremental. Analysis took 0.002 secs.
Thanks.
i have two classes:
But processor produce only one pair of ser/deserializers under org.treblereel package, so ExtensionElementBeanJsonSerializerImpl use ImportBeanJsonSerializerImpl for org.treblereel.Import, not for org.treblereel.dto.Import and it leads to ClassCastException. I think it could be fix by placing serializers under package, their type belongs to.
reproducer https://github.com/treblereel/j2cl-tests/tree/ClassCastException
Thanks !
In domino-jackson EnumJsonDeserilizer
uses Enum.valueOf(Class<E> enumType, String enumName)
to evaluate the enum constant.
The valueOf
method is emulated in GWT2.x
https://github.com/gwtproject/gwt/blob/master/user/super/com/google/gwt/emul/java/lang/Enum.java#L38
but is not emulated yet in j2cl
https://github.com/google/j2cl/blob/d555a3350bd9e374686138b0c484207a363aefa0/jre/java/java/lang/Enum.java#L56
which makes the deserialization fails at runtime
there is already an issue filed to j2cl project to address this problem
google/j2cl#90
we are going to implement a workaround for this until the issue is fixed in j2cl
Serializable/Deserializable types can be nested, in the below example Serializer/Deserializer for BeanB will be also generated and used by the BeanA Serializer/Deserializer.
public class BeanA{
private int intField;
private BeanB beanB;
}
public class BeanB{
private String stringField;
}
@JSONMapper
public interface BeanAMapper extends ObjectMapper<BeanA>{
BeanAMapper INSTANCE=new BeanAMapperImpl();
}
Hi,
I have DTO in the shared GWT project and ObjectMapper in the client project. The MapperImple is generated in the correct client
package, but JsonDeserializer/JsonSerializer pair is generated in the shared
package, which causes the compilation error. The MapperImple assume that they will be in the same client
package.
If you have bidirectional references in bean classes the compiler fails with a stackoverflow. This happens if you have a class A with a member B and class B with a member A.
Maybe this could be solved by supporting @JsonIdentityInfo
.
for now the clock field is filled with random numbers
Right now custom (de)serializers are created by the new
operator:
@Override
protected JsonDeserializer<?> newDeserializer() {
return new InstantJsonDeserializer();
}
It will be nice if domino-jackson can detect and use the getInstance()
method, the same as for basic types e.g.
@Override
protected JsonDeserializer<?> newDeserializer() {
return InstantJsonDeserializer.getInstance();
}
or use some flag in the TypeRegistry.registerSerializer
method to switch between new
/getInstance
modes.
Hi,
I'm following the instructions, but in my case i'm using gradle
dependencies {
compileOnly 'org.dominokit.jackson:jackson-apt:1.0-SNAPSHOT'
annotationProcessor 'org.dominokit.jackson:jackson-apt-processor:1.0-SNAPSHOT'
compileOnly 'com.google.gwt:gwt-user:2.8.2'
runtimeOnly 'com.google.gwt:gwt-dev:2.8.2'
}
the problem is that it cannot found the gwt-cldr
Could not find org.gwtproject.i18n:gwt-cldr:1.0-SNAPSHOT.
Searched in the following locations:
- https://oss.sonatype.org/content/repositories/snapshots/org/gwtproject/i18n/gwt-cldr/1.0-SNAPSHOT/maven-metadata.xml
- https://oss.sonatype.org/content/repositories/snapshots/org/gwtproject/i18n/gwt-cldr/1.0-SNAPSHOT/gwt-cldr-1.0-SNAPSHOT.pom
- https://repo.maven.apache.org/maven2/org/gwtproject/i18n/gwt-cldr/1.0-SNAPSHOT/maven-metadata.xml
- https://repo.maven.apache.org/maven2/org/gwtproject/i18n/gwt-cldr/1.0-SNAPSHOT/gwt-cldr-1.0-SNAPSHOT.pom
- https://jcenter.bintray.com/org/gwtproject/i18n/gwt-cldr/1.0-SNAPSHOT/maven-metadata.xml
- https://jcenter.bintray.com/org/gwtproject/i18n/gwt-cldr/1.0-SNAPSHOT/gwt-cldr-1.0-SNAPSHOT.pom
Required by:
project : > org.dominokit.jackson:jackson-apt:1.0-SNAPSHOT:20200219.151948-18
In my repositories I have
repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
mavenLocal()
mavenCentral()
jcenter()
}
@JsonTypeInfo
Id use()
As include()
String property()
Class<?> defaultImpl()
boolean visible()
@JsonSubTypes
I'm getting this erro when compiling this project: https://github.com/natros/gwt-jackson-demo
Is this a bug in domino-jackson or a compiler bug (tested with java 8 and 11)
Cause: java.lang.StackOverflowError
at jdk.compiler/com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation(AnnotationProxyMaker.java:89)
at jdk.compiler/com.sun.tools.javac.model.AnnotationProxyMaker.generateAnnotation(AnnotationProxyMaker.java:81)
at jdk.compiler/com.sun.tools.javac.code.AnnoConstruct.getAnnotation(AnnoConstruct.java:185)
at org.dominokit.jacksonapt.processor.Type.isJsonMapper(Type.java:744)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getPackageName(FieldDeserializersChainBuilder.java:155)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getBasicOrCustomDeserializer(FieldDeserializersChainBuilder.java:136)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:130)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getIterableDeserializer(FieldDeserializersChainBuilder.java:202)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:123)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:112)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:87)
at org.dominokit.jacksonapt.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:60)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:464)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.buildInitDeserializersMethod(AptDeserializerBuilder.java:463)
at org.dominokit.jacksonapt.processor.deserialization.AptDeserializerBuilder.initMethod(AptDeserializerBuilder.java:106)
at org.dominokit.jacksonapt.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:84)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:37)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:61)
at org.dominokit.jacksonapt.processor.DeserializerGenerator.generate(DeserializerGenerator.java:36)
at org.dominokit.jacksonapt.processor.Type.generateDeserializer(Type.java:358)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.generateCustomDeserializer(FieldDeserializersChainBuilder.java:163)
at org.dominokit.jacksonapt.processor.deserialization.FieldDeserializersChainBuilder.getCustomDeserializer(FieldDeserializersChainBuilder.java:146)
This will allow ignoring unknown properties when reading the json instead of throwing exception.
@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
...
}
Trying to compile a project that depends on domino-jackson version 1.0.0-RC4 with j2cl maven plugin will fail to compile due to the following error
[INFO] Starting org.dominokit:domino-jackson:1.0.0-RC4/stripped_bytecode
[WARNING] org.dominokit:domino-jackson:1.0.0-RC3/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC3/dccefd13685d78c20c3270716641b8d1-stripped_sources/results/org/dominokit/jackson/deser/array/cast/BaseJsNumberArrayReader.java:37 non-varargs call of varargs method with inexact argument type for last parameter;
cast to elemental2.core.JsNumber for a varargs call
cast to elemental2.core.JsNumber[] for a non-varargs call and to suppress this warning
[WARNING] org.dominokit:domino-jackson:1.0.0-RC3/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC3/dccefd13685d78c20c3270716641b8d1-stripped_sources/results/org/dominokit/jackson/deser/array/cast/JsStringArrayReader.java:35 non-varargs call of varargs method with inexact argument type for last parameter;
cast to elemental2.core.JsString for a varargs call
cast to elemental2.core.JsString[] for a non-varargs call and to suppress this warning
[INFO] org.dominokit:domino-jackson:1.0.0-RC3/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC3/dccefd13685d78c20c3270716641b8d1-stripped_sources/results/org/dominokit/jackson/AbstractObjectMapper.java Some input files use unchecked or unsafe operations.
[INFO] org.dominokit:domino-jackson:1.0.0-RC3/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC3/dccefd13685d78c20c3270716641b8d1-stripped_sources/results/org/dominokit/jackson/AbstractObjectMapper.java Recompile with -Xlint:unchecked for details.
[INFO] Finished org.dominokit:domino-jackson:1.0.0-RC3/stripped_bytecode in 338ms
[INFO] Starting org.dominokit.i18n:gwt-numberformat:1.0/stripped_bytecode_headers
[INFO] Starting org.dominokit:domino-jackson:1.0.0-RC3/stripped_bytecode_headers
[INFO] Finished org.dominokit:domino-jackson:1.0.0-RC3/stripped_bytecode_headers in 13ms
[INFO] Starting org.dominokit:domino-rest-shared:1.0.0-RC6/transpiled_js
[WARNING] org.dominokit:domino-jackson:1.0.0-RC4/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC4/168e0c71b8dda116ff2fe2cd7e71e7f9-stripped_sources/results/org/dominokit/jackson/deser/array/cast/BaseJsNumberArrayReader.java:37 non-varargs call of varargs method with inexact argument type for last parameter;
cast to elemental2.core.JsNumber for a varargs call
cast to elemental2.core.JsNumber[] for a non-varargs call and to suppress this warning
[WARNING] org.dominokit:domino-jackson:1.0.0-RC4/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC4/168e0c71b8dda116ff2fe2cd7e71e7f9-stripped_sources/results/org/dominokit/jackson/deser/array/cast/JsStringArrayReader.java:35 non-varargs call of varargs method with inexact argument type for last parameter;
cast to elemental2.core.JsString for a varargs call
cast to elemental2.core.JsString[] for a non-varargs call and to suppress this warning
[INFO] org.dominokit:domino-jackson:1.0.0-RC4/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC4/168e0c71b8dda116ff2fe2cd7e71e7f9-stripped_sources/results/org/dominokit/jackson/AbstractObjectMapper.java Some input files use unchecked or unsafe operations.
[INFO] org.dominokit:domino-jackson:1.0.0-RC4/stripped_bytecode: /media/vegegoku/drive2/Development/Vertispan/my-forks/sample-recipe-app/webapp/target/gwt3BuildCache/0.20/org.dominokit-domino-jackson-1.0.0-RC4/168e0c71b8dda116ff2fe2cd7e71e7f9-stripped_sources/results/org/dominokit/jackson/AbstractObjectMapper.java Recompile with -Xlint:unchecked for details.
[INFO] Finished org.dominokit:domino-jackson:1.0.0-RC4/stripped_bytecode in 407ms
[INFO] Starting org.dominokit:domino-jackson-processor:1.0.0-RC3/stripped_bytecode
[ERROR] Exception executing task org.dominokit:domino-jackson:1.0.0-RC4/transpiled_js
com.google.j2cl.common.visitor.ProcessorError: Context:
void BaseCollectionJsonDeserializer.setBackReference(String referenceName, Object reference, C value, JsonDeserializationContext ctx) {
if (((null != value) && !value.isEmpty())) {
for (T val : value) {
BaseCollectionJsonDeserializer.this.deserializer.setBackReference(referenceName,reference,val,ctx);
}
}
}
at com.google.j2cl.transpiler.ast.Visitor_ForEachStatement.visit (Visitor_ForEachStatement.java:27)
at com.google.j2cl.transpiler.ast.ForEachStatement.accept (ForEachStatement.java:66)
at com.google.j2cl.transpiler.ast.Visitor_Block.lambda$visitMembers$0 (Visitor_Block.java:47)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Block.visitMembers (Visitor_Block.java:45)
at com.google.j2cl.transpiler.ast.Visitor_Block.visit (Visitor_Block.java:19)
at com.google.j2cl.transpiler.ast.Block.accept (Block.java:55)
at com.google.j2cl.transpiler.ast.Visitor_IfStatement.visitMembers (Visitor_IfStatement.java:49)
at com.google.j2cl.transpiler.ast.Visitor_IfStatement.visit (Visitor_IfStatement.java:19)
at com.google.j2cl.transpiler.ast.IfStatement.accept (IfStatement.java:66)
at com.google.j2cl.transpiler.ast.Visitor_Block.lambda$visitMembers$0 (Visitor_Block.java:47)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Block.visitMembers (Visitor_Block.java:45)
at com.google.j2cl.transpiler.ast.Visitor_Block.visit (Visitor_Block.java:19)
at com.google.j2cl.transpiler.ast.Block.accept (Block.java:55)
at com.google.j2cl.transpiler.ast.Visitor_Method.visitMembers (Visitor_Method.java:49)
at com.google.j2cl.transpiler.ast.Visitor_Method.visit (Visitor_Method.java:19)
at com.google.j2cl.transpiler.ast.Method.accept (Method.java:155)
at com.google.j2cl.transpiler.ast.Visitor_Type.lambda$visitMembers$0 (Visitor_Type.java:51)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Type.visitMembers (Visitor_Type.java:49)
at com.google.j2cl.transpiler.ast.Visitor_Type.visit (Visitor_Type.java:19)
at com.google.j2cl.transpiler.ast.Type.accept (Type.java:318)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.lambda$visitMembers$0 (Visitor_CompilationUnit.java:51)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visitMembers (Visitor_CompilationUnit.java:49)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visit (Visitor_CompilationUnit.java:19)
at com.google.j2cl.transpiler.ast.CompilationUnit.accept (CompilationUnit.java:93)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement.applyTo (NormalizeForEachStatement.java:53)
at com.google.j2cl.transpiler.passes.NormalizationPass$1.enterCompilationUnit (NormalizationPass.java:31)
at com.google.j2cl.transpiler.ast.AbstractVisitor.shouldProcessCompilationUnit (AbstractVisitor.java:62)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visit (Visitor_CompilationUnit.java:17)
at com.google.j2cl.transpiler.ast.CompilationUnit.accept (CompilationUnit.java:93)
at com.google.j2cl.transpiler.passes.NormalizationPass.execute (NormalizationPass.java:41)
at com.google.j2cl.transpiler.J2clTranspiler.runPasses (J2clTranspiler.java:110)
at com.google.j2cl.transpiler.J2clTranspiler.desugarLibrary (J2clTranspiler.java:88)
at com.google.j2cl.transpiler.J2clTranspiler.transpileImpl (J2clTranspiler.java:80)
at com.google.j2cl.transpiler.J2clTranspiler.lambda$transpile$0 (J2clTranspiler.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:539)
at java.util.concurrent.FutureTask.run (FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1136)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
at java.lang.Thread.run (Thread.java:833)
Caused by: com.google.j2cl.common.visitor.ProcessorError: Error while processing:
for (T val : value) {
BaseCollectionJsonDeserializer.this.deserializer.setBackReference(referenceName,reference,val,ctx);
}
at com.google.j2cl.transpiler.ast.Visitor_ForEachStatement.visit (Visitor_ForEachStatement.java:27)
at com.google.j2cl.transpiler.ast.ForEachStatement.accept (ForEachStatement.java:66)
at com.google.j2cl.transpiler.ast.Visitor_Block.lambda$visitMembers$0 (Visitor_Block.java:47)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Block.visitMembers (Visitor_Block.java:45)
at com.google.j2cl.transpiler.ast.Visitor_Block.visit (Visitor_Block.java:19)
at com.google.j2cl.transpiler.ast.Block.accept (Block.java:55)
at com.google.j2cl.transpiler.ast.Visitor_IfStatement.visitMembers (Visitor_IfStatement.java:49)
at com.google.j2cl.transpiler.ast.Visitor_IfStatement.visit (Visitor_IfStatement.java:19)
at com.google.j2cl.transpiler.ast.IfStatement.accept (IfStatement.java:66)
at com.google.j2cl.transpiler.ast.Visitor_Block.lambda$visitMembers$0 (Visitor_Block.java:47)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Block.visitMembers (Visitor_Block.java:45)
at com.google.j2cl.transpiler.ast.Visitor_Block.visit (Visitor_Block.java:19)
at com.google.j2cl.transpiler.ast.Block.accept (Block.java:55)
at com.google.j2cl.transpiler.ast.Visitor_Method.visitMembers (Visitor_Method.java:49)
at com.google.j2cl.transpiler.ast.Visitor_Method.visit (Visitor_Method.java:19)
at com.google.j2cl.transpiler.ast.Method.accept (Method.java:155)
at com.google.j2cl.transpiler.ast.Visitor_Type.lambda$visitMembers$0 (Visitor_Type.java:51)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Type.visitMembers (Visitor_Type.java:49)
at com.google.j2cl.transpiler.ast.Visitor_Type.visit (Visitor_Type.java:19)
at com.google.j2cl.transpiler.ast.Type.accept (Type.java:318)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.lambda$visitMembers$0 (Visitor_CompilationUnit.java:51)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visitMembers (Visitor_CompilationUnit.java:49)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visit (Visitor_CompilationUnit.java:19)
at com.google.j2cl.transpiler.ast.CompilationUnit.accept (CompilationUnit.java:93)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement.applyTo (NormalizeForEachStatement.java:53)
at com.google.j2cl.transpiler.passes.NormalizationPass$1.enterCompilationUnit (NormalizationPass.java:31)
at com.google.j2cl.transpiler.ast.AbstractVisitor.shouldProcessCompilationUnit (AbstractVisitor.java:62)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visit (Visitor_CompilationUnit.java:17)
at com.google.j2cl.transpiler.ast.CompilationUnit.accept (CompilationUnit.java:93)
at com.google.j2cl.transpiler.passes.NormalizationPass.execute (NormalizationPass.java:41)
at com.google.j2cl.transpiler.J2clTranspiler.runPasses (J2clTranspiler.java:110)
at com.google.j2cl.transpiler.J2clTranspiler.desugarLibrary (J2clTranspiler.java:88)
at com.google.j2cl.transpiler.J2clTranspiler.transpileImpl (J2clTranspiler.java:80)
at com.google.j2cl.transpiler.J2clTranspiler.lambda$transpile$0 (J2clTranspiler.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:539)
at java.util.concurrent.FutureTask.run (FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1136)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
at java.lang.Thread.run (Thread.java:833)
Caused by: java.lang.ClassCastException: class com.google.j2cl.transpiler.ast.AutoValue_TypeVariable cannot be cast to class com.google.j2cl.transpiler.ast.DeclaredTypeDescriptor (com.google.j2cl.transpiler.ast.AutoValue_TypeVariable and com.google.j2cl.transpiler.ast.DeclaredTypeDescriptor are in unnamed module of loader org.codehaus.plexus.classworlds.realm.ClassRealm @7566716e)
at com.google.j2cl.transpiler.ast.TypeDescriptor.toBoxedType (TypeDescriptor.java:149)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement.maybeAddCast (NormalizeForEachStatement.java:260)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement.convertForEachIterable (NormalizeForEachStatement.java:183)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement.access$100 (NormalizeForEachStatement.java:43)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement$1.rewriteForEachStatement (NormalizeForEachStatement.java:62)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement$1.rewriteForEachStatement (NormalizeForEachStatement.java:54)
at com.google.j2cl.transpiler.ast.AbstractRewriter.postProcessForEachStatement (AbstractRewriter.java:375)
at com.google.j2cl.transpiler.ast.Visitor_ForEachStatement.visit (Visitor_ForEachStatement.java:22)
at com.google.j2cl.transpiler.ast.ForEachStatement.accept (ForEachStatement.java:66)
at com.google.j2cl.transpiler.ast.Visitor_Block.lambda$visitMembers$0 (Visitor_Block.java:47)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Block.visitMembers (Visitor_Block.java:45)
at com.google.j2cl.transpiler.ast.Visitor_Block.visit (Visitor_Block.java:19)
at com.google.j2cl.transpiler.ast.Block.accept (Block.java:55)
at com.google.j2cl.transpiler.ast.Visitor_IfStatement.visitMembers (Visitor_IfStatement.java:49)
at com.google.j2cl.transpiler.ast.Visitor_IfStatement.visit (Visitor_IfStatement.java:19)
at com.google.j2cl.transpiler.ast.IfStatement.accept (IfStatement.java:66)
at com.google.j2cl.transpiler.ast.Visitor_Block.lambda$visitMembers$0 (Visitor_Block.java:47)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Block.visitMembers (Visitor_Block.java:45)
at com.google.j2cl.transpiler.ast.Visitor_Block.visit (Visitor_Block.java:19)
at com.google.j2cl.transpiler.ast.Block.accept (Block.java:55)
at com.google.j2cl.transpiler.ast.Visitor_Method.visitMembers (Visitor_Method.java:49)
at com.google.j2cl.transpiler.ast.Visitor_Method.visit (Visitor_Method.java:19)
at com.google.j2cl.transpiler.ast.Method.accept (Method.java:155)
at com.google.j2cl.transpiler.ast.Visitor_Type.lambda$visitMembers$0 (Visitor_Type.java:51)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_Type.visitMembers (Visitor_Type.java:49)
at com.google.j2cl.transpiler.ast.Visitor_Type.visit (Visitor_Type.java:19)
at com.google.j2cl.transpiler.ast.Type.accept (Type.java:318)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.lambda$visitMembers$0 (Visitor_CompilationUnit.java:51)
at com.google.j2cl.common.visitor.ListVisitor.visit (ListVisitor.java:26)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visitMembers (Visitor_CompilationUnit.java:49)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visit (Visitor_CompilationUnit.java:19)
at com.google.j2cl.transpiler.ast.CompilationUnit.accept (CompilationUnit.java:93)
at com.google.j2cl.transpiler.passes.NormalizeForEachStatement.applyTo (NormalizeForEachStatement.java:53)
at com.google.j2cl.transpiler.passes.NormalizationPass$1.enterCompilationUnit (NormalizationPass.java:31)
at com.google.j2cl.transpiler.ast.AbstractVisitor.shouldProcessCompilationUnit (AbstractVisitor.java:62)
at com.google.j2cl.transpiler.ast.Visitor_CompilationUnit.visit (Visitor_CompilationUnit.java:17)
at com.google.j2cl.transpiler.ast.CompilationUnit.accept (CompilationUnit.java:93)
at com.google.j2cl.transpiler.passes.NormalizationPass.execute (NormalizationPass.java:41)
at com.google.j2cl.transpiler.J2clTranspiler.runPasses (J2clTranspiler.java:110)
at com.google.j2cl.transpiler.J2clTranspiler.desugarLibrary (J2clTranspiler.java:88)
at com.google.j2cl.transpiler.J2clTranspiler.transpileImpl (J2clTranspiler.java:80)
at com.google.j2cl.transpiler.J2clTranspiler.lambda$transpile$0 (J2clTranspiler.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:539)
at java.util.concurrent.FutureTask.run (FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1136)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
at java.lang.Thread.run (Thread.java:833)
java.lang.RuntimeException
at com.vertispan.j2cl.build.DiskCache.markFailed(DiskCache.java:542)
at com.vertispan.j2cl.build.DiskCache$CacheResult.markFailure(DiskCache.java:62)
at com.vertispan.j2cl.build.TaskScheduler$2.executeTask(TaskScheduler.java:235)
at com.vertispan.j2cl.build.TaskScheduler$2.lambda$onReady$0(TaskScheduler.java:266)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
It seems like the following syntax for the for loop is not supported by j2cl
for (T val : value) {
deserializer.setBackReference(referenceName, reference, val, ctx);
}
Switching to use streams fixes the issue
value.forEach(val -> deserializer.setBackReference(referenceName, reference, val, ctx));
Hi,
we are using the DominoKit in a SpringBoot application and face an issue.
While making calls the server complains that a field is missing in a jackson class:
SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed: java.lang.NoSuchFieldError: READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE] with root cause
java.lang.NoSuchFieldError: READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE
at com.fasterxml.jackson.databind.deser.std.EnumDeserializer.createContextual(EnumDeserializer.java:211)
at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:836)
....
Our environment provides the jackson library with version 2.25.2. The server's complaint roots in the Feature enum. And this looks like the following in version 2.25.2:
public static enum Feature {
ACCEPT_SINGLE_VALUE_AS_ARRAY,
ACCEPT_CASE_INSENSITIVE_PROPERTIES,
READ_UNKNOWN_ENUM_VALUES_AS_NULL,
READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE,
READ_DATE_TIMESTAMPS_AS_NANOSECONDS,
ACCEPT_CASE_INSENSITIVE_VALUES,
WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS,
WRITE_DATES_WITH_ZONE_ID,
WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED,
WRITE_SORTED_MAP_ENTRIES,
ADJUST_DATES_TO_CONTEXT_TIME_ZONE;
private Feature() {
}
}
Domino provides a subset of this feature enum: https://github.com/DominoKit/domino-jackson/blob/master/domino-jackson-super/src/main/java/com/fasterxml/jackson/annotation/JsonFormat.java#L232
I could fix this locally by checking out your repo and try to add the missing values. Could you take a look at it?
Thanks in advance!
The library fails to serialize NaN/Infinity double values in lenient mode (which is the default one) although deserialization works. I think this is just a missing case in the current json writers.
Using a POJO as key of a Map will crash the generation.
ERROR] error while creating source file org.dominokit.jackson.processor.TypeRegistry$TypeDeserializerNotFoundException: de.gishmo.bug.test.dto.PoJoA
at org.dominokit.jackson.processor.TypeRegistry.getKeyDeserializer(TypeRegistry.java:827)
at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getBasicKeyDeserializer(FieldDeserializersChainBuilder.java:167)
at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getKeyDeserializer(FieldDeserializersChainBuilder.java:162)
at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getMapDeserializer(FieldDeserializersChainBuilder.java:153)
at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getFieldDeserializer(FieldDeserializersChainBuilder.java:91)
at org.dominokit.jackson.processor.deserialization.FieldDeserializersChainBuilder.getInstance(FieldDeserializersChainBuilder.java:80)
at org.dominokit.jackson.processor.deserialization.DeserializerBuilder.buildDeserializerMethod(DeserializerBuilder.java:102)
at org.dominokit.jackson.processor.deserialization.DeserializerBuilder.buildDeserializer(DeserializerBuilder.java:63)
at org.dominokit.jackson.processor.deserialization.AptDeserializerBuilder.lambda$buildInitDeserializersMethod$8(AptDeserializerBuilder.java:581)
The attach small project produces the exception. just ran mvn clean package
The @JsonProperty will only support providing a different name for the json property.
This Exception occurs during the generation phase, processing this mapping configuration:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, visible = true)
@JsonSubTypes({
@JsonSubTypes.Type(value = DataInput.class, name = "dataInput"),
@JsonSubTypes.Type(value = DataOutput.class, name = "dataOutput"),
})
private List<Data> ioSpecification;
public abstract class Data<T extends Data> {}
public class DataInput extends Data<DataInput> {}
public class DataOutput extends Data<DataOutput> {}
Looks like the generator isn't happy about Data so it fails. In my humble opinion, it can be fixed by skipping analysis of Data, coz it's redundant for collections annotated with @JsonSubTypes where end-user is responsible which children of Data they want to store in this collection.
Here is the reproducer: https://github.com/treblereel/j2cl-tests/tree/domino-json
Adds support for @JsonFormat
, the supported attributes are JsonFormat.shape
and JsonFormat.pattern
this feature is useful for serializing/deserializing dates
e.g :
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePatterns.SHORT)
private Date dateOnly;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePatterns.ISO8601)
private Date dateAndTime;
Use the same API to for json mapping on both sides, the client side and server side
I've hit an issue in case there are nested class structures with references to some supertype. The compiler extension tries to handle a class multiple times which fails with the message "Attempt to recreate a file" (see below). I've attached a zip file with some code for reproducing the issue.
[INFO] �[1m--- �[0;32mcompiler:3.11.0:compile�[m �[1m(default-compile)�[m @ �[36mdomino-rec�[0;1m ---�[m
[INFO] Changes detected - recompiling the module! :source
[INFO] Compiling 6 source files with javac [debug target 1.8] to target\classes
[WARNING] bootstrap class path not set in conjunction with -source 8
[WARNING] error while creating source file javax.annotation.processing.FilerException: Attempt to recreate a file for type dominokit.recursive.EBeanJsonDeserializerImpl
at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.checkNameAndExistence(JavacFiler.java:732)
at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceOrClassFile(JavacFiler.java:498)
at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceFile(JavacFiler.java:435)
at dominojackson.shaded.com.squareup.javapoet.JavaFile.writeTo(JavaFile.java:169)
at org.dominokit.jackson.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:111)
at org.dominokit.jackson.processor.DeserializerGenerator.generate(DeserializerGenerator.java:52)
at org.dominokit.jackson.processor.DeserializerGenerator.generateSubTypesDeserializers(DeserializerGenerator.java:66)
at org.dominokit.jackson.processor.DeserializerGenerator.generate(DeserializerGenerator.java:50)
at org.dominokit.jackson.processor.BeanMapperGenerator.generateDeserializer(BeanMapperGenerator.java:61)
at org.dominokit.jackson.processor.AbstractMapperGenerator.generateJsonMappers(AbstractMapperGenerator.java:260)
at org.dominokit.jackson.processor.AbstractMapperGenerator.generate(AbstractMapperGenerator.java:62)
at org.dominokit.jackson.processor.ObjectMapperProcessor.generateMappers(ObjectMapperProcessor.java:52)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.dominokit.jackson.processor.ObjectMapperProcessor.doProcess(ObjectMapperProcessor.java:44)
at org.dominokit.jackson.processor.AbstractMapperProcessor.process(AbstractMapperProcessor.java:76)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:1023)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:939)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1267)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1382)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1234)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:916)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:136)
at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:183)
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1140)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:193)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:206)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348)
[WARNING] error while creating source file javax.annotation.processing.FilerException: Attempt to recreate a file for type dominokit.recursive.EBeanJsonSerializerImpl
at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.checkNameAndExistence(JavacFiler.java:732)
at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceOrClassFile(JavacFiler.java:498)
at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceFile(JavacFiler.java:435)
at dominojackson.shaded.com.squareup.javapoet.JavaFile.writeTo(JavaFile.java:169)
at org.dominokit.jackson.processor.AbstractJsonMapperGenerator.generate(AbstractJsonMapperGenerator.java:111)
at org.dominokit.jackson.processor.SerializerGenerator.generate(SerializerGenerator.java:48)
at org.dominokit.jackson.processor.SerializerGenerator.generateSubTypeSerializers(SerializerGenerator.java:62)
at org.dominokit.jackson.processor.SerializerGenerator.generate(SerializerGenerator.java:46)
at org.dominokit.jackson.processor.BeanMapperGenerator.generateSerializer(BeanMapperGenerator.java:51)
at org.dominokit.jackson.processor.AbstractMapperGenerator.generateJsonMappers(AbstractMapperGenerator.java:261)
at org.dominokit.jackson.processor.AbstractMapperGenerator.generate(AbstractMapperGenerator.java:62)
at org.dominokit.jackson.processor.ObjectMapperProcessor.generateMappers(ObjectMapperProcessor.java:52)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at org.dominokit.jackson.processor.ObjectMapperProcessor.doProcess(ObjectMapperProcessor.java:44)
at org.dominokit.jackson.processor.AbstractMapperProcessor.process(AbstractMapperProcessor.java:76)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:1023)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:939)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1267)
at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1382)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1234)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:916)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:136)
at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:183)
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1140)
at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:193)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:206)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.