From 6e35b7dca489afb6455be9d7ac95e05b9b25728c Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 08:45:33 +0200 Subject: [PATCH 1/7] force null geometry when error --- .../telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java index 810eb6551..4f4e46226 100644 --- a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java +++ b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java @@ -600,6 +600,7 @@ protected void jsonElementToFeatureAttr(String attrName, String attrType, JsonEl } catch (Exception e) { LOGGER.error("Invalid geo:json format, (sikipped): " + attrValue.toString() + " - Error: " + e.getMessage()); + feature.setGeometry(null); } break; case NGSI_BOOLEAN_DATATYPE: From a64b39ae2326640484079ae0b9da3335c4d37310 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 09:16:07 +0200 Subject: [PATCH 2/7] Update NGSIArcgisFeatureTableSink.java --- .../telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java index 4f4e46226..8a637b586 100644 --- a/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java +++ b/cygnus-ngsi/src/main/java/com/telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java @@ -596,6 +596,7 @@ protected void jsonElementToFeatureAttr(String attrName, String attrType, JsonEl } else { LOGGER.warn("Invalid geo:json type, only points allowed: " + location.toString()); + feature.setGeometry(null); } } catch (Exception e) { LOGGER.error("Invalid geo:json format, (sikipped): " + attrValue.toString() + " - Error: " From a4847c6efc9d120c12a5e278e00e5f0d83f0988e Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 09:17:23 +0200 Subject: [PATCH 3/7] Update CHANGES_NEXT_RELEASE --- CHANGES_NEXT_RELEASE | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 20e4f8fd8..2e5d9f71b 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1 +1,2 @@ - [cygnus-arcgis] Insert null attribute as is in feature table (#2376) +- [cygnus-arcgis] force null geometry when invalid geo:json format or type is found (#2379) From 4b7e0f68bc9ebae1f1124d94a83d5b6bd74e18d3 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 09:48:21 +0200 Subject: [PATCH 4/7] Update Feature.java --- .../telefonica/iot/cygnus/backends/arcgis/model/Feature.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java index 44990d768..8e35c0cb6 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java @@ -312,7 +312,7 @@ public static Feature createInstanceFromJson(JsonObject json) throws ArcgisExcep geometry = Point.createInstanceFromJson(jsonGeometry); // TODO another //geometry types? } else { - geometry = new Point(0, 0); + geometry = null; } Map attributes = attToMap(json.get(ATTRIBUTES_TAG).getAsJsonObject()); return new Feature(geometry, attributes); From e44de9089707d9804427be1782f1982d13d727f3 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 09:50:23 +0200 Subject: [PATCH 5/7] Update Feature.java --- .../telefonica/iot/cygnus/backends/arcgis/model/Feature.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java index 8e35c0cb6..307cebbd3 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java @@ -28,6 +28,7 @@ import java.util.Set; import com.google.gson.JsonElement; +import com.google.gson.JsonNull; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.telefonica.iot.cygnus.backends.arcgis.exceptions.ArcgisException; @@ -312,7 +313,7 @@ public static Feature createInstanceFromJson(JsonObject json) throws ArcgisExcep geometry = Point.createInstanceFromJson(jsonGeometry); // TODO another //geometry types? } else { - geometry = null; + geometry = new JsonNull(); } Map attributes = attToMap(json.get(ATTRIBUTES_TAG).getAsJsonObject()); return new Feature(geometry, attributes); From 79c06834d677bd97e07dbd362eeaaa4153e726ed Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 09:51:19 +0200 Subject: [PATCH 6/7] Update CHANGES_NEXT_RELEASE --- CHANGES_NEXT_RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 2e5d9f71b..8e9eb07ae 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1,2 +1,2 @@ - [cygnus-arcgis] Insert null attribute as is in feature table (#2376) -- [cygnus-arcgis] force null geometry when invalid geo:json format or type is found (#2379) +- [cygnus-arcgis] force null geometry when invalid geo:json format or type is found instead of Point(0,0) (#2379) From 11ed53071aa007f179bdea6482c582a6201d19b7 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 09:53:52 +0200 Subject: [PATCH 7/7] Update Feature.java --- .../telefonica/iot/cygnus/backends/arcgis/model/Feature.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java index 307cebbd3..8e35c0cb6 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Feature.java @@ -28,7 +28,6 @@ import java.util.Set; import com.google.gson.JsonElement; -import com.google.gson.JsonNull; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.telefonica.iot.cygnus.backends.arcgis.exceptions.ArcgisException; @@ -313,7 +312,7 @@ public static Feature createInstanceFromJson(JsonObject json) throws ArcgisExcep geometry = Point.createInstanceFromJson(jsonGeometry); // TODO another //geometry types? } else { - geometry = new JsonNull(); + geometry = null; } Map attributes = attToMap(json.get(ATTRIBUTES_TAG).getAsJsonObject()); return new Feature(geometry, attributes);