From b37c286f2717b7283575e5a5a842d39506f68a45 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 25 Jan 2025 11:40:58 +0000 Subject: [PATCH 1/2] Bump org.gaul:modernizer-maven-plugin from 2.9.0 to 3.1.0 Bumps [org.gaul:modernizer-maven-plugin](https://github.com/gaul/modernizer-maven-plugin) from 2.9.0 to 3.1.0. - [Release notes](https://github.com/gaul/modernizer-maven-plugin/releases) - [Commits](https://github.com/gaul/modernizer-maven-plugin/compare/modernizer-maven-plugin-2.9.0...modernizer-maven-plugin-3.1.0) --- updated-dependencies: - dependency-name: org.gaul:modernizer-maven-plugin dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b918c0a..1100c28 100644 --- a/pom.xml +++ b/pom.xml @@ -221,7 +221,7 @@ org.gaul modernizer-maven-plugin - 2.9.0 + 3.1.0 de.thetaphi From 7747f0327caa0c20f87a039cf3fecc31ded84d71 Mon Sep 17 00:00:00 2001 From: Philippe Charles Date: Tue, 28 Jan 2025 11:21:06 +0100 Subject: [PATCH 2/2] Modernize use of NIO API --- CHANGELOG.md | 4 ++++ jd_stl/src/main/java/be/nbb/demetra/stl/App.java | 9 +++++---- jdr/src/main/java/ec/tstoolkit/jdr/ws/Workspace.java | 9 +++++---- jdr/src/main/java/jd2/workspace/io/Jaxb.java | 3 ++- jdr/src/main/java/jd2/workspace/io/Xml.java | 12 ++++-------- jdr/src/main/java/jd2/workspace/util/Paths.java | 2 +- .../java/jd2/workspace/file/FileWorkspaceTest.java | 9 +++++---- 7 files changed, 26 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18f8aa8..c9f0ffb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed + +- Modernize use of NIO API + [Unreleased]: https://github.com/nbbrd/jdemetra-sa-advanced/compare/v2.2.5...HEAD diff --git a/jd_stl/src/main/java/be/nbb/demetra/stl/App.java b/jd_stl/src/main/java/be/nbb/demetra/stl/App.java index 1fe3a4e..eb5cb7d 100644 --- a/jd_stl/src/main/java/be/nbb/demetra/stl/App.java +++ b/jd_stl/src/main/java/be/nbb/demetra/stl/App.java @@ -19,11 +19,12 @@ import ec.tstoolkit.data.AutoRegressiveSpectrum; import ec.tstoolkit.data.DataBlock; import ec.tstoolkit.maths.matrices.Matrix; + import java.io.BufferedWriter; import java.io.File; -import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; +import java.nio.file.Paths; import java.util.Locale; /** @@ -92,7 +93,7 @@ private static boolean decodeArgs(String[] args) { return false; } try { - data = MatrixSerializer.read(new File(str)); + data = MatrixSerializer.read(Paths.get(str).toFile()); } catch (IOException ex) { System.out.println("Invalid data"); return false; @@ -335,11 +336,11 @@ private static DataBlock y(int col) { } private static File generateFile(String name, int col) { - File path = new File(output == null ? "." : output); + File path = Paths.get(output == null ? "." : output).toFile(); if (!path.exists()) { path.mkdirs(); } - return new File(path, name + ("-") + (col + 1) + ".txt"); + return path.toPath().resolve(name + ("-") + (col + 1) + ".txt").toFile(); } private static int periodicity() { diff --git a/jdr/src/main/java/ec/tstoolkit/jdr/ws/Workspace.java b/jdr/src/main/java/ec/tstoolkit/jdr/ws/Workspace.java index 3ca0314..7754a00 100644 --- a/jdr/src/main/java/ec/tstoolkit/jdr/ws/Workspace.java +++ b/jdr/src/main/java/ec/tstoolkit/jdr/ws/Workspace.java @@ -33,6 +33,7 @@ import ec.tstoolkit.timeseries.simplets.TsData; import java.io.File; import java.io.IOException; +import java.nio.file.Path; import java.time.LocalDate; import java.util.ArrayList; import java.util.Arrays; @@ -49,8 +50,8 @@ public class Workspace { public static Workspace open(String fileName) throws IOException { // try { - File file = new File(fileName); - FileWorkspace fws = FileWorkspace.open(file.toPath()); + Path file = java.nio.file.Paths.get(fileName); + FileWorkspace fws = FileWorkspace.open(file); Collection items = fws.getItems(); ProcessingContext context = new ProcessingContext(); Map cal = FileRepository.loadAllCalendars(fws, context); @@ -112,9 +113,9 @@ public void compute(String name) { } public boolean save(String fileName) { - File file = new File(fileName); + Path file = java.nio.file.Paths.get(fileName); try { - try (FileWorkspace fws = FileWorkspace.create(file.toPath(), FileFormat.GENERIC)) { + try (FileWorkspace fws = FileWorkspace.create(file, FileFormat.GENERIC)) { fws.setName(Paths.getBaseName(fileName)); for (MultiProcessing p : multiProcessing) { WorkspaceItem cur = WorkspaceItem.builder() diff --git a/jdr/src/main/java/jd2/workspace/io/Jaxb.java b/jdr/src/main/java/jd2/workspace/io/Jaxb.java index 7a16f6b..2f8ecbb 100644 --- a/jdr/src/main/java/jd2/workspace/io/Jaxb.java +++ b/jdr/src/main/java/jd2/workspace/io/Jaxb.java @@ -25,6 +25,7 @@ import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import java.io.*; +import java.nio.file.Files; import java.util.Objects; /** @@ -142,7 +143,7 @@ private static T parseStream(Unmarshaller engine, InputStream resource) thro } private static T parseFileXXE(Unmarshaller engine, File source, XMLInputFactory xxe) throws IOException { - try (FileInputStream resource = new FileInputStream(source)) { + try (InputStream resource = Files.newInputStream(source.toPath())) { XMLStreamReader reader = xxe.createXMLStreamReader(resource); try { return (T) engine.unmarshal(reader); diff --git a/jdr/src/main/java/jd2/workspace/io/Xml.java b/jdr/src/main/java/jd2/workspace/io/Xml.java index a9b9e36..78cb1f4 100644 --- a/jdr/src/main/java/jd2/workspace/io/Xml.java +++ b/jdr/src/main/java/jd2/workspace/io/Xml.java @@ -16,16 +16,12 @@ */ package jd2.workspace.io; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.io.StringReader; +import org.checkerframework.checker.nullness.qual.NonNull; + +import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.util.Optional; -import org.checkerframework.checker.nullness.qual.NonNull; /** * Set of utilities related to XML. @@ -47,7 +43,7 @@ default T parseChars(@NonNull CharSequence source) throws IOException { @NonNull default T parseFile(@NonNull File source) throws IOException { - return parseStream(() -> new FileInputStream(source)); + return parseStream(() -> Files.newInputStream(source.toPath())); } @NonNull diff --git a/jdr/src/main/java/jd2/workspace/util/Paths.java b/jdr/src/main/java/jd2/workspace/util/Paths.java index dc07b03..ab23350 100644 --- a/jdr/src/main/java/jd2/workspace/util/Paths.java +++ b/jdr/src/main/java/jd2/workspace/util/Paths.java @@ -111,7 +111,7 @@ public static String getBaseName(String file) { public static String getFullPath(String file) { try { - File tmp = new File(file); + File tmp = java.nio.file.Paths.get(file).toFile(); return splitFile(tmp.getCanonicalPath())[0]; } catch (IOException ex) { return null; diff --git a/jdr/src/test/java/jd2/workspace/file/FileWorkspaceTest.java b/jdr/src/test/java/jd2/workspace/file/FileWorkspaceTest.java index 97d417d..5d10ac1 100644 --- a/jdr/src/test/java/jd2/workspace/file/FileWorkspaceTest.java +++ b/jdr/src/test/java/jd2/workspace/file/FileWorkspaceTest.java @@ -25,6 +25,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Collection; import java.util.Map; @@ -39,8 +40,8 @@ public FileWorkspaceTest() { //@Test public void testSomeMethod() throws IOException { - File file = new File("c:\\sarepository\\mytest.xml"); - FileWorkspace ws = FileWorkspace.open(file.toPath()); + Path file = Paths.get("c:\\sarepository\\mytest.xml"); + FileWorkspace ws = FileWorkspace.open(file); Collection items = ws.getItems(); items.forEach(item -> System.out.println(item.getLabel())); ProcessingContext context = new ProcessingContext(); @@ -48,8 +49,8 @@ public void testSomeMethod() throws IOException { Map vars = FileRepository.loadAllVariables(ws, context); Map sa = FileRepository.loadAllSaProcessing(ws, context); - File file2 = new File("c:\\sarepository\\mytest2.xml"); - FileWorkspace ws2 = FileWorkspace.create(file2.toPath(), FileFormat.GENERIC); + Path file2 = Paths.get("c:\\sarepository\\mytest2.xml"); + FileWorkspace ws2 = FileWorkspace.create(file2, FileFormat.GENERIC); ws.copyTo(ws2); ws2.setName("myTest2"); ws.close();