From c1d0dc0493dc5fe62322f96d029181fab493a0c1 Mon Sep 17 00:00:00 2001 From: Gustavo Brown Rodriguez Date: Fri, 11 Jul 2025 10:44:00 -0300 Subject: [PATCH 1/2] Add a generic parameter to getExternalInstance To avoid getting warning: [unchecked] unchecked cast when generated code uses this method. So now instead of being declared as public ArrayList getExternalInstance() it is declared as public ArrayList getExternalInstance() with being the type parameter. You can then call the method passing an explicit parameter, e.g.: chatHistory.getExternalInstance(); which we currently don't generate, but just using chatHistory.getExternalInstance(); also does not yield a warning. --- common/src/main/java/com/genexus/GXExternalCollection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/com/genexus/GXExternalCollection.java b/common/src/main/java/com/genexus/GXExternalCollection.java index 09b50bde5..04280d9a4 100644 --- a/common/src/main/java/com/genexus/GXExternalCollection.java +++ b/common/src/main/java/com/genexus/GXExternalCollection.java @@ -100,7 +100,7 @@ public Vector getStruct() } @SuppressWarnings("unchecked") - public ArrayList getExternalInstance() { + public ArrayList getExternalInstance() { ArrayList list = new ArrayList(); for (T Item : this) { From 285fbfa53c6ed663c3dab7e2d75f5cf7e44a54e0 Mon Sep 17 00:00:00 2001 From: iroqueta Date: Fri, 11 Jul 2025 14:39:22 -0300 Subject: [PATCH 2/2] Add generics ni array creation and cast in add method --- common/src/main/java/com/genexus/GXExternalCollection.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/com/genexus/GXExternalCollection.java b/common/src/main/java/com/genexus/GXExternalCollection.java index 04280d9a4..949e01cd5 100644 --- a/common/src/main/java/com/genexus/GXExternalCollection.java +++ b/common/src/main/java/com/genexus/GXExternalCollection.java @@ -101,12 +101,12 @@ public Vector getStruct() @SuppressWarnings("unchecked") public ArrayList getExternalInstance() { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList<>(); for (T Item : this) { try { - list.add(Item.getClass().getMethod("getExternalInstance", new Class[]{}).invoke(Item)); + list.add((E) Item.getClass().getMethod("getExternalInstance", new Class[]{}).invoke(Item)); } catch (Exception e) {