From 094c06d27c8d3d43d572fdab540782079b062d26 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Wed, 25 Sep 2024 12:31:41 +0200 Subject: [PATCH 1/2] fix toString for complex geometry --- .../iot/cygnus/backends/arcgis/model/MultiPoint.java | 8 +++----- .../iot/cygnus/backends/arcgis/model/PolyLine.java | 10 ++++------ .../iot/cygnus/backends/arcgis/model/Polygon.java | 10 ++++------ 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/MultiPoint.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/MultiPoint.java index 555f4292f..9f8fca87d 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/MultiPoint.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/MultiPoint.java @@ -144,18 +144,16 @@ public static Geometry createInstanceFromJson(JsonObject json) throws ArcgisExce */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("{ \"points\": ["); + sb.append("["); for (int i = 0; i < this.points.size(); i++) { sb.append("["); - double[] array = points.get(i); + double[] array = points.get(i); for (double value : array) { sb.append(" ").append(value).append(","); } - sb.setLength(sb.length() - 2); sb.append(" ],"); } - sb.setLength(sb.length() - 2); - sb.append(" ]}"); + sb.append(" ]"); return sb.toString(); } diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/PolyLine.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/PolyLine.java index bfc2ddcdb..c14f0c10a 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/PolyLine.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/PolyLine.java @@ -144,23 +144,21 @@ public static Geometry createInstanceFromJson(JsonObject json) throws ArcgisExce */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("{ \"paths\": ["); + sb.append("["); for (int i = 0; i < this.paths.size(); i++) { List innerList = this.paths.get(i); + sb.append("["); for (int j = 0; j < innerList.size(); j++) { sb.append(" ["); - sb.append("["); double[] array = innerList.get(j); for (double value : array) { sb.append(" ").append(value).append(","); } - sb.append(" ]"); - sb.setLength(sb.length() - 2); sb.append(" ],"); } + sb.append(" ]"); } - sb.setLength(sb.length() - 2); - sb.append(" ]}"); + sb.append(" ]"); return sb.toString(); } diff --git a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Polygon.java b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Polygon.java index 4466831df..0ef202593 100644 --- a/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Polygon.java +++ b/cygnus-common/src/main/java/com/telefonica/iot/cygnus/backends/arcgis/model/Polygon.java @@ -144,23 +144,21 @@ public static Geometry createInstanceFromJson(JsonObject json) throws ArcgisExce */ public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("{ \"rings\": ["); + sb.append("["); for (int i = 0; i < this.rings.size(); i++) { List innerList = this.rings.get(i); + sb.append("["); for (int j = 0; j < innerList.size(); j++) { sb.append(" ["); - sb.append("["); double[] array = innerList.get(j); for (double value : array) { sb.append(" ").append(value).append(","); } - sb.append(" ]"); - sb.setLength(sb.length() - 2); sb.append(" ],"); } + sb.append(" ]"); } - sb.setLength(sb.length() - 2); - sb.append(" ]}"); + sb.append(" ]"); return sb.toString(); } From d4eeb11652c6cdaaec7a610d4f4bd82ecade3919 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Wed, 25 Sep 2024 12:39:10 +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 1ca20419b..041a7a6a0 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1,2 +1,3 @@ +- [cygnus-common][arcgis] toString of complex geometry is not returning equivalent input (#2418) - [cygnus-ngsi][arcgis] Log json geometry before create instance - [cygnus-ngsi][arcgis] Fix CygnusRuntimeError due to Cannot invoke "java.util.List.size()" because "serverFeatures" is null (#2413)