From 8fe6e450b65abcdc436b786bdcdbb110ad350b78 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Fri, 7 Jun 2024 09:46:57 +0200 Subject: [PATCH 1/4] force null geometry instead Point(0,0) --- .../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 79a9e8a9e932bde32fade26d77f3daf5398a9920 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Mon, 10 Jun 2024 09:27:39 +0200 Subject: [PATCH 2/4] check if geometry before add to JSON --- .../telefonica/iot/cygnus/backends/arcgis/model/Feature.java | 5 ++++- 1 file changed, 4 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..266838d0a 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 @@ -275,7 +275,10 @@ public void setObjectId(Integer objectId) throws ArcgisException { public JsonObject toJson() { JsonObject resultJSON = new JsonObject(); - resultJSON.add(GEOMETRY_TAG, this.getGeometry().toJSON()); + Geometry geo = this.getGeometry(); + if (geo) { + resultJSON.add(GEOMETRY_TAG, geo.toJSON()); + } JsonObject attributes = new JsonObject(); for (Map.Entry attribute : this.attributes.entrySet()) { From f1c18e546e0eb21b79800518c53e56d0319e0ea5 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Mon, 10 Jun 2024 09:35:33 +0200 Subject: [PATCH 3/4] fix check geo null --- .../telefonica/iot/cygnus/backends/arcgis/model/Feature.java | 2 +- .../telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 1 + 2 files 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 266838d0a..559a110a5 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 @@ -276,7 +276,7 @@ public JsonObject toJson() { JsonObject resultJSON = new JsonObject(); Geometry geo = this.getGeometry(); - if (geo) { + if (geo != null) { resultJSON.add(GEOMETRY_TAG, geo.toJSON()); } 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 91386205b194364280ddf75ba6dc0e94e901026d Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Mon, 10 Jun 2024 09:45:18 +0200 Subject: [PATCH 4/4] Init feature without geometry instead Point(0,0) --- .../telefonica/iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8a637b586..ace13d628 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 @@ -717,7 +717,7 @@ public class ArcgisAggregatorDomain { LOGGER.debug("[ArcgisAggregatorDomain] - constructor init."); try { - feature = Feature.createPointFeature(0, 0); + feature = new Feature(); } catch (Throwable e) { LOGGER.error( "ArcgisAggregatorDomain - Unexpected error " + e.getClass().getName() + " - " + e.getMessage());