OpenNTF / org.openntf.xsp.jakartaee

XPages Jakarta EE support libraries
Apache License 2.0
21 stars 7 forks source link

Add support for JsonArray with JSON storage #482

Closed jesse-gallagher closed 5 months ago

jesse-gallagher commented 11 months ago

Though the improvement to fix https://github.com/OpenNTF/org.openntf.xsp.jakartaee/issues/471 covers JsonObject, JsonArray as a class property somehow breaks the CDI container. I'm not sure how that would be the case, but it'll warrant investigation, even if JsonArray is likely to be less-common a choice.

jesse-gallagher commented 5 months ago

The root exception is:

Caused by: java.lang.ClassCastException: java.lang.Class incompatible with java.lang.reflect.ParameterizedType
    at org.eclipse.jnosql.mapping.reflection.GenericFieldMapping.hasFieldAnnotation(GenericFieldMapping.java:89)
    at org.eclipse.jnosql.mapping.reflection.GenericFieldMapping.isEmbeddableField(GenericFieldMapping.java:84)
    at org.eclipse.jnosql.mapping.reflection.GenericFieldMapping.isEmbeddable(GenericFieldMapping.java:76)
    at org.eclipse.jnosql.mapping.reflection.ClassConverter.appendValue(ClassConverter.java:120)
    at org.eclipse.jnosql.mapping.reflection.ClassConverter.getNativeFieldGroupByJavaField(ClassConverter.java:102)
    at org.eclipse.jnosql.mapping.reflection.ClassConverter.create(ClassConverter.java:74)
    at org.eclipse.jnosql.mapping.reflection.ClassMappingExtension.loadEntity(ClassMappingExtension.java:59)
    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.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
    at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:85)
    at org.jboss.weld.injection.MethodInvocationStrategy$SimpleMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:168)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
    at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
    at jakarta.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:125)
    at org.jboss.weld.util.Observers.notify(Observers.java:166)
    at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
    at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:189)
    at org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessAnnotatedType(ContainerLifecycleEvents.java:187)
    ... 47 more