diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 59b4d59ad..77e313400 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1 +1,2 @@ - [cygnus-ngsi][arcgis] Log json geometry before create instance and in errors related +- [cygnus-ngsi][arcgis] Fix CygnusRuntimeError due to Cannot invoke "java.util.List.size()" because "serverFeatures" is null (#2413) 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) {