From f2ef1f996f329894ca3ffcccb4b6d66c0eee1267 Mon Sep 17 00:00:00 2001 From: Jim Myers Date: Sun, 28 Jun 2026 16:21:11 -0400 Subject: [PATCH 1/5] library update config changes some for Win11 --- conf/jhove/jhove.conf | 3 +- pom.xml | 31 ++++++++++--------- .../iq/dataverse/util/xml/XmlPrinter.java | 2 +- .../iq/dataverse/sitemap/SiteMapUtilTest.java | 2 +- .../iq/dataverse/util/JhoveFileTypeTest.java | 27 +++++++++------- 5 files changed, 35 insertions(+), 30 deletions(-) diff --git a/conf/jhove/jhove.conf b/conf/jhove/jhove.conf index 11fbb7bf737..f0d0f80d7cd 100644 --- a/conf/jhove/jhove.conf +++ b/conf/jhove/jhove.conf @@ -47,8 +47,7 @@ edu.harvard.hul.ois.jhove.module.WarcModule - - com.mcgath.jhove.module.PngModule + edu.harvard.hul.ois.jhove.module.PngModule diff --git a/pom.xml b/pom.xml index dd4d92c4f0d..1ff887b4746 100644 --- a/pom.xml +++ b/pom.xml @@ -30,13 +30,13 @@ war - 1.2.18.4 - 10.19.0 + 1.2.26 + 12.9.0 1.1.1 - 1.20.1 - 5.4.0 - 3.2.2 - 5.9.1 + 1.34.0 + 5.5.1 + 3.3.1 + 5.10.0 Dataverse API ${project.version} @@ -108,7 +108,7 @@ org.apache.james apache-mime4j-dom - 0.8.7 + 0.8.14 xerces @@ -153,7 +153,7 @@ org.apache.httpcomponents.client5 httpclient5 - 5.2.1 + 5.6.1 @@ -215,7 +215,7 @@ com.apicatalog titanium-json-ld - 1.4.0 + 1.7.0 com.google.code.gson @@ -404,7 +404,7 @@ commons-validator commons-validator - 1.7 + 1.10.1 @@ -463,6 +463,9 @@ ${poi.version} + org.openpreservation.jhove jhove-core ${jhove.version} @@ -496,7 +499,7 @@ edu.ucsb.nceas ezid - 1.0.0 + 1.0.3 jar @@ -524,7 +527,7 @@ org.javaswift joss - 0.10.0 + 0.10.4 org.apache.commons @@ -541,7 +544,7 @@ com.nimbusds oauth2-oidc-sdk - 11.22.1 + 11.30.1 @@ -1104,7 +1107,7 @@ maven-checkstyle-plugin checkstyle.xml - UTF-8 + UTF-8 true diff --git a/src/main/java/edu/harvard/iq/dataverse/util/xml/XmlPrinter.java b/src/main/java/edu/harvard/iq/dataverse/util/xml/XmlPrinter.java index f253be1437a..d42221ff002 100644 --- a/src/main/java/edu/harvard/iq/dataverse/util/xml/XmlPrinter.java +++ b/src/main/java/edu/harvard/iq/dataverse/util/xml/XmlPrinter.java @@ -18,7 +18,7 @@ public class XmlPrinter { static public String prettyPrintXml(String xml) { try { - TransformerFactory tf = TransformerFactory.newInstance(); + TransformerFactory tf = TransformerFactory.newDefaultInstance(); // Set secure processing feature tf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); diff --git a/src/test/java/edu/harvard/iq/dataverse/sitemap/SiteMapUtilTest.java b/src/test/java/edu/harvard/iq/dataverse/sitemap/SiteMapUtilTest.java index 75f859f0fb6..6eb1926fda9 100644 --- a/src/test/java/edu/harvard/iq/dataverse/sitemap/SiteMapUtilTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/sitemap/SiteMapUtilTest.java @@ -173,7 +173,7 @@ void testHugeSiteMap() throws IOException, ParseException, SAXException { String sitemapString = XmlPrinter.prettyPrintXml(new String(Files.readAllBytes(Paths.get(sitemapFile.getAbsolutePath())), StandardCharsets.UTF_8)); // System.out.println("sitemap: " + sitemapString); - String[] lines = sitemapString.split("\n"); + String[] lines = sitemapString.split("\r?\n"); for (int i = 0; i < lines.length; i++) { String line = lines[i].strip(); if (StringUtils.isNotBlank(line)) { diff --git a/src/test/java/edu/harvard/iq/dataverse/util/JhoveFileTypeTest.java b/src/test/java/edu/harvard/iq/dataverse/util/JhoveFileTypeTest.java index 879c4bc1c4e..9f3d09c4345 100644 --- a/src/test/java/edu/harvard/iq/dataverse/util/JhoveFileTypeTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/util/JhoveFileTypeTest.java @@ -2,6 +2,8 @@ import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.commons.io.FileUtils; @@ -13,7 +15,7 @@ public class JhoveFileTypeTest { static JhoveFileType jhoveFileType; - static String baseDirForConfigFiles = "/tmp"; + static Path baseDirForConfigFiles; static File png; static File gif; static File jpg; @@ -25,11 +27,18 @@ public class JhoveFileTypeTest { static File ipynb; @BeforeAll - public static void setUpClass() { - System.setProperty("com.sun.aas.instanceRoot", baseDirForConfigFiles); - jhoveFileType = new JhoveFileType(); - copyConfigIntoPlace(); + public static void setUpClass() throws IOException { + baseDirForConfigFiles = Files.createTempDirectory("dataverse-test-"); + System.setProperty("com.sun.aas.instanceRoot", baseDirForConfigFiles.toString()); + + Path configDir = baseDirForConfigFiles.resolve("config"); + Files.createDirectories(configDir); + Files.copy( + Path.of("conf", "jhove", "jhove.conf"), + configDir.resolve("jhove.conf") + ); + jhoveFileType = new JhoveFileType(); png = new File("src/test/resources/images/coffeeshop.png"); gif = new File("src/main/webapp/resources/images/ajax-loading.gif"); jpg = new File("src/main/webapp/resources/images/dataverseproject_logo.jpg"); @@ -78,13 +87,7 @@ public void testGetJhoveConfigFile() { } private static void copyConfigIntoPlace() { - String testFile1Src = "conf/jhove/jhove.conf"; - String testFile1Tmp = baseDirForConfigFiles + "/config/jhove.conf"; - try { - FileUtils.copyFile(new File(testFile1Src), new File(testFile1Tmp)); - } catch (IOException ex) { - Logger.getLogger(JhoveFileTypeTest.class.getName()).log(Level.SEVERE, null, ex); - } + // Not needed anymore due to new setup } } From e8c1c4c6f95de7908b72d969e2c6a2f3738467a7 Mon Sep 17 00:00:00 2001 From: Jim Myers Date: Tue, 30 Jun 2026 16:26:35 -0400 Subject: [PATCH 2/5] avoid line sep hardcoding --- .../harvard/iq/dataverse/util/xml/XmlPrinterTest.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/test/java/edu/harvard/iq/dataverse/util/xml/XmlPrinterTest.java b/src/test/java/edu/harvard/iq/dataverse/util/xml/XmlPrinterTest.java index 1a190389ed5..5b4f9bffbbb 100644 --- a/src/test/java/edu/harvard/iq/dataverse/util/xml/XmlPrinterTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/util/xml/XmlPrinterTest.java @@ -7,11 +7,12 @@ public class XmlPrinterTest { @Test public void testPrettyPrintXmlShort() { + String lineSep = System.lineSeparator(); String xml = "baz"; - String expResult = "\n" - + "\n" - + " baz\n" - + "\n"; + String expResult = "" + lineSep + + "" + lineSep + + " baz" + lineSep + + "" + lineSep; String result = XmlPrinter.prettyPrintXml(xml); assertEquals(expResult, result); } From e0040ab6a3930a9aa324f830fd4ba539f4738313 Mon Sep 17 00:00:00 2001 From: Jim Myers Date: Mon, 29 Jun 2026 09:18:21 -0400 Subject: [PATCH 3/5] payara update, jhove downgrade, DDI fix --- modules/dataverse-parent/pom.xml | 13 +++++++------ pom.xml | 2 +- .../iq/dataverse/export/ddi/DdiExportUtil.java | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/dataverse-parent/pom.xml b/modules/dataverse-parent/pom.xml index 15763697c41..0b7494a94bb 100644 --- a/modules/dataverse-parent/pom.xml +++ b/modules/dataverse-parent/pom.xml @@ -1,3 +1,4 @@ + 4.0.0 @@ -132,7 +133,7 @@ - 6.10.1 + 6.11 21 UTF-8 @@ -149,12 +150,12 @@ -Duser.timezone=${project.timezone} -Dfile.encoding=${project.build.sourceEncoding} -Duser.language=${project.language} -Duser.region=${project.region} - 7.2026.2 + 7.2026.6 42.7.11 - 9.8.0 + 9.10.0 16 - 2.33.0 - 26.30.0 + 2.46.17 + 26.69.0 1.7.35 @@ -418,7 +419,7 @@ unidata-all Unidata All - https://artifacts.unidata.ucar.edu/repository/unidata-all/ + https://artifacts.unidata.ucar.edu/repository/unidata-all false diff --git a/pom.xml b/pom.xml index 1ff887b4746..e68a1314322 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,7 @@ 1.2.26 12.9.0 1.1.1 - 1.34.0 + 1.20.1 5.5.1 3.3.1 5.10.0 diff --git a/src/main/java/edu/harvard/iq/dataverse/export/ddi/DdiExportUtil.java b/src/main/java/edu/harvard/iq/dataverse/export/ddi/DdiExportUtil.java index f5cc86bf8ee..1e846e09a6b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/export/ddi/DdiExportUtil.java +++ b/src/main/java/edu/harvard/iq/dataverse/export/ddi/DdiExportUtil.java @@ -2021,7 +2021,7 @@ public static void datasetHtmlDDI(InputStream datafile, OutputStream outputStrea Document document = builder.parse(datafile); // Use a Transformer for output - TransformerFactory tFactory = TransformerFactory.newInstance(); + TransformerFactory tFactory = TransformerFactory.newDefaultInstance(); // Set secure processing feature tFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); tFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, ""); From fcf6563badeef8cb0d28433ae5662c9a68dbf888 Mon Sep 17 00:00:00 2001 From: Jim Myers Date: Mon, 29 Jun 2026 10:47:53 -0400 Subject: [PATCH 4/5] restore old jhove config --- conf/jhove/jhove.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf/jhove/jhove.conf b/conf/jhove/jhove.conf index f0d0f80d7cd..11fbb7bf737 100644 --- a/conf/jhove/jhove.conf +++ b/conf/jhove/jhove.conf @@ -47,7 +47,8 @@ edu.harvard.hul.ois.jhove.module.WarcModule + - edu.harvard.hul.ois.jhove.module.PngModule + com.mcgath.jhove.module.PngModule From 6f8eafd91aa69df93d0e46b86057c994017c00ce Mon Sep 17 00:00:00 2001 From: Jim Myers Date: Tue, 30 Jun 2026 17:14:06 -0400 Subject: [PATCH 5/5] payara version update in docs --- doc/sphinx-guides/source/installation/prerequisites.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/sphinx-guides/source/installation/prerequisites.rst b/doc/sphinx-guides/source/installation/prerequisites.rst index 2ad06b5ea39..2e28f12dbfb 100644 --- a/doc/sphinx-guides/source/installation/prerequisites.rst +++ b/doc/sphinx-guides/source/installation/prerequisites.rst @@ -44,7 +44,7 @@ On RHEL/derivative you can make Java 21 the default with the ``alternatives`` co Payara ------ -Payara 7.2026.2 is recommended. Newer versions might work fine. Regular updates are recommended. +Payara 7.2026.6 is recommended. Newer versions might work fine. Regular updates are recommended. Installing Payara ================= @@ -55,8 +55,8 @@ Installing Payara - Download and install Payara (installed in ``/usr/local/payara7`` in the example commands below):: - # wget https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/7.2026.2/payara-7.2026.2.zip - # unzip payara-7.2026.2.zip + # wget https://nexus.payara.fish/repository/payara-community/fish/payara/distributions/payara/7.2026.6/payara-7.2026.6.zip + # unzip payara-7.2026.6.zip # mv payara7 /usr/local If nexus.payara.fish is ever down for maintenance, Payara distributions are also available from https://repo1.maven.org/maven2/fish/payara/distributions/payara/