You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by mb...@apache.org on 2026/04/19 11:44:08 UTC
(db-jdo) 03/04: JDO-823. Standard outputs should not be used directly to log anything
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch JDO-823-3
in repository https://gitbox.apache.org/repos/asf/db-jdo.git
commit 3da1ec548ad8f6100379270a4bb3bb3ad969a5ac
Author: Michael Bouschen <Mi...@spree.de>
AuthorDate: Sun Apr 19 13:43:05 2026 +0200
JDO-823. Standard outputs should not be used directly to log anything
---
api/src/main/java/javax/jdo/Enhancer.java | 1 +
api/src/test/java/javax/jdo/EnhancerTest.java | 1 +
api/src/test/java/javax/jdo/util/XMLTestUtil.java | 1 +
.../main/java/org/apache/jdo/exectck/Enhance.java | 20 +++++------
.../src/main/java/org/apache/jdo/exectck/Help.java | 2 +-
.../java/org/apache/jdo/exectck/InstallSchema.java | 30 ++++++++--------
.../java/org/apache/jdo/exectck/PropertyUtils.java | 2 +-
.../main/java/org/apache/jdo/exectck/RunTCK.java | 41 +++++++++++-----------
.../java/org/apache/jdo/exectck/SQLFileLoader.java | 8 ++---
.../java/org/apache/jdo/exectck/Utilities.java | 15 ++++++++
10 files changed, 69 insertions(+), 52 deletions(-)
diff --git a/api/src/main/java/javax/jdo/Enhancer.java b/api/src/main/java/javax/jdo/Enhancer.java
index a9c2f10d..2589eb1b 100644
--- a/api/src/main/java/javax/jdo/Enhancer.java
+++ b/api/src/main/java/javax/jdo/Enhancer.java
@@ -457,6 +457,7 @@ public class Enhancer {
*
* @param exitValue the process exit value
*/
+ @SuppressWarnings("java:S106") // Standard outputs should not be used directly to log anything
private void exit(int exitValue) {
System.out.print(verboseBuffer.toString());
System.err.print(errorBuffer.toString());
diff --git a/api/src/test/java/javax/jdo/EnhancerTest.java b/api/src/test/java/javax/jdo/EnhancerTest.java
index 4e90f416..36a3a34d 100644
--- a/api/src/test/java/javax/jdo/EnhancerTest.java
+++ b/api/src/test/java/javax/jdo/EnhancerTest.java
@@ -436,6 +436,7 @@ class EnhancerTest extends AbstractTest {
+ errorString);
}
+ @SuppressWarnings("java:S106") // Standard outputs should not be used directly to log anything
private InvocationResult invokeEnhancer(String string) {
InvocationResult result = new InvocationResult();
try {
diff --git a/api/src/test/java/javax/jdo/util/XMLTestUtil.java b/api/src/test/java/javax/jdo/util/XMLTestUtil.java
index a1718a7e..ed68fd35 100644
--- a/api/src/test/java/javax/jdo/util/XMLTestUtil.java
+++ b/api/src/test/java/javax/jdo/util/XMLTestUtil.java
@@ -505,6 +505,7 @@ public class XMLTestUtil {
}
/** Command line tool to test JDO metadata files. Usage: XMLTestUtil [-r] <file or directory>+ */
+ @SuppressWarnings("java:S106") // Standard outputs should not be used directly to log anything
public static void main(String[] args) {
String[] fromProp = checkMetadataSystemProperty();
boolean recursive = Boolean.getBoolean(RECURSIVE_PROP);
diff --git a/exectck/src/main/java/org/apache/jdo/exectck/Enhance.java b/exectck/src/main/java/org/apache/jdo/exectck/Enhance.java
index e5611a6e..12929ac7 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/Enhance.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/Enhance.java
@@ -100,7 +100,7 @@ public class Enhance extends AbstractTCKMojo {
public void execute() throws MojoExecutionException, MojoFailureException {
if (!doEnhance) {
- System.out.println("Skipping Enhance goal!");
+ Utilities.println("Skipping Enhance goal!");
return;
}
@@ -162,18 +162,18 @@ public class Enhance extends AbstractTCKMojo {
Thread.currentThread().setContextClassLoader(loggingPropsCl);
}
if (runtckVerbose) {
- System.out.println("ClassLoader ContextClassLoader:");
+ Utilities.println("ClassLoader ContextClassLoader:");
Utilities.printClasspath(Thread.currentThread().getContextClassLoader());
}
- System.out.println("Get enhancer");
+ Utilities.println("Get enhancer");
JDOEnhancer enhancer = JDOHelper.getEnhancer(enhancerLoader);
- System.out.println("enhancer.setVerbose()");
+ Utilities.println("enhancer.setVerbose()");
enhancer.setVerbose(true);
- System.out.println("enhancer.setClassLoader()");
+ Utilities.println("enhancer.setClassLoader()");
enhancer.setClassLoader(enhancerLoader);
String[] classArr = classes.toArray(new String[0]);
enhancer.addClasses(classArr);
- System.out.println("Enhancing classes for identity type " + idtype);
+ Utilities.println("Enhancing classes for identity type " + idtype);
// enhancer needs org/apache/jdo/tck/util/DeepEquality
enhancer.enhance();
Thread.currentThread().setContextClassLoader(prevCl);
@@ -185,7 +185,7 @@ public class Enhance extends AbstractTCKMojo {
// Move log to per-test location
moveLogs(idtype);
}
- System.out.println();
+ Utilities.println();
}
private void copyMetadata(
@@ -280,7 +280,7 @@ public class Enhance extends AbstractTCKMojo {
enhancerLoader =
new URLClassLoader(cpList1.toArray(classPathURLs1), getClass().getClassLoader());
if (runtckVerbose) {
- System.out.println("ClassLoader enhancerLoader:");
+ Utilities.println("ClassLoader enhancerLoader:");
Utilities.printClasspath(enhancerLoader);
}
} catch (MalformedURLException ex) {
@@ -319,7 +319,7 @@ public class Enhance extends AbstractTCKMojo {
+ "-"
+ impl
+ ".txt";
- System.out.println("testLogFilename is " + testLogFilename);
+ Utilities.println("testLogFilename is " + testLogFilename);
try {
File logFile = new File(implLogFile);
File testLogFile = new File(testLogFilename);
@@ -328,7 +328,7 @@ public class Enhance extends AbstractTCKMojo {
FileUtils.write(logFile, "", Charset.defaultCharset());
FileUtils.forceDeleteOnExit(logFile);
} catch (Exception e) {
- System.out.println(">> Error moving implementation log file: " + e.getMessage());
+ Utilities.println(">> Error moving implementation log file: " + e.getMessage());
}
}
}
diff --git a/exectck/src/main/java/org/apache/jdo/exectck/Help.java b/exectck/src/main/java/org/apache/jdo/exectck/Help.java
index 492df883..59367986 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/Help.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/Help.java
@@ -133,6 +133,6 @@ public class Help extends AbstractMojo {
msg.append(" mvn integration-test -D jdo.tck.impl=\"iut\"\n");
msg.append("\n END EXECTCK HELP INFORMATION\n");
- System.out.println(msg.toString());
+ Utilities.println(msg.toString());
}
}
diff --git a/exectck/src/main/java/org/apache/jdo/exectck/InstallSchema.java b/exectck/src/main/java/org/apache/jdo/exectck/InstallSchema.java
index a0c718e7..3f79337a 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/InstallSchema.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/InstallSchema.java
@@ -45,13 +45,13 @@ public class InstallSchema extends AbstractTCKMojo {
public void execute() throws MojoExecutionException {
if (!doInstallSchema) {
- System.out.println("Skipping InstallSchema goal!");
+ Utilities.println("Skipping InstallSchema goal!");
return;
}
if (cfgs == null) {
if (cfgList != null) {
- System.out.println("cfgList is " + cfgList);
+ Utilities.println("cfgList is " + cfgList);
cfgs = new HashSet<String>();
PropertyUtils.string2Collection(cfgList, cfgs);
} else {
@@ -73,7 +73,7 @@ public class InstallSchema extends AbstractTCKMojo {
PropertyUtils.string2Collection(dblist, dbs);
PropertyUtils.string2Collection(identitytypes, idtypes);
PropertyUtils.mappingsSet(cfgs, confDirectory, mappings);
- System.out.println(
+ Utilities.println(
"*>Schemas to be installed for \n configurations: "
+ cfgs.toString()
+ "\n databases: "
@@ -121,7 +121,7 @@ public class InstallSchema extends AbstractTCKMojo {
// Create database
for (String idtype : idtypes) {
for (String mapping : mappings) {
- System.out.print(
+ Utilities.print(
"*> Installing schema" + mapping + ".sql for " + db + " " + idtype + " ... ");
String outFileName =
@@ -151,21 +151,21 @@ public class InstallSchema extends AbstractTCKMojo {
loadSQLFileUsingJDBC(db, dbDirName, sqlFileName, outFileName);
} catch (Exception ex) {
success = false;
- System.out.println("FAILED!");
+ Utilities.println("FAILED!");
ex.printStackTrace();
- System.out.println("*> Classpath is ");
+ Utilities.println("*> Classpath is ");
Utilities.printClasspath();
- System.out.println(
+ Utilities.println(
"*> jdo.tck.basedir is \n " + System.getProperty("jdo.tck.basedir"));
- System.out.println(
+ Utilities.println(
"*> java.security.manager is \n " + System.getProperty("java.security.manager"));
- System.out.println(
+ Utilities.println(
"*> java.security.policy is \n " + System.getProperty("java.security.policy"));
- System.out.println("*> dbDirName is \n " + dbDirName);
- System.out.println("*> outFileName is \n " + outFileName);
+ Utilities.println("*> dbDirName is \n " + dbDirName);
+ Utilities.println("*> outFileName is \n " + outFileName);
} finally {
if (success) {
- System.out.println("done");
+ Utilities.println("done");
}
}
}
@@ -173,8 +173,8 @@ public class InstallSchema extends AbstractTCKMojo {
finalizeDB(db, dbDirName);
- System.out.println("*> See diagnostic output in " + dbLogsDir + ".");
- System.out.println();
+ Utilities.println("*> See diagnostic output in " + dbLogsDir + ".");
+ Utilities.println();
}
}
@@ -217,7 +217,7 @@ public class InstallSchema extends AbstractTCKMojo {
System.setProperty("ij.outfile", outFileName);
org.apache.derby.tools.ij.main(args);
} catch (IOException ioex) {
- System.out.println("FAILED!");
+ Utilities.println("FAILED!");
throw new MojoExecutionException("*> Failed to execute ij: " + ioex.getLocalizedMessage());
}
}
diff --git a/exectck/src/main/java/org/apache/jdo/exectck/PropertyUtils.java b/exectck/src/main/java/org/apache/jdo/exectck/PropertyUtils.java
index 53a776a7..535515ec 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/PropertyUtils.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/PropertyUtils.java
@@ -57,7 +57,7 @@ public class PropertyUtils {
String confName = confDir + File.separator + cfg;
if (!new File(confName).exists()) {
// Conf file nor found => continue
- System.out.println("ERROR: Configuration file " + confName + " not found.");
+ Utilities.println("ERROR: Configuration file " + confName + " not found.");
continue;
}
diff --git a/exectck/src/main/java/org/apache/jdo/exectck/RunTCK.java b/exectck/src/main/java/org/apache/jdo/exectck/RunTCK.java
index 6b763e4f..50b7467a 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/RunTCK.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/RunTCK.java
@@ -40,7 +40,6 @@ import org.apache.maven.plugins.annotations.Parameter;
* test (IUT).
*/
@Mojo(name = "runtck")
-@SuppressWarnings("java:S106") // Standard outputs should not be used directly to log anything
public class RunTCK extends AbstractTCKMojo {
private static final String TCK_PARAM_ON_FAILURE_FAIL_FAST = "failFast"; // NOI18N
@@ -188,7 +187,7 @@ public class RunTCK extends AbstractTCKMojo {
@Override
public void execute() throws MojoExecutionException {
if (!doRunTCK) {
- System.out.println("Skipping RunTCK goal!");
+ Utilities.println("Skipping RunTCK goal!");
return;
}
@@ -258,7 +257,7 @@ public class RunTCK extends AbstractTCKMojo {
String confFileName = confDirectory + FS + cfg;
if (!new File(confFileName).exists()) {
// Conf file nor found => continue
- System.out.println("ERROR: Configuration file " + confFileName + " not found.");
+ Utilities.println("ERROR: Configuration file " + confFileName + " not found.");
continue;
}
Properties props = PropertyUtils.getProperties(confDirectory + FS + cfg);
@@ -268,7 +267,7 @@ public class RunTCK extends AbstractTCKMojo {
}
List<String> classesList = getTestClasses(props, cfg, excludeFile);
if (classesList.isEmpty()) {
- System.out.println("Skipping configuration " + cfg + ": classes excluded");
+ Utilities.println("Skipping configuration " + cfg + ": classes excluded");
continue;
}
@@ -344,7 +343,7 @@ public class RunTCK extends AbstractTCKMojo {
PropertyUtils.string2Collection(dblist, dbs);
PropertyUtils.string2Collection(identitytypes, idtypes);
- System.out.println(
+ Utilities.println(
"*>TCK to be run for implementation '"
+ impl
+ "' on \n"
@@ -358,7 +357,7 @@ public class RunTCK extends AbstractTCKMojo {
+ identitytypes);
// Properties required for test execution
- System.out.println("cleanupaftertest is " + cleanupaftertest);
+ Utilities.println("cleanupaftertest is " + cleanupaftertest);
List<String> propsString = new ArrayList<>();
propsString.add("-Dverbose=" + verbose);
@@ -409,7 +408,7 @@ public class RunTCK extends AbstractTCKMojo {
URL url1 = enhancedDir.toURI().toURL();
URL url2 = new File(buildDirectory + FS + CLASSES_DIR_NAME + FS).toURI().toURL();
if (runtckVerbose) {
- System.out.println("url2 is " + url2.toString());
+ Utilities.println("url2 is " + url2.toString());
}
cpList.add(url1);
cpList.add(url2);
@@ -427,7 +426,7 @@ public class RunTCK extends AbstractTCKMojo {
}
cpString = Utilities.urls2ClasspathString(cpList);
if (runtckVerbose) {
- System.out.println("\nClasspath is " + cpString);
+ Utilities.println("\nClasspath is " + cpString);
}
return cpString;
}
@@ -579,11 +578,11 @@ public class RunTCK extends AbstractTCKMojo {
}
if (debugTCK) {
- System.out.println("Using debug arguments: \n" + debugDirectives);
+ Utilities.println("Using debug arguments: \n" + debugDirectives);
}
// invoke class runner
- System.out.print(
+ Utilities.print(
"*> Running tests for "
+ cfg
+ " with "
@@ -600,17 +599,17 @@ public class RunTCK extends AbstractTCKMojo {
try {
resultValue = Utilities.invokeCommand(command, new File(buildDirectory), junitLogFilename);
if (resultValue == 0) {
- System.out.println("success");
+ Utilities.println("success");
} else {
- System.out.println("FAIL");
+ Utilities.println("FAIL");
}
if (runtckVerbose) {
- System.out.println("\nCommand line is: \n" + command.toString());
- System.out.println("Test exit value is " + resultValue);
- System.out.println("Test result output:\n" + fileToString(junitLogFilename));
+ Utilities.println("\nCommand line is: \n" + command.toString());
+ Utilities.println("Test exit value is " + resultValue);
+ Utilities.println("Test result output:\n" + fileToString(junitLogFilename));
}
} catch (java.lang.RuntimeException re) {
- System.out.println("Exception on command " + command);
+ Utilities.println("Exception on command " + command);
}
return resultValue;
}
@@ -627,14 +626,14 @@ public class RunTCK extends AbstractTCKMojo {
File logFile = new File(implLogFile);
FileUtils.moveFile(logFile, new File(testLogFilename));
} catch (Exception e) {
- System.out.println(">> Error moving implementation log file: " + e.getMessage());
+ Utilities.println(">> Error moving implementation log file: " + e.getMessage());
}
String tckLogFilename = logFilePrefix + TCK_LOG_FILE;
try {
File logFile = new File(tckLogFile);
FileUtils.moveFile(logFile, new File(tckLogFilename));
} catch (Exception e) {
- System.out.println(">> Error moving tck log file: " + e.getMessage());
+ Utilities.println(">> Error moving tck log file: " + e.getMessage());
}
}
@@ -655,12 +654,12 @@ public class RunTCK extends AbstractTCKMojo {
try {
FileUtils.forceDeleteOnExit(new File(implLogFile));
} catch (Exception e) {
- System.out.println(">> Error deleting log file: " + e.getMessage());
+ Utilities.println(">> Error deleting log file: " + e.getMessage());
}
try {
FileUtils.forceDeleteOnExit(new File(TCK_LOG_FILE));
} catch (Exception e) {
- System.out.println(">> Error deleting log file: " + e.getMessage());
+ Utilities.println(">> Error deleting log file: " + e.getMessage());
}
// Output results
@@ -672,7 +671,7 @@ public class RunTCK extends AbstractTCKMojo {
command.add("org.apache.jdo.tck.util.ResultSummary");
command.add(logDir);
Utilities.invokeCommand(command, new File(buildDirectory), resultSummaryLogFile);
- System.out.println(fileToString(resultSummaryLogFile));
+ Utilities.println(fileToString(resultSummaryLogFile));
// Create system configuration description file
command.set(3, "org.apache.jdo.tck.util.SystemCfgSummary");
diff --git a/exectck/src/main/java/org/apache/jdo/exectck/SQLFileLoader.java b/exectck/src/main/java/org/apache/jdo/exectck/SQLFileLoader.java
index bad13349..33dc3827 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/SQLFileLoader.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/SQLFileLoader.java
@@ -348,10 +348,10 @@ public class SQLFileLoader {
try {
SQLFileLoader loader = new SQLFileLoader(arg);
List<String> stmts = loader.getStatements();
- System.out.println(loader.getConnect());
- System.out.println(loader.getUser());
- System.out.println(loader.getPassword());
- stmts.forEach(System.out::println);
+ Utilities.println(loader.getConnect());
+ Utilities.println(loader.getUser());
+ Utilities.println(loader.getPassword());
+ stmts.forEach(Utilities::println);
} catch (IOException ex) {
System.err.println(ex);
}
diff --git a/exectck/src/main/java/org/apache/jdo/exectck/Utilities.java b/exectck/src/main/java/org/apache/jdo/exectck/Utilities.java
index 1aac2bf4..ee40d2b4 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/Utilities.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/Utilities.java
@@ -132,4 +132,19 @@ public class Utilities {
return 1;
}
}
+
+ @SuppressWarnings("java:S106") // Standard outputs should not be used directly to log anything
+ public static void print(String s) {
+ System.out.print(s);
+ }
+
+ @SuppressWarnings("java:S106") // Standard outputs should not be used directly to log anything
+ public static void println(String s) {
+ System.out.println(s);
+ }
+
+ @SuppressWarnings("java:S106") // Standard outputs should not be used directly to log anything
+ public static void println() {
+ System.out.println();
+ }
}