From c85f1d56733106e9fd519a715a8b95c86cdc8fec Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Tue, 4 Jun 2024 16:11:02 +0200 Subject: [PATCH 1/4] allow null attribute value for url --- .../cygnus/sinks/NGSIArcgisFeatureTableSink.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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 0b7944d57..df3eed7ea 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 @@ -631,11 +631,18 @@ protected void jsonElementToFeatureAttr(String attrName, String attrType, JsonEl // Try to insert as Double feature.addAttribute(attrName, Double.parseDouble(attrValue.toString())); } catch (NumberFormatException e3) { - // If all fails, insert as String + // If all fails, insert as is LOGGER.warn( "[NGSIArcgisAggregator] Unquoted String attribute: " + attrName + ":" + attrValue); - String strValue = URLDecoder.decode(attrValue.toString()); - feature.addAttribute(attrName, strValue); + try { + feature.addAttribute(attrName, attrValue); + + } catch (Exception e) { + // If all fails, insert as String + String strValue = URLDecoder.decode(attrValue.toString()); + feature.addAttribute(attrName, strValue); + } + } } } From c12076f4eaee97525f9661422c649a8e19d1c49c Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Wed, 5 Jun 2024 08:40:08 +0200 Subject: [PATCH 2/4] insert null attribute as is in feature table --- .../iot/cygnus/sinks/NGSIArcgisFeatureTableSink.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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 df3eed7ea..e933e39a2 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 @@ -631,16 +631,15 @@ protected void jsonElementToFeatureAttr(String attrName, String attrType, JsonEl // Try to insert as Double feature.addAttribute(attrName, Double.parseDouble(attrValue.toString())); } catch (NumberFormatException e3) { - // If all fails, insert as is LOGGER.warn( "[NGSIArcgisAggregator] Unquoted String attribute: " + attrName + ":" + attrValue); - try { - feature.addAttribute(attrName, attrValue); - - } catch (Exception e) { - // If all fails, insert as String + // If all fails, insert as String + if (attrValue != null) { String strValue = URLDecoder.decode(attrValue.toString()); feature.addAttribute(attrName, strValue); + } else { + // Insert null as is + feature.addAttribute(attrName, attrValue); } } From 6336cd5afc6b9488e78544837e2ce89d94df1d49 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Wed, 5 Jun 2024 08:41:03 +0200 Subject: [PATCH 3/4] Update CNR --- CHANGES_NEXT_RELEASE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES_NEXT_RELEASE b/CHANGES_NEXT_RELEASE index 8b1378917..20e4f8fd8 100644 --- a/CHANGES_NEXT_RELEASE +++ b/CHANGES_NEXT_RELEASE @@ -1 +1 @@ - +- [cygnus-arcgis] Insert null attribute as is in feature table (#2376) From e4af7764047f9cb14fc2f867265a791b1cb2bc25 Mon Sep 17 00:00:00 2001 From: Alvaro Vega Date: Wed, 5 Jun 2024 10:21:01 +0200 Subject: [PATCH 4/4] Update NGSIArcgisFeatureTableSink.java --- .../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 e933e39a2..810eb6551 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 @@ -633,7 +633,7 @@ protected void jsonElementToFeatureAttr(String attrName, String attrType, JsonEl } catch (NumberFormatException e3) { LOGGER.warn( "[NGSIArcgisAggregator] Unquoted String attribute: " + attrName + ":" + attrValue); - // If all fails, insert as String + // If all fails, insert as String, except if null if (attrValue != null) { String strValue = URLDecoder.decode(attrValue.toString()); feature.addAttribute(attrName, strValue);