diff --git a/jrecordbind-example/pom.xml b/jrecordbind-example/pom.xml index b0ca9a6..088fb41 100644 --- a/jrecordbind-example/pom.xml +++ b/jrecordbind-example/pom.xml @@ -23,8 +23,8 @@ - org.jvnet.jaxb2.maven2 - maven-jaxb2-plugin + org.jvnet.jaxb + jaxb-maven-plugin ${maven-jaxb2-plugin.version} src/main/resources diff --git a/jrecordbind-example/src/main/java/module-info.java b/jrecordbind-example/src/main/java/module-info.java index 79e2b47..cdd0696 100644 --- a/jrecordbind-example/src/main/java/module-info.java +++ b/jrecordbind-example/src/main/java/module-info.java @@ -1,7 +1,7 @@ module org.fissore.jrecordbind.example { requires org.fissore.jrecordbind; - requires java.xml.bind; + requires jakarta.xml.bind; exports org.jrecordbind.schemas.jrb.example to org.fissore.jrecordbind; diff --git a/jrecordbind-example/src/main/xjb/bindings.xjb b/jrecordbind-example/src/main/xjb/bindings.xjb index 4c6a9ef..999fa30 100644 --- a/jrecordbind-example/src/main/xjb/bindings.xjb +++ b/jrecordbind-example/src/main/xjb/bindings.xjb @@ -1,6 +1,6 @@ - - + + diff --git a/jrecordbind-test/pom.xml b/jrecordbind-test/pom.xml index ddcc74d..69488f2 100644 --- a/jrecordbind-test/pom.xml +++ b/jrecordbind-test/pom.xml @@ -28,8 +28,8 @@ - org.jvnet.jaxb2.maven2 - maven-jaxb2-plugin + org.jvnet.jaxb + jaxb-maven-plugin ${maven-jaxb2-plugin.version} src/test/resources/record_definitions diff --git a/jrecordbind-test/src/main/java/module-info.java b/jrecordbind-test/src/main/java/module-info.java index 7150186..184ef7e 100644 --- a/jrecordbind-test/src/main/java/module-info.java +++ b/jrecordbind-test/src/main/java/module-info.java @@ -1,7 +1,7 @@ module org.fissore.jrecordbindtests { requires org.fissore.jrecordbind; - requires java.xml.bind; + requires jakarta.xml.bind; // the following `exports` go here because maven-jaxb2-plugin generates sources // into generated-sources rather than generated-test-sources diff --git a/jrecordbind-test/src/test/java/org/fissore/jrecordbindtests/DefinitionLoaderTest.java b/jrecordbind-test/src/test/java/org/fissore/jrecordbindtests/DefinitionLoaderTest.java index 1ab5b06..e0b8a9d 100644 --- a/jrecordbind-test/src/test/java/org/fissore/jrecordbindtests/DefinitionLoaderTest.java +++ b/jrecordbind-test/src/test/java/org/fissore/jrecordbindtests/DefinitionLoaderTest.java @@ -75,7 +75,7 @@ public void simple() { var birthdayProperty = definition.getProperties().stream().filter(p -> "birthday".equals(p.getName())).findFirst().get(); assertEquals("birthday", birthdayProperty.getName()); assertEquals("org.fissore.jrecordbindtests.test.TestConverters$SimpleRecordDateConverter", birthdayProperty.getConverter()); - assertEquals("java.util.Date", birthdayProperty.getType()); + assertEquals("java.time.LocalDate", birthdayProperty.getType()); assertEquals(8, birthdayProperty.getLength()); assertNull(birthdayProperty.getPadder()); @@ -386,7 +386,7 @@ public void hierarchical() { property = subDefinition.getProperties().get(1); assertEquals("when", property.getName()); - assertEquals("java.util.Date", property.getType()); + assertEquals("java.time.LocalDate", property.getType()); assertEquals(8, property.getLength()); assertEquals("org.fissore.jrecordbindtests.test.TestConverters$SimpleRecordDateConverter", property.getConverter()); } @@ -429,7 +429,7 @@ public void multiRow() { property = definition.getProperties().get(3); assertEquals("birthday", property.getName()); - assertEquals("java.util.Date", property.getType()); + assertEquals("java.time.LocalDateTime", property.getType()); assertEquals(8, property.getLength()); assertEquals("org.fissore.jrecordbindtests.test.TestConverters$SimpleRecordDateConverter", property.getConverter()); assertEquals(0, property.getRow()); diff --git a/jrecordbind-test/src/test/xjb/bindings.xjb b/jrecordbind-test/src/test/xjb/bindings.xjb index 4c6a9ef..999fa30 100644 --- a/jrecordbind-test/src/test/xjb/bindings.xjb +++ b/jrecordbind-test/src/test/xjb/bindings.xjb @@ -1,6 +1,6 @@ - - + + diff --git a/jrecordbind/pom.xml b/jrecordbind/pom.xml index 9a1fd00..95940a1 100644 --- a/jrecordbind/pom.xml +++ b/jrecordbind/pom.xml @@ -15,6 +15,11 @@ https://jrecordbind.org + + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb.version} + org.glassfish.jaxb jaxb-runtime diff --git a/jrecordbind/src/main/java/module-info.java b/jrecordbind/src/main/java/module-info.java index b700a33..efd9f2c 100644 --- a/jrecordbind/src/main/java/module-info.java +++ b/jrecordbind/src/main/java/module-info.java @@ -6,7 +6,8 @@ exports org.fissore.jrecordbind.util; requires java.logging; - requires com.sun.xml.bind; + requires jakarta.xml.bind; requires com.sun.xml.xsom; + requires org.glassfish.jaxb.core; } diff --git a/jrecordbind/src/main/java/org/fissore/jrecordbind/Evaluators.java b/jrecordbind/src/main/java/org/fissore/jrecordbind/Evaluators.java index bba500e..45e4f30 100644 --- a/jrecordbind/src/main/java/org/fissore/jrecordbind/Evaluators.java +++ b/jrecordbind/src/main/java/org/fissore/jrecordbind/Evaluators.java @@ -22,7 +22,7 @@ package org.fissore.jrecordbind; -import com.sun.xml.bind.api.impl.NameConverter; +import org.glassfish.jaxb.core.api.impl.NameConverter; import com.sun.xml.xsom.*; import org.fissore.jrecordbind.RecordDefinition.Property; @@ -31,6 +31,9 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.util.*; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; import static org.fissore.jrecordbind.Constants.JRECORDBIND_XSD; @@ -206,8 +209,9 @@ static final class Type implements Evaluator { XML_TYPE_TO_JAVA_TYPE.put("decimal", BigDecimal.class.getName()); XML_TYPE_TO_JAVA_TYPE.put("base64Binary", "byte[]"); XML_TYPE_TO_JAVA_TYPE.put("short", Short.class.getName()); - XML_TYPE_TO_JAVA_TYPE.put("date", Date.class.getName()); - XML_TYPE_TO_JAVA_TYPE.put("dateTime", Date.class.getName()); + XML_TYPE_TO_JAVA_TYPE.put("date", LocalDate.class.getName()); + XML_TYPE_TO_JAVA_TYPE.put("dateTime", LocalDateTime.class.getName()); + XML_TYPE_TO_JAVA_TYPE.put("time", LocalTime.class.getName()); } public void eval(Property target, XSType source) { diff --git a/jrecordbind/src/main/java/org/fissore/jrecordbind/PropertyUtils.java b/jrecordbind/src/main/java/org/fissore/jrecordbind/PropertyUtils.java index 2cb593e..c4070f5 100644 --- a/jrecordbind/src/main/java/org/fissore/jrecordbind/PropertyUtils.java +++ b/jrecordbind/src/main/java/org/fissore/jrecordbind/PropertyUtils.java @@ -22,7 +22,7 @@ package org.fissore.jrecordbind; -import com.sun.xml.bind.api.impl.NameConverter; +import org.glassfish.jaxb.core.api.impl.NameConverter; import java.lang.reflect.Method; import java.util.HashMap; diff --git a/jrecordbind/src/main/java/org/fissore/jrecordbind/Visitor.java b/jrecordbind/src/main/java/org/fissore/jrecordbind/Visitor.java index f0b5326..1eb54b5 100644 --- a/jrecordbind/src/main/java/org/fissore/jrecordbind/Visitor.java +++ b/jrecordbind/src/main/java/org/fissore/jrecordbind/Visitor.java @@ -22,7 +22,7 @@ package org.fissore.jrecordbind; -import com.sun.xml.bind.api.impl.NameConverter; +import org.glassfish.jaxb.core.api.impl.NameConverter; import com.sun.xml.xsom.*; import org.fissore.jrecordbind.RecordDefinition.Property; diff --git a/pom.xml b/pom.xml index dba6374..206f294 100644 --- a/pom.xml +++ b/pom.xml @@ -137,20 +137,20 @@ https://docs.oracle.com/javase/11/docs/api/ - 2.3.2 + 4.0.2 4.13.2 - 0.14.0 + 4.0.8 1.6 - 3.12.0 - 3.4.0 - 3.10.1 - 3.0.0-M3 - 3.0.0-M2 - 3.1.0 - 1.6.8 - 3.0.0 - 6.3.1 + 3.21.0 + 3.11.2 + 3.14.0 + 3.5.3 + 3.5.0 + 3.3.1 + 1.7.0 + 3.9.0 + 6.10.0 3.6.0