From c6ab3950e1f34eb26f61f3fe66ffb56673076911 Mon Sep 17 00:00:00 2001 From: Eduard Dudar Date: Sat, 3 Sep 2022 22:08:33 -0700 Subject: [PATCH] Add support for GraalVM native images #343 --- .../hibernate/type/json/internal/JsonTypeDescriptor.java | 2 +- .../hibernate/type/range/PostgreSQLRangeType.java | 3 +-- .../type/range/guava/PostgreSQLGuavaRangeType.java | 3 +-- .../search/internal/PostgreSQLTSVectorTypeDescriptor.java | 3 +-- .../hibernate/type/json/internal/JsonTypeDescriptor.java | 2 +- .../hibernate/type/range/PostgreSQLRangeType.java | 3 +-- .../type/range/guava/PostgreSQLGuavaRangeType.java | 3 +-- .../search/internal/PostgreSQLTSVectorTypeDescriptor.java | 3 +-- hibernate-types-60/pom.xml | 6 ++++++ .../type/json/internal/JsonJavaTypeDescriptor.java | 2 +- .../hibernate/type/range/PostgreSQLRangeType.java | 3 +-- .../type/range/guava/PostgreSQLGuavaRangeType.java | 3 +-- .../search/internal/PostgreSQLTSVectorTypeDescriptor.java | 3 +-- 13 files changed, 18 insertions(+), 21 deletions(-) diff --git a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java index 86e301c0e..51bf3ac9f 100644 --- a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java +++ b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java @@ -66,7 +66,7 @@ public JsonTypeDescriptor(final ObjectMapperWrapper objectMapperWrapper, Type ty public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); Type type = (xProperty instanceof JavaXMember) ? - ReflectionUtils.invokeGetter(xProperty, "javaType") : + ((JavaXMember) xProperty).getJavaType() : ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); setPropertyClass(type); } diff --git a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java index 774dbee47..86954fe20 100644 --- a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java +++ b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java @@ -1,7 +1,6 @@ package com.vladmihalcea.hibernate.type.range; import com.vladmihalcea.hibernate.type.ImmutableType; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.HibernateException; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; @@ -128,7 +127,7 @@ private static String determineRangeType(Range range) { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java index 02f71a0a2..cd228d148 100644 --- a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java +++ b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java @@ -3,7 +3,6 @@ import com.google.common.collect.BoundType; import com.google.common.collect.Range; import com.vladmihalcea.hibernate.type.ImmutableType; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.HibernateException; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; @@ -515,7 +514,7 @@ private String asString(Object value) { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java index 34a105998..78d2651ab 100644 --- a/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java +++ b/hibernate-types-52/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java @@ -1,6 +1,5 @@ package com.vladmihalcea.hibernate.type.search.internal; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; import org.hibernate.type.descriptor.WrapperOptions; @@ -24,7 +23,7 @@ public PostgreSQLTSVectorTypeDescriptor() { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java index 86e301c0e..51bf3ac9f 100644 --- a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java +++ b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonTypeDescriptor.java @@ -66,7 +66,7 @@ public JsonTypeDescriptor(final ObjectMapperWrapper objectMapperWrapper, Type ty public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); Type type = (xProperty instanceof JavaXMember) ? - ReflectionUtils.invokeGetter(xProperty, "javaType") : + ((JavaXMember) xProperty).getJavaType() : ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); setPropertyClass(type); } diff --git a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java index 218eeaa92..19edafdb3 100644 --- a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java +++ b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java @@ -2,7 +2,6 @@ import com.vladmihalcea.hibernate.type.ImmutableType; import com.vladmihalcea.hibernate.type.util.Configuration; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.HibernateException; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; @@ -133,7 +132,7 @@ private static String determineRangeType(Range range) { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java index 02f71a0a2..cd228d148 100644 --- a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java +++ b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java @@ -3,7 +3,6 @@ import com.google.common.collect.BoundType; import com.google.common.collect.Range; import com.vladmihalcea.hibernate.type.ImmutableType; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.HibernateException; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; @@ -515,7 +514,7 @@ private String asString(Object value) { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java index 34a105998..78d2651ab 100644 --- a/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java +++ b/hibernate-types-55/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java @@ -1,6 +1,5 @@ package com.vladmihalcea.hibernate.type.search.internal; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; import org.hibernate.type.descriptor.WrapperOptions; @@ -24,7 +23,7 @@ public PostgreSQLTSVectorTypeDescriptor() { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-60/pom.xml b/hibernate-types-60/pom.xml index ce26466b0..552e447e3 100644 --- a/hibernate-types-60/pom.xml +++ b/hibernate-types-60/pom.xml @@ -61,6 +61,12 @@ ehcache ${ehcache.version} test + + + org.glassfish.jaxb + jaxb-runtime + + diff --git a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonJavaTypeDescriptor.java b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonJavaTypeDescriptor.java index a32b30dfd..ab56981a6 100644 --- a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonJavaTypeDescriptor.java +++ b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/json/internal/JsonJavaTypeDescriptor.java @@ -73,7 +73,7 @@ public JsonJavaTypeDescriptor(final ObjectMapperWrapper objectMapperWrapper, Typ public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); Type type = (xProperty instanceof JavaXMember) ? - ReflectionUtils.invokeGetter(xProperty, "javaType") : + ((JavaXMember) xProperty).getJavaType() : ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); setPropertyClass(type); } diff --git a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java index 714590891..dc9556388 100644 --- a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java +++ b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/PostgreSQLRangeType.java @@ -2,7 +2,6 @@ import com.vladmihalcea.hibernate.type.ImmutableType; import com.vladmihalcea.hibernate.type.util.Configuration; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.HibernateException; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; @@ -133,7 +132,7 @@ private static String determineRangeType(Range range) { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java index befd0ea50..71ee49fed 100644 --- a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java +++ b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/range/guava/PostgreSQLGuavaRangeType.java @@ -3,7 +3,6 @@ import com.google.common.collect.BoundType; import com.google.common.collect.Range; import com.vladmihalcea.hibernate.type.ImmutableType; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.HibernateException; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; @@ -515,7 +514,7 @@ private String asString(Object value) { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); } diff --git a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java index fd0fbe272..8b2ac876d 100644 --- a/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java +++ b/hibernate-types-60/src/main/java/com/vladmihalcea/hibernate/type/search/internal/PostgreSQLTSVectorTypeDescriptor.java @@ -1,6 +1,5 @@ package com.vladmihalcea.hibernate.type.search.internal; -import com.vladmihalcea.hibernate.util.ReflectionUtils; import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.reflection.java.JavaXMember; import org.hibernate.type.descriptor.WrapperOptions; @@ -24,7 +23,7 @@ public PostgreSQLTSVectorTypeDescriptor() { public void setParameterValues(Properties parameters) { final XProperty xProperty = (XProperty) parameters.get(DynamicParameterizedType.XPROPERTY); if (xProperty instanceof JavaXMember) { - type = ReflectionUtils.invokeGetter(xProperty, "javaType"); + type = ((JavaXMember) xProperty).getJavaType(); } else { type = ((ParameterType) parameters.get(PARAMETER_TYPE)).getReturnedClass(); }