summaryrefslogtreecommitdiffstats
path: root/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java')
-rw-r--r--plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java b/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java
index 9870221d7..d6ef7463a 100644
--- a/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java
+++ b/plugins/restapi-call-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/restapicall/XmlJsonUtil.java
@@ -51,6 +51,12 @@ public final class XmlJsonUtil {
}
public static String getJson(Map<String, String> varmap, String var) {
+ boolean keepEmpty = false;
+ if (var.startsWith("~")) {
+ var = var.substring(1);
+ keepEmpty = true;
+ }
+
boolean escape = true;
if (var.startsWith("'")) {
var = var.substring(1);
@@ -64,7 +70,7 @@ public final class XmlJsonUtil {
}
Object o = createStructure(varmap, var);
- return generateJson(o, escape, quotes);
+ return generateJson(o, escape, quotes, keepEmpty);
}
private static Object createStructure(Map<String, String> flatmap, String var) {
@@ -286,11 +292,11 @@ public final class XmlJsonUtil {
return null;
}
- private static String generateJson(Object o, boolean escape, boolean quotes) {
+ private static String generateJson(Object o, boolean escape, boolean quotes, boolean keepEmpty) {
if (o == null) {
return null;
}
- if (o instanceof String && ((String) o).length() == 0) {
+ if (o instanceof String && ((String) o).length() == 0 && !keepEmpty) {
return null;
}