You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2024/06/03 12:00:47 UTC

(commons-lang) branch master updated (9e9d29375 -> 45a955702)

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

ggregory pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git


    from 9e9d29375 Null check is redundant for rare case
     new 0d1c8b3e8 Use simple class names instead of magix strings
     new 696d2f505 Use simple class names instead of magix strings
     new 80e075989 Sort lines
     new 2dc243def Use simple class names instead of magix strings
     new c0dc0cfba Sort lines
     new 45a955702 Remove duplicate static data in SerializationUtils.ClassLoaderAwareObjectInputStream

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/changes/changes.xml                            |  1 +
 .../java/org/apache/commons/lang3/ClassUtils.java  | 30 ++++++++++++++--------
 .../apache/commons/lang3/SerializationUtils.java   | 19 +-------------
 3 files changed, 22 insertions(+), 28 deletions(-)


(commons-lang) 01/06: Use simple class names instead of magix strings

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 0d1c8b3e807951a80ee55f8a8f4c1d3ac52cef4b
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 3 07:41:05 2024 -0400

    Use simple class names instead of magix strings
---
 src/main/java/org/apache/commons/lang3/ClassUtils.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/commons/lang3/ClassUtils.java b/src/main/java/org/apache/commons/lang3/ClassUtils.java
index 58a2fd04d..981867196 100644
--- a/src/main/java/org/apache/commons/lang3/ClassUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ClassUtils.java
@@ -92,7 +92,7 @@ public class ClassUtils {
     private static final Map<String, Class<?>> namePrimitiveMap = new HashMap<>();
 
     static {
-        namePrimitiveMap.put("boolean", Boolean.TYPE);
+        namePrimitiveMap.put(Boolean.TYPE.getSimpleName(), Boolean.TYPE);
         namePrimitiveMap.put("byte", Byte.TYPE);
         namePrimitiveMap.put("char", Character.TYPE);
         namePrimitiveMap.put("short", Short.TYPE);


(commons-lang) 06/06: Remove duplicate static data in SerializationUtils.ClassLoaderAwareObjectInputStream

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 45a955702a06d817aa18007a9b099c37ee2ec20a
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 3 08:00:42 2024 -0400

    Remove duplicate static data in
    SerializationUtils.ClassLoaderAwareObjectInputStream
---
 src/changes/changes.xml                               |  1 +
 .../java/org/apache/commons/lang3/ClassUtils.java     | 12 +++++++++++-
 .../org/apache/commons/lang3/SerializationUtils.java  | 19 +------------------
 3 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9d4e1ff0f..05c1ba1f5 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -140,6 +140,7 @@ The <action> type attribute can be add,update,fix,remove.
     <action                   type="fix" dev="ggregory" due-to="Gary Gregory">StringUtils.stripAccents(String) doesn't handle T with stroke.</action> 
     <action issue="LANG-1735" type="fix" dev="ggregory" due-to="Tobias Kiecker">Fix Javadoc for FluentBitSet.setInclusive(int, int) #1222.</action>
     <action                   type="fix" dev="ggregory" due-to="Tobias Kiecker">Same Javadoc changes as [TEXT-234] #1223.</action>  
+    <action                   type="fix" dev="ggregory" due-to="Gary Gregory">Remove duplicate static data in SerializationUtils.ClassLoaderAwareObjectInputStream.</action> 
     <!-- UPDATE -->
     <action                   type="update" dev="sebb" due-to="Dependabot, Gary Gregory">Bump commons-parent from 64 to 70 #1194.</action>
     <action                   type="update" dev="ggregory" due-to="Dependabot">Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.3.0 #1175, #1224.</action>
diff --git a/src/main/java/org/apache/commons/lang3/ClassUtils.java b/src/main/java/org/apache/commons/lang3/ClassUtils.java
index 60b4d76a3..c1fc66234 100644
--- a/src/main/java/org/apache/commons/lang3/ClassUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ClassUtils.java
@@ -528,7 +528,7 @@ public class ClassUtils {
      */
     public static Class<?> getClass(final ClassLoader classLoader, final String className, final boolean initialize) throws ClassNotFoundException {
         try {
-            final Class<?> clazz = namePrimitiveMap.get(className);
+            final Class<?> clazz = getPrimitiveClass(className);
             return clazz != null ? clazz : Class.forName(toCanonicalName(className), initialize, classLoader);
         } catch (final ClassNotFoundException ex) {
             // allow path separators (.) as inner class name separators
@@ -750,6 +750,16 @@ public class ClassUtils {
         return className.substring(0, i);
     }
 
+    /**
+     * Gets the primitive class for the given class name, for example "byte".
+     *
+     * @param className the primitive class for the given class name.
+     * @return the primitive class.
+     */
+    static Class<?> getPrimitiveClass(final String className) {
+        return namePrimitiveMap.get(className);
+    }
+
     /**
      * Returns the desired Method much like {@code Class.getMethod}, however it ensures that the returned Method is from a
      * public class or interface and not from an anonymous inner class. This means that the Method is invokable and doesn't
diff --git a/src/main/java/org/apache/commons/lang3/SerializationUtils.java b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
index 92829305c..3185edfe4 100644
--- a/src/main/java/org/apache/commons/lang3/SerializationUtils.java
+++ b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
@@ -25,8 +25,6 @@ import java.io.ObjectOutputStream;
 import java.io.ObjectStreamClass;
 import java.io.OutputStream;
 import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -61,21 +59,6 @@ public class SerializationUtils {
      * class here is a workaround, see the JIRA issue LANG-626.</p>
      */
      static final class ClassLoaderAwareObjectInputStream extends ObjectInputStream {
-        // Note: This is final to avoid Spotbugs CT_CONSTRUCTOR_THROW
-        private static final Map<String, Class<?>> primitiveTypes =
-                new HashMap<>();
-
-        static {
-            primitiveTypes.put(boolean.class.getSimpleName(), boolean.class);
-            primitiveTypes.put(byte.class.getSimpleName(), byte.class);
-            primitiveTypes.put(char.class.getSimpleName(), char.class);
-            primitiveTypes.put(double.class.getSimpleName(), double.class);
-            primitiveTypes.put(float.class.getSimpleName(), float.class);
-            primitiveTypes.put(int.class.getSimpleName(), int.class);
-            primitiveTypes.put(long.class.getSimpleName(), long.class);
-            primitiveTypes.put(short.class.getSimpleName(), short.class);
-            primitiveTypes.put(void.class.getSimpleName(), void.class);
-        }
 
         private final ClassLoader classLoader;
 
@@ -108,7 +91,7 @@ public class SerializationUtils {
                 try {
                     return Class.forName(name, false, Thread.currentThread().getContextClassLoader());
                 } catch (final ClassNotFoundException cnfe) {
-                    final Class<?> cls = primitiveTypes.get(name);
+                    final Class<?> cls = ClassUtils.getPrimitiveClass(name);
                     if (cls != null) {
                         return cls;
                     }


(commons-lang) 02/06: Use simple class names instead of magix strings

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 696d2f50518b26663bb44caceeb8c79e4b21d2b7
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 3 07:42:44 2024 -0400

    Use simple class names instead of magix strings
---
 src/main/java/org/apache/commons/lang3/ClassUtils.java | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/ClassUtils.java b/src/main/java/org/apache/commons/lang3/ClassUtils.java
index 981867196..744ec457f 100644
--- a/src/main/java/org/apache/commons/lang3/ClassUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ClassUtils.java
@@ -93,14 +93,14 @@ public class ClassUtils {
 
     static {
         namePrimitiveMap.put(Boolean.TYPE.getSimpleName(), Boolean.TYPE);
-        namePrimitiveMap.put("byte", Byte.TYPE);
-        namePrimitiveMap.put("char", Character.TYPE);
-        namePrimitiveMap.put("short", Short.TYPE);
-        namePrimitiveMap.put("int", Integer.TYPE);
-        namePrimitiveMap.put("long", Long.TYPE);
-        namePrimitiveMap.put("double", Double.TYPE);
-        namePrimitiveMap.put("float", Float.TYPE);
-        namePrimitiveMap.put("void", Void.TYPE);
+        namePrimitiveMap.put(Byte.TYPE.getSimpleName(), Byte.TYPE);
+        namePrimitiveMap.put(Character.TYPE.getSimpleName(), Character.TYPE);
+        namePrimitiveMap.put(Short.TYPE.getSimpleName(), Short.TYPE);
+        namePrimitiveMap.put(Integer.TYPE.getSimpleName(), Integer.TYPE);
+        namePrimitiveMap.put(Long.TYPE.getSimpleName(), Long.TYPE);
+        namePrimitiveMap.put(Double.TYPE.getSimpleName(), Double.TYPE);
+        namePrimitiveMap.put(Float.TYPE.getSimpleName(), Float.TYPE);
+        namePrimitiveMap.put(Void.TYPE.getSimpleName(), Void.TYPE);
     }
 
     /**


(commons-lang) 03/06: Sort lines

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 80e075989a820519479d9cee7bed52d7fddae638
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 3 07:43:21 2024 -0400

    Sort lines
---
 src/main/java/org/apache/commons/lang3/ClassUtils.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/ClassUtils.java b/src/main/java/org/apache/commons/lang3/ClassUtils.java
index 744ec457f..60b4d76a3 100644
--- a/src/main/java/org/apache/commons/lang3/ClassUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ClassUtils.java
@@ -95,11 +95,11 @@ public class ClassUtils {
         namePrimitiveMap.put(Boolean.TYPE.getSimpleName(), Boolean.TYPE);
         namePrimitiveMap.put(Byte.TYPE.getSimpleName(), Byte.TYPE);
         namePrimitiveMap.put(Character.TYPE.getSimpleName(), Character.TYPE);
-        namePrimitiveMap.put(Short.TYPE.getSimpleName(), Short.TYPE);
-        namePrimitiveMap.put(Integer.TYPE.getSimpleName(), Integer.TYPE);
-        namePrimitiveMap.put(Long.TYPE.getSimpleName(), Long.TYPE);
         namePrimitiveMap.put(Double.TYPE.getSimpleName(), Double.TYPE);
         namePrimitiveMap.put(Float.TYPE.getSimpleName(), Float.TYPE);
+        namePrimitiveMap.put(Integer.TYPE.getSimpleName(), Integer.TYPE);
+        namePrimitiveMap.put(Long.TYPE.getSimpleName(), Long.TYPE);
+        namePrimitiveMap.put(Short.TYPE.getSimpleName(), Short.TYPE);
         namePrimitiveMap.put(Void.TYPE.getSimpleName(), Void.TYPE);
     }
 


(commons-lang) 04/06: Use simple class names instead of magix strings

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit 2dc243def09b49bc67aefdf05724ddc3e1d008b9
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 3 07:43:36 2024 -0400

    Use simple class names instead of magix strings
---
 .../org/apache/commons/lang3/SerializationUtils.java   | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/SerializationUtils.java b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
index e48cfd148..177430072 100644
--- a/src/main/java/org/apache/commons/lang3/SerializationUtils.java
+++ b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
@@ -66,15 +66,15 @@ public class SerializationUtils {
                 new HashMap<>();
 
         static {
-            primitiveTypes.put("byte", byte.class);
-            primitiveTypes.put("short", short.class);
-            primitiveTypes.put("int", int.class);
-            primitiveTypes.put("long", long.class);
-            primitiveTypes.put("float", float.class);
-            primitiveTypes.put("double", double.class);
-            primitiveTypes.put("boolean", boolean.class);
-            primitiveTypes.put("char", char.class);
-            primitiveTypes.put("void", void.class);
+            primitiveTypes.put(byte.class.getSimpleName(), byte.class);
+            primitiveTypes.put(short.class.getSimpleName(), short.class);
+            primitiveTypes.put(int.class.getSimpleName(), int.class);
+            primitiveTypes.put(long.class.getSimpleName(), long.class);
+            primitiveTypes.put(float.class.getSimpleName(), float.class);
+            primitiveTypes.put(double.class.getSimpleName(), double.class);
+            primitiveTypes.put(boolean.class.getSimpleName(), boolean.class);
+            primitiveTypes.put(char.class.getSimpleName(), char.class);
+            primitiveTypes.put(void.class.getSimpleName(), void.class);
         }
 
         private final ClassLoader classLoader;


(commons-lang) 05/06: Sort lines

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git

commit c0dc0cfbae9af0cc632d243f4d3791f75672acb8
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 3 07:44:08 2024 -0400

    Sort lines
---
 src/main/java/org/apache/commons/lang3/SerializationUtils.java | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/apache/commons/lang3/SerializationUtils.java b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
index 177430072..92829305c 100644
--- a/src/main/java/org/apache/commons/lang3/SerializationUtils.java
+++ b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
@@ -66,14 +66,14 @@ public class SerializationUtils {
                 new HashMap<>();
 
         static {
+            primitiveTypes.put(boolean.class.getSimpleName(), boolean.class);
             primitiveTypes.put(byte.class.getSimpleName(), byte.class);
-            primitiveTypes.put(short.class.getSimpleName(), short.class);
+            primitiveTypes.put(char.class.getSimpleName(), char.class);
+            primitiveTypes.put(double.class.getSimpleName(), double.class);
+            primitiveTypes.put(float.class.getSimpleName(), float.class);
             primitiveTypes.put(int.class.getSimpleName(), int.class);
             primitiveTypes.put(long.class.getSimpleName(), long.class);
-            primitiveTypes.put(float.class.getSimpleName(), float.class);
-            primitiveTypes.put(double.class.getSimpleName(), double.class);
-            primitiveTypes.put(boolean.class.getSimpleName(), boolean.class);
-            primitiveTypes.put(char.class.getSimpleName(), char.class);
+            primitiveTypes.put(short.class.getSimpleName(), short.class);
             primitiveTypes.put(void.class.getSimpleName(), void.class);
         }