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 2023/01/29 19:21:54 UTC

[db-jdo] 02/03: JDO-823: Synchronized classes StringBuffer and Hashtable should not be used

This is an automated email from the ASF dual-hosted git repository.

mbo pushed a commit to branch JDO-823-3
in repository https://gitbox.apache.org/repos/asf/db-jdo.git

commit d500fdaae97aa5f0cdd64f89563a65e889948d0b
Author: Michael Bouschen <Mi...@akquinet.de>
AuthorDate: Sun Jan 29 19:55:33 2023 +0100

    JDO-823: Synchronized classes StringBuffer and Hashtable should not be used
---
 api/src/main/java/javax/jdo/JDOException.java               | 2 +-
 api/src/main/java/javax/jdo/spi/I18NHelper.java             | 7 ++++---
 exectck/src/main/java/org/apache/jdo/exectck/Help.java      | 2 +-
 exectck/src/main/java/org/apache/jdo/exectck/RunTCK.java    | 2 +-
 exectck/src/main/java/org/apache/jdo/exectck/Utilities.java | 2 +-
 5 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/api/src/main/java/javax/jdo/JDOException.java b/api/src/main/java/javax/jdo/JDOException.java
index ffdd51ad..50e03c61 100644
--- a/api/src/main/java/javax/jdo/JDOException.java
+++ b/api/src/main/java/javax/jdo/JDOException.java
@@ -195,7 +195,7 @@ public class JDOException extends java.lang.RuntimeException {
   public synchronized String toString() {
     int len = nested == null ? 0 : nested.length;
     // calculate approximate size of the String to return
-    StringBuffer sb = new StringBuffer(10 + 100 * len);
+    StringBuilder sb = new StringBuilder(10 + 100 * len);
     sb.append(super.toString());
     // include failed object information
     if (failed != null) {
diff --git a/api/src/main/java/javax/jdo/spi/I18NHelper.java b/api/src/main/java/javax/jdo/spi/I18NHelper.java
index fa3ce235..11eff215 100644
--- a/api/src/main/java/javax/jdo/spi/I18NHelper.java
+++ b/api/src/main/java/javax/jdo/spi/I18NHelper.java
@@ -20,7 +20,8 @@ package javax.jdo.spi;
 import java.lang.reflect.InvocationTargetException;
 import java.security.PrivilegedAction;
 import java.text.MessageFormat;
-import java.util.Hashtable;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Locale;
 import java.util.ResourceBundle;
 import javax.jdo.JDOFatalInternalException;
@@ -50,10 +51,10 @@ import javax.jdo.LegacyJava;
 public class I18NHelper {
 
   /** Bundles that have already been loaded */
-  private static final Hashtable<String, ResourceBundle> bundles = new Hashtable<>();
+  private static final Map<String, ResourceBundle> bundles = new HashMap<>();
 
   /** Helper instances that have already been created */
-  private static final Hashtable<String, I18NHelper> helpers = new Hashtable<>();
+  private static final Map<String, I18NHelper> helpers = new HashMap<>();
 
   /** The default locale for this VM. */
   private static final Locale locale = Locale.getDefault();
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 88298b77..8a3abda2 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/Help.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/Help.java
@@ -29,7 +29,7 @@ public class Help extends AbstractMojo {
   @Override
   public void execute() throws MojoExecutionException, MojoFailureException {
 
-    StringBuffer msg = new StringBuffer();
+    StringBuilder msg = new StringBuilder();
 
     msg.append("\n\n*** jdo-exectck Maven plugin ***\n\n");
     msg.append("This plugin executes the JDO Technology Compatibility Kit (TCK)\n");
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 beb8dfa1..a24bd431 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/RunTCK.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/RunTCK.java
@@ -383,7 +383,7 @@ public class RunTCK extends AbstractTCKMojo {
           runonce = (runonce == null) ? "false" : runonce;
 
           // Add Mapping and schemaname to properties file
-          StringBuffer propsFileData = new StringBuffer();
+          StringBuilder propsFileData = new StringBuilder();
           propsFileData.append("\n### Properties below added by maven 2 goal RunTCK.jdori");
           propsFileData.append("\njavax.jdo.mapping.Schema=" + idtype + mapping);
           mapping = (mapping.equals("0")) ? "" : mapping;
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 6e0a49de..1d39c4c2 100644
--- a/exectck/src/main/java/org/apache/jdo/exectck/Utilities.java
+++ b/exectck/src/main/java/org/apache/jdo/exectck/Utilities.java
@@ -95,7 +95,7 @@ public class Utilities {
   static String readFile(String fileName) throws IOException {
     BufferedReader reader = new BufferedReader(new FileReader(fileName));
     String line = null;
-    StringBuffer stringBuf = new StringBuffer();
+    StringBuilder stringBuf = new StringBuilder();
     String ls = System.getProperty("line.separator");
     while ((line = reader.readLine()) != null) {
       stringBuf.append(line);