From 104fb40e89e37a5a7ab4c9917152489367280cfb Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Tue, 24 Sep 2024 13:13:54 +0200 Subject: [PATCH 1/2] check serverFeatures before access it --- .../arcgis/restutils/ArcgisFeatureTable.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java index a7896cb0e..239654631 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/restutils/ArcgisFeatureTable.java @@ -387,19 +387,21 @@ protected void splitFeatureListIfExists(List featureArray, } int i = 0; - while (!found && i < serverFeatures.size()) { - Feature serverFeature = serverFeatures.get(i); - String serverFeatureId = null; - if ( serverFeature.getAttributes().containsKey(uniqueField)) { - serverFeatureId = serverFeature.getAttributes().get(uniqueField).toString(); - } - if (featureId.equalsIgnoreCase(serverFeatureId)) { - found = true; - Integer oid = serverFeature.getObjectId(); - feature.setObjectId(oid); - existentFeatures.add(feature); + if (serverFeatures != null) { + while (!found && i < serverFeatures.size()) { + Feature serverFeature = serverFeatures.get(i); + String serverFeatureId = null; + if ( serverFeature.getAttributes().containsKey(uniqueField)) { + serverFeatureId = serverFeature.getAttributes().get(uniqueField).toString(); + } + if (featureId.equalsIgnoreCase(serverFeatureId)) { + found = true; + Integer oid = serverFeature.getObjectId(); + feature.setObjectId(oid); + existentFeatures.add(feature); + } + i++; } - i++; } if (!found) { From e08fc16064510151e0705f6343782034efc2c968 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Tue, 24 Sep 2024 14:57:50 +0200 Subject: [PATCH 2/2] update CNR --- CHANGES_NEXT_RELEASE | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index e69de29bb..da920c6b0 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -0,0 +1 @@ +- [cygnus-ngsi][arcgis] Fix CygnusRuntimeError due to Cannot invoke "java.util.List.size()" because "serverFeatures" is null (#2413)