From 11de5a3035068c8f249f0d2ad13b1be81cf6b828 Mon Sep 17 00:00:00 2001 From: Thomas Gran Date: Mon, 21 Sep 2026 12:29:05 +0200 Subject: [PATCH] Turn netex-java-model into a JPMS module Adds module-info.java declaring org.entur.netex.java.model, replacing the Automatic-Module-Name manifest entry. requires transitive is used for jakarta.xml.bind, java.xml and org.apache.commons.lang3 since their types leak into the public API (JAXBException, QName/XMLGregorianCalendar, OmitNullsToStringStyle extends ToStringStyle). The generated model packages (org.rutebanken.netex.model, net.opengis.gml._3, uk.org.siri.siri) use field-level JAXB access, so they're opened to jakarta.xml.bind, org.glassfish.jaxb.runtime and org.apache.commons.lang3 - verified by running with each opens target removed until `mvn clean test` passed cleanly on the module path (Surefire auto-detects module-info.java and runs on the module path). Also renames org.rutebanken.util to org.rutebanken.netex.util for consistency with the other org.rutebanken.netex.* packages. Co-Authored-By: Claude Sonnet 5 --- bindings.xjb | 8 ++++---- pom.xml | 1 - src/main/java/module-info.java | 19 +++++++++++++++++++ .../util/LocalDateTimeISO8601XmlAdapter.java | 2 +- .../{ => netex}/util/LocalDateXmlAdapter.java | 2 +- .../util/LocalTimeISO8601XmlAdapter.java | 2 +- .../{ => netex}/util/VersionXmlAdapter.java | 2 +- .../LocalDateTimeISO8601XmlAdapterTest.java | 2 +- .../util/LocalTimeISO8601XmlAdapterTest.java | 2 +- .../util/VersionXmlAdapterTest.java | 2 +- 10 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 src/main/java/module-info.java rename src/main/java/org/rutebanken/{ => netex}/util/LocalDateTimeISO8601XmlAdapter.java (97%) rename src/main/java/org/rutebanken/{ => netex}/util/LocalDateXmlAdapter.java (98%) rename src/main/java/org/rutebanken/{ => netex}/util/LocalTimeISO8601XmlAdapter.java (98%) rename src/main/java/org/rutebanken/{ => netex}/util/VersionXmlAdapter.java (97%) rename src/test/java/org/rutebanken/{ => netex}/util/LocalDateTimeISO8601XmlAdapterTest.java (98%) rename src/test/java/org/rutebanken/{ => netex}/util/LocalTimeISO8601XmlAdapterTest.java (99%) rename src/test/java/org/rutebanken/{ => netex}/util/VersionXmlAdapterTest.java (98%) diff --git a/bindings.xjb b/bindings.xjb index 089dc6c..4fa6618 100644 --- a/bindings.xjb +++ b/bindings.xjb @@ -5,9 +5,9 @@ - - - + + + @@ -60,7 +60,7 @@ - + diff --git a/pom.xml b/pom.xml index 9f13eec..e9fbd9a 100644 --- a/pom.xml +++ b/pom.xml @@ -637,7 +637,6 @@ - org.entur.netex.java.model ${git.commit.id} ${git.commit.time} diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java new file mode 100644 index 0000000..1f9a59c --- /dev/null +++ b/src/main/java/module-info.java @@ -0,0 +1,19 @@ +module org.entur.netex.java.model { + requires transitive jakarta.xml.bind; + requires transitive java.xml; + requires transitive org.apache.commons.lang3; + requires io.github.threetenjaxb.core; + requires org.slf4j; + + exports org.rutebanken.netex; + exports org.rutebanken.netex.client; + exports org.rutebanken.netex.validation; + exports org.rutebanken.netex.model; + exports org.rutebanken.netex.util; + exports net.opengis.gml._3; + exports uk.org.siri.siri; + + opens org.rutebanken.netex.model to jakarta.xml.bind, org.glassfish.jaxb.runtime, org.apache.commons.lang3; + opens net.opengis.gml._3 to jakarta.xml.bind, org.glassfish.jaxb.runtime, org.apache.commons.lang3; + opens uk.org.siri.siri to jakarta.xml.bind, org.glassfish.jaxb.runtime, org.apache.commons.lang3; +} diff --git a/src/main/java/org/rutebanken/util/LocalDateTimeISO8601XmlAdapter.java b/src/main/java/org/rutebanken/netex/util/LocalDateTimeISO8601XmlAdapter.java similarity index 97% rename from src/main/java/org/rutebanken/util/LocalDateTimeISO8601XmlAdapter.java rename to src/main/java/org/rutebanken/netex/util/LocalDateTimeISO8601XmlAdapter.java index 54894b7..6f78c2d 100644 --- a/src/main/java/org/rutebanken/util/LocalDateTimeISO8601XmlAdapter.java +++ b/src/main/java/org/rutebanken/netex/util/LocalDateTimeISO8601XmlAdapter.java @@ -13,7 +13,7 @@ * limitations under the Licence. */ -package org.rutebanken.util; +package org.rutebanken.netex.util; import jakarta.xml.bind.annotation.adapters.XmlAdapter; import java.time.LocalDateTime; diff --git a/src/main/java/org/rutebanken/util/LocalDateXmlAdapter.java b/src/main/java/org/rutebanken/netex/util/LocalDateXmlAdapter.java similarity index 98% rename from src/main/java/org/rutebanken/util/LocalDateXmlAdapter.java rename to src/main/java/org/rutebanken/netex/util/LocalDateXmlAdapter.java index 237b464..5c0e25e 100644 --- a/src/main/java/org/rutebanken/util/LocalDateXmlAdapter.java +++ b/src/main/java/org/rutebanken/netex/util/LocalDateXmlAdapter.java @@ -13,7 +13,7 @@ * limitations under the Licence. */ -package org.rutebanken.util; +package org.rutebanken.netex.util; import jakarta.xml.bind.annotation.adapters.XmlAdapter; import java.time.LocalDateTime; diff --git a/src/main/java/org/rutebanken/util/LocalTimeISO8601XmlAdapter.java b/src/main/java/org/rutebanken/netex/util/LocalTimeISO8601XmlAdapter.java similarity index 98% rename from src/main/java/org/rutebanken/util/LocalTimeISO8601XmlAdapter.java rename to src/main/java/org/rutebanken/netex/util/LocalTimeISO8601XmlAdapter.java index bdde2eb..d4eb3e2 100644 --- a/src/main/java/org/rutebanken/util/LocalTimeISO8601XmlAdapter.java +++ b/src/main/java/org/rutebanken/netex/util/LocalTimeISO8601XmlAdapter.java @@ -13,7 +13,7 @@ * limitations under the Licence. */ -package org.rutebanken.util; +package org.rutebanken.netex.util; import jakarta.xml.bind.annotation.adapters.XmlAdapter; import java.time.LocalTime; diff --git a/src/main/java/org/rutebanken/util/VersionXmlAdapter.java b/src/main/java/org/rutebanken/netex/util/VersionXmlAdapter.java similarity index 97% rename from src/main/java/org/rutebanken/util/VersionXmlAdapter.java rename to src/main/java/org/rutebanken/netex/util/VersionXmlAdapter.java index e8cedb6..34231a3 100644 --- a/src/main/java/org/rutebanken/util/VersionXmlAdapter.java +++ b/src/main/java/org/rutebanken/netex/util/VersionXmlAdapter.java @@ -13,7 +13,7 @@ * limitations under the Licence. */ -package org.rutebanken.util; +package org.rutebanken.netex.util; import jakarta.xml.bind.annotation.adapters.XmlAdapter; diff --git a/src/test/java/org/rutebanken/util/LocalDateTimeISO8601XmlAdapterTest.java b/src/test/java/org/rutebanken/netex/util/LocalDateTimeISO8601XmlAdapterTest.java similarity index 98% rename from src/test/java/org/rutebanken/util/LocalDateTimeISO8601XmlAdapterTest.java rename to src/test/java/org/rutebanken/netex/util/LocalDateTimeISO8601XmlAdapterTest.java index 3abd18a..239e267 100644 --- a/src/test/java/org/rutebanken/util/LocalDateTimeISO8601XmlAdapterTest.java +++ b/src/test/java/org/rutebanken/netex/util/LocalDateTimeISO8601XmlAdapterTest.java @@ -1,4 +1,4 @@ -package org.rutebanken.util; +package org.rutebanken.netex.util; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/rutebanken/util/LocalTimeISO8601XmlAdapterTest.java b/src/test/java/org/rutebanken/netex/util/LocalTimeISO8601XmlAdapterTest.java similarity index 99% rename from src/test/java/org/rutebanken/util/LocalTimeISO8601XmlAdapterTest.java rename to src/test/java/org/rutebanken/netex/util/LocalTimeISO8601XmlAdapterTest.java index f32e1af..b2bc0c1 100644 --- a/src/test/java/org/rutebanken/util/LocalTimeISO8601XmlAdapterTest.java +++ b/src/test/java/org/rutebanken/netex/util/LocalTimeISO8601XmlAdapterTest.java @@ -1,4 +1,4 @@ -package org.rutebanken.util; +package org.rutebanken.netex.util; import java.util.List; import java.util.stream.Collectors; diff --git a/src/test/java/org/rutebanken/util/VersionXmlAdapterTest.java b/src/test/java/org/rutebanken/netex/util/VersionXmlAdapterTest.java similarity index 98% rename from src/test/java/org/rutebanken/util/VersionXmlAdapterTest.java rename to src/test/java/org/rutebanken/netex/util/VersionXmlAdapterTest.java index 825c5cf..b2eb852 100644 --- a/src/test/java/org/rutebanken/util/VersionXmlAdapterTest.java +++ b/src/test/java/org/rutebanken/netex/util/VersionXmlAdapterTest.java @@ -13,7 +13,7 @@ * limitations under the Licence. */ -package org.rutebanken.util; +package org.rutebanken.netex.util; import org.junit.jupiter.api.Test;