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

ntimofeev pushed a commit to branch STABLE-4.2
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.2 by this push:
     new 0a6b6d11f Make effectively static list actually static
0a6b6d11f is described below

commit 0a6b6d11f833ffb45e4808b4585c8fe3705cca36
Author: Nikita Timofeev <stari...@gmail.com>
AuthorDate: Tue Apr 15 12:00:39 2025 +0400

    Make effectively static list actually static
---
 .../apache/cayenne/modeler/util/ModelerUtil.java   | 101 +++++++++++----------
 1 file changed, 52 insertions(+), 49 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
index 47c2c80f2..dacecaad5 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
@@ -63,6 +63,57 @@ import org.apache.cayenne.value.Wkt;
  */
 public final class ModelerUtil {
 
+    static final String[] REGISTERED_TYPE_NAMES;
+    static {
+        String[] nonPrimitivesNames = {
+                String.class.getName(),
+                BigDecimal.class.getName(),
+                BigInteger.class.getName(),
+                Boolean.class.getName(),
+                Byte.class.getName(),
+                Character.class.getName(),
+                Date.class.getName(),
+                java.util.Date.class.getName(),
+                Double.class.getName(),
+                Float.class.getName(),
+                Integer.class.getName(),
+                Long.class.getName(),
+                Short.class.getName(),
+                Time.class.getName(),
+                Timestamp.class.getName(),
+                GregorianCalendar.class.getName(),
+                Calendar.class.getName(),
+                UUID.class.getName(),
+                Serializable.class.getName(),
+                Json.class.getName(),
+                Wkt.class.getName(),
+                GeoJson.class.getName(),
+                "java.lang.Character[]",
+                "java.lang.Byte[]",
+                "java.time.LocalDate",
+                "java.time.LocalTime",
+                "java.time.LocalDateTime",
+                "java.time.Duration",
+                "java.time.Period"
+        };
+        Arrays.sort(nonPrimitivesNames);
+
+        String[] primitivesNames = {
+                "boolean", "byte", "byte[]", "char", "char[]", "double", 
"float", "int", "long", "short"
+        };
+
+        REGISTERED_TYPE_NAMES = new String[primitivesNames.length + 
nonPrimitivesNames.length + 1];
+
+        REGISTERED_TYPE_NAMES[0] = "";
+        System.arraycopy(primitivesNames, 0, REGISTERED_TYPE_NAMES, 1, 
primitivesNames.length);
+        System.arraycopy(
+                nonPrimitivesNames,
+                0,
+                REGISTERED_TYPE_NAMES,
+                primitivesNames.length + 1,
+                nonPrimitivesNames.length);
+    }
+
     /**
      * Returns the "name" property of the object.
      * 
@@ -109,55 +160,7 @@ public final class ModelerUtil {
     }
 
     public static String[] getRegisteredTypeNames() {
-        String[] nonPrimitivesNames = {
-                String.class.getName(),
-                BigDecimal.class.getName(),
-                BigInteger.class.getName(),
-                Boolean.class.getName(),
-                Byte.class.getName(),
-                Character.class.getName(),
-                Date.class.getName(),
-                java.util.Date.class.getName(),
-                Double.class.getName(),
-                Float.class.getName(),
-                Integer.class.getName(),
-                Long.class.getName(),
-                Short.class.getName(),
-                Time.class.getName(),
-                Timestamp.class.getName(),
-                GregorianCalendar.class.getName(),
-                Calendar.class.getName(),
-                UUID.class.getName(),
-                Serializable.class.getName(),
-                Json.class.getName(),
-                Wkt.class.getName(),
-                GeoJson.class.getName(),
-                "java.lang.Character[]",
-                "java.lang.Byte[]",
-                "java.time.LocalDate",
-                "java.time.LocalTime",
-                "java.time.LocalDateTime",
-                "java.time.Duration",
-                "java.time.Period"
-        };
-        Arrays.sort(nonPrimitivesNames);
-
-        String[] primitivesNames = {
-                "boolean", "byte", "byte[]", "char", "char[]", "double", 
"float", "int", "long", "short"
-        };
-
-        String[] finalList = new String[primitivesNames.length + 
nonPrimitivesNames.length + 1];
-
-        finalList[0] = "";
-        System.arraycopy(primitivesNames, 0, finalList, 1, 
primitivesNames.length);
-        System.arraycopy(
-                nonPrimitivesNames,
-                0,
-                finalList,
-                primitivesNames.length + 1,
-                nonPrimitivesNames.length);
-
-        return finalList;
+        return REGISTERED_TYPE_NAMES;
     }
 
     public static DataNodeDescriptor getNodeLinkedToMap(DataChannelDescriptor 
domain, DataMap map) {

Reply via email to