This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new a0ea9a78d refactor away ancient ResourceUtil from tests
a0ea9a78d is described below
commit a0ea9a78d637cf8fc5548f14843a151385cfb1ad
Author: Andrus Adamchik <[email protected]>
AuthorDate: Sun May 10 20:24:30 2026 -0400
refactor away ancient ResourceUtil from tests
---
.../apache/cayenne/test/resource/ResourceUtil.java | 112 ---------------------
...enneGeneratorTaskCrossMapRelationshipsTest.java | 6 +-
.../cayenne/tools/CayenneGeneratorTaskTest.java | 10 +-
.../apache/cayenne/tools/CgenWithConfigTest.java | 6 +-
.../apache/cayenne/tools/DbImporterTaskTest.java | 11 +-
.../apache/cayenne/tools/DbImporterMojoTest.java | 3 +-
6 files changed, 17 insertions(+), 131 deletions(-)
diff --git
a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java
b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java
deleted file mode 100644
index e724416b5..000000000
---
a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/resource/ResourceUtil.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ****************************************************************/
-package org.apache.cayenne.test.resource;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-public class ResourceUtil {
-
- /**
- * Copies resources to a file, thus making it available to the caller as
- * File.
- */
- public static void copyResourceToFile(String resourceName, File file) {
- URL in = getResource(resourceName);
-
- if (!copyResourceToFile(in, file)) {
- throw new RuntimeException("Error copying resource to
file : " + file);
- }
- }
-
- /**
- * Returns a guaranteed non-null resource for a given name.
- */
- public static URL getResource(Class<?> relativeTo, String name) {
- URL in = relativeTo.getResource(name);
- if (in == null) { throw new RuntimeException("Resource not
found: " + name); }
- return getResource(in);
- }
-
- /**
- * Returns a guaranteed non-null resource for a given name.
- */
- public static URL getResource(String name) {
- URL in =
Thread.currentThread().getContextClassLoader().getResource(name);
- if (in == null) { throw new RuntimeException("Resource not
found: " + name); }
- return getResource(in);
- }
-
- /**
- * Returns a guaranteed non-null resource for a given name.
- */
- private static URL getResource(URL classloaderUrl) {
-
- if (classloaderUrl == null) {
- throw new NullPointerException("null URL");
- }
-
- // Fix for the issue described at
- // https://issues.apache.org/struts/browse/SB-35
- // Basically, spaces in filenames make maven cry.
- try {
- return new
URL(classloaderUrl.toExternalForm().replaceAll(" ", "%20"));
- } catch (MalformedURLException e) {
- throw new RuntimeException("Error constructing URL.",
e);
- }
- }
-
- public static boolean copyResourceToFile(URL from, File to) {
-
- File dir = to.getParentFile();
- if(dir != null) {
- dir.mkdirs();
- }
-
- int bufSize = 8 * 1024;
- try (BufferedInputStream urlin = new
BufferedInputStream(from.openConnection().getInputStream(), bufSize);) {
-
- try (BufferedOutputStream fout = new
BufferedOutputStream(new FileOutputStream(to), bufSize);) {
- copyPipe(urlin, fout, bufSize);
- }
- } catch (IOException ioex) {
- return false;
- } catch (SecurityException sx) {
- return false;
- }
- return true;
- }
-
- private static void copyPipe(InputStream in, OutputStream out, int
bufSizeHint) throws IOException {
- int read = -1;
- byte[] buf = new byte[bufSizeHint];
- while ((read = in.read(buf, 0, bufSizeHint)) >= 0) {
- out.write(buf, 0, read);
- }
- out.flush();
- }
-
-}
diff --git
a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
index 2102e9fa8..fa0291f95 100644
---
a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
+++
b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskCrossMapRelationshipsTest.java
@@ -19,7 +19,6 @@
package org.apache.cayenne.tools;
-import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.FileList;
@@ -31,6 +30,7 @@ import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
+import java.nio.file.Files;
import java.util.regex.Pattern;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -61,11 +61,11 @@ public class CayenneGeneratorTaskCrossMapRelationshipsTest {
}
File map = new File(destDir, "cgen-dependent.map.xml");
-
ResourceUtil.copyResourceToFile("org/apache/cayenne/tools/cgen-dependent.map.xml",
map);
+
Files.copy(getClass().getResourceAsStream("/org/apache/cayenne/tools/cgen-dependent.map.xml"),
map.toPath());
File additionalMaps[] = new File[1];
additionalMaps[0] = new File(destDir, "cgen.map.xml");
-
ResourceUtil.copyResourceToFile("org/apache/cayenne/tools/cgen.map.xml",
additionalMaps[0]);
+
Files.copy(getClass().getResourceAsStream("/org/apache/cayenne/tools/cgen.map.xml"),
additionalMaps[0].toPath());
FileList additionalMapsFilelist = new FileList();
additionalMapsFilelist.setDir(additionalMaps[0].getParentFile());
diff --git
a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
index fb1149234..eb93a4a3f 100644
---
a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
+++
b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CayenneGeneratorTaskTest.java
@@ -22,7 +22,6 @@ package org.apache.cayenne.tools;
import org.apache.cayenne.gen.CgenConfiguration;
import org.apache.cayenne.gen.TemplateType;
import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
import org.junit.jupiter.api.BeforeAll;
@@ -34,6 +33,7 @@ import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
+import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.regex.Pattern;
@@ -54,15 +54,15 @@ public class CayenneGeneratorTaskTest {
private static File template;
@BeforeAll
- static void setUpClass() {
+ static void setUpClass() throws Exception {
baseDir = tempDir.toFile();
map = new File(baseDir, "antmap.xml");
mapEmbeddables = new File(baseDir, "antmap-embeddables.xml");
template = new File(baseDir, "velotemplate.vm");
- ResourceUtil.copyResourceToFile("testmap.map.xml", map);
- ResourceUtil.copyResourceToFile("embeddable.map.xml",
mapEmbeddables);
-
ResourceUtil.copyResourceToFile("org/apache/cayenne/tools/velotemplate.vm",
template);
+
Files.copy(CayenneGeneratorTaskTest.class.getResourceAsStream("/testmap.map.xml"),
map.toPath());
+
Files.copy(CayenneGeneratorTaskTest.class.getResourceAsStream("/embeddable.map.xml"),
mapEmbeddables.toPath());
+
Files.copy(CayenneGeneratorTaskTest.class.getResourceAsStream("/org/apache/cayenne/tools/velotemplate.vm"),
template.toPath());
}
protected CayenneGeneratorTask task;
diff --git
a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java
b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java
index f365f61e0..72e441bb6 100644
--- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java
+++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/CgenWithConfigTest.java
@@ -18,7 +18,6 @@
****************************************************************/
package org.apache.cayenne.tools;
-import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
import org.junit.jupiter.api.BeforeAll;
@@ -27,6 +26,7 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.io.File;
+import java.nio.file.Files;
import java.nio.file.Path;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -44,11 +44,11 @@ public class CgenWithConfigTest {
private static File map;
@BeforeAll
- static void setUpClass() {
+ static void setUpClass() throws Exception {
baseDir = tempDir.toFile();
map = new File(baseDir, "antmap-cgen.xml");
- ResourceUtil.copyResourceToFile("cgenTest.map.xml", map);
+
Files.copy(CgenWithConfigTest.class.getResourceAsStream("/cgenTest.map.xml"),
map.toPath());
}
protected CayenneGeneratorTask task;
diff --git
a/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
b/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
index 2cb2cb633..8c59d5bc0 100644
--- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
+++ b/cayenne-ant/src/test/java/org/apache/cayenne/tools/DbImporterTaskTest.java
@@ -20,7 +20,6 @@ package org.apache.cayenne.tools;
import org.apache.cayenne.dbsync.reverse.dbimport.DbImportConfiguration;
import org.apache.cayenne.test.jdbc.SQLReader;
-import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.ProjectHelper;
import org.apache.tools.ant.UnknownElement;
@@ -33,6 +32,7 @@ import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
+import java.nio.file.Files;
import java.nio.file.Path;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -108,11 +108,11 @@ public class DbImporterTaskTest {
test("build-include-table.xml");
}
- private DbImporterTask getCdbImport(String buildFile) {
+ private DbImporterTask getCdbImport(String buildFile) throws IOException {
Project project = new Project();
File map = distDir(buildFile);
- ResourceUtil.copyResourceToFile(getPackagePath() + "/" + buildFile,
map);
+ Files.copy(getClass().getResourceAsStream("/" + getPackagePath() + "/"
+ buildFile), map.toPath());
ProjectHelper.configureProject(project, map);
UnknownElement task = (UnknownElement)
project.getTargets().get("dist").getTasks()[0];
@@ -131,8 +131,7 @@ public class DbImporterTaskTest {
URL mapUrlRes = this.getClass().getResource(mapFile.getName() +
"-result");
assertTrue(mapUrlRes != null && new File(mapUrlRes.toURI()).exists());
- assertTrue(ResourceUtil
- .copyResourceToFile(mapUrlRes, new
File(mapFile.getParentFile(), mapFile.getName() + "-result")));
+ Files.copy(mapUrlRes.openStream(), new File(mapFile.getParentFile(),
mapFile.getName() + "-result").toPath());
File mapFileCopy = distDir("copy-" + mapFile.getName());
@@ -183,7 +182,7 @@ public class DbImporterTaskTest {
private void prepareDatabase(String sqlFile, DbImportConfiguration
dbImportConfiguration) throws Exception {
- URL sqlUrl = ResourceUtil.getResource(getClass(), sqlFile + ".sql");
+ URL sqlUrl = getClass().getResource(sqlFile + ".sql");
assertNotNull(sqlUrl);
Class.forName(dbImportConfiguration.getDriver()).getDeclaredConstructor().newInstance();
diff --git
a/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
b/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
index ce798de98..8431ffd9f 100644
---
a/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
+++
b/cayenne-maven-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
@@ -23,7 +23,6 @@ import
org.apache.cayenne.dbsync.reverse.dbimport.DbImportConfiguration;
import org.apache.cayenne.dbsync.reverse.dbimport.IncludeTable;
import org.apache.cayenne.dbsync.reverse.dbimport.Schema;
import org.apache.cayenne.test.jdbc.SQLReader;
-import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.maven.api.plugin.testing.InjectMojo;
import org.apache.maven.api.plugin.testing.MojoTest;
import org.apache.maven.plugin.MojoExecutionException;
@@ -530,7 +529,7 @@ public class DbImporterMojoTest {
private void prepareDatabase(String sqlFile, DbImportDataSourceConfig
dataSource) throws Exception {
- URL sqlUrl =
Objects.requireNonNull(ResourceUtil.getResource(DbImporterMojoTest.class,
"dbimport/" + sqlFile + ".sql"));
+ URL sqlUrl =
Objects.requireNonNull(DbImporterMojoTest.class.getResource("dbimport/" +
sqlFile + ".sql"));
// TODO: refactor to common DB management code... E.g.
bootique-jdbc-test?