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) {