From b22e37d9dbe8f2507056fd2ce44c6f137679853c Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sat, 11 Jan 2025 16:04:50 -0800 Subject: [PATCH 1/8] Work on #701, try to use `module-info.java` natively --- pom.xml | 25 +++++++--- src/{moditect => main/java}/module-info.java | 4 +- src/test/java/module-info.java | 30 +++++++++++ .../interop/NonWoodstoxStaxImpl482Test.java | 50 ------------------- 4 files changed, 51 insertions(+), 58 deletions(-) rename src/{moditect => main/java}/module-info.java (85%) create mode 100644 src/test/java/module-info.java delete mode 100644 src/test/java/tools/jackson/dataformat/xml/interop/NonWoodstoxStaxImpl482Test.java diff --git a/pom.xml b/pom.xml index 75f4ed654..33854b382 100644 --- a/pom.xml +++ b/pom.xml @@ -65,8 +65,8 @@ alternative support for serializing POJOs as XML and deserializing XML as pojos. 4.2.2 - javax.xml.stream - stax-api + javax.xml.stream + stax-api @@ -92,6 +92,22 @@ alternative support for serializing POJOs as XML and deserializing XML as pojos. junit test + + + org.junit.jupiter + junit-jupiter + test + + + org.junit.jupiter + junit-jupiter-api + test + + + org.assertj + assertj-core + test + - - org.moditect - moditect-maven-plugin - de.jjohannes diff --git a/src/moditect/module-info.java b/src/main/java/module-info.java similarity index 85% rename from src/moditect/module-info.java rename to src/main/java/module-info.java index 9e06e0da2..7e7170a31 100644 --- a/src/moditect/module-info.java +++ b/src/main/java/module-info.java @@ -1,4 +1,6 @@ -module tools.jackson.dataformat.xml { +// Jackson 3.x module-info for jackson-dataformat-xml Main artifact +module tools.jackson.dataformat.xml +{ requires java.xml; requires org.codehaus.stax2; diff --git a/src/test/java/module-info.java b/src/test/java/module-info.java new file mode 100644 index 000000000..968a8acf5 --- /dev/null +++ b/src/test/java/module-info.java @@ -0,0 +1,30 @@ +// Jackson 3.x module-info for jackson-dataformat-xml Test artifact +module tools.jackson.dataformat.xml +{ + // First, same requires as the main artifact + + requires java.xml; + requires org.codehaus.stax2; + + requires com.fasterxml.jackson.annotation; + requires tools.jackson.core; + requires tools.jackson.databind; + + // Then test library dependencies + requires junit; + requires org.junit.jupiter.api; + requires org.junit.jupiter.params; + + // Then exports same as main artifact + + exports tools.jackson.dataformat.xml; + exports tools.jackson.dataformat.xml.annotation; + exports tools.jackson.dataformat.xml.deser; + exports tools.jackson.dataformat.xml.ser; + exports tools.jackson.dataformat.xml.util; + + provides tools.jackson.core.TokenStreamFactory with + tools.jackson.dataformat.xml.XmlFactory; + provides tools.jackson.databind.ObjectMapper with + tools.jackson.dataformat.xml.XmlMapper; +} diff --git a/src/test/java/tools/jackson/dataformat/xml/interop/NonWoodstoxStaxImpl482Test.java b/src/test/java/tools/jackson/dataformat/xml/interop/NonWoodstoxStaxImpl482Test.java deleted file mode 100644 index cdf653502..000000000 --- a/src/test/java/tools/jackson/dataformat/xml/interop/NonWoodstoxStaxImpl482Test.java +++ /dev/null @@ -1,50 +0,0 @@ -package tools.jackson.dataformat.xml.interop; - -import tools.jackson.core.JsonParser; -import tools.jackson.databind.ObjectReader; -import tools.jackson.dataformat.xml.XmlFactory; -import tools.jackson.dataformat.xml.XmlMapper; -import tools.jackson.dataformat.xml.XmlTestBase; - -import com.sun.xml.stream.ZephyrParserFactory; -import com.sun.xml.stream.ZephyrWriterFactory; - -// to verify issue behind [dataformat-xml#482] -public class NonWoodstoxStaxImpl482Test extends XmlTestBase -{ - static class Root { - public int value = 3; - } - - private final XmlMapper SJSXP_MAPPER = XmlMapper.builder( - XmlFactory.builder() - .xmlInputFactory(new ZephyrParserFactory()) - .xmlOutputFactory(new ZephyrWriterFactory()) - .build()) - .build(); - - // [dataformat-xml#482] - public void testSjsxpFromByteArray() throws Exception - { - byte[] xml0 = SJSXP_MAPPER.writeValueAsBytes(new Root()); - // and just for fun, ensure offset handling works: - byte[] xml = new byte[xml0.length + 10]; - System.arraycopy(xml0, 0, xml, 5, xml0.length); - Root result = SJSXP_MAPPER.readValue(xml, 5, xml0.length, Root.class); - assertNotNull(result); - } - - // [dataformat-xml#482] - public void testSjsxpFromCharArray() throws Exception - { - char[] xml0 = SJSXP_MAPPER.writeValueAsString(new Root()).toCharArray(); - // add offset - char[] xml = new char[xml0.length + 10]; - System.arraycopy(xml0, 0, xml, 5, xml0.length); - ObjectReader r = SJSXP_MAPPER.readerFor(Root.class); - JsonParser p = r.createParser(xml, 5, xml0.length); - Root result = r.readValue(p); - p.close(); - assertNotNull(result); - } -} From 3b840bfdb0f82b41b92abf400b05e136bc9c4361 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sat, 11 Jan 2025 16:12:03 -0800 Subject: [PATCH 2/8] ... --- pom.xml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 33854b382..b4aaf1835 100644 --- a/pom.xml +++ b/pom.xml @@ -80,8 +80,8 @@ alternative support for serializing POJOs as XML and deserializing XML as pojos. 7.1.0 - javax.xml.stream - stax-api + javax.xml.stream + stax-api @@ -130,13 +130,17 @@ alternative support for serializing POJOs as XML and deserializing XML as pojos. + + +