You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2025/04/15 08:03:50 UTC
(cayenne) 02/02: Make effectively static list actually static
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit e574e44bd026af341da5064404ca2c4559005f07
Author: Nikita Timofeev <st...@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 9b1c93b71..aa0458804 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
@@ -64,6 +64,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.
*
@@ -110,55 +161,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) {