Fix 'Fail to import service with get_property of map-of-string'-bug
[sdc.git] / common-app-api / src / main / java / org / openecomp / sdc / common / util / JsonUtils.java
index 6ee4984..9d1b166 100644 (file)
@@ -21,7 +21,10 @@ package org.openecomp.sdc.common.util;
 
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
 
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
 public class JsonUtils {
 
     public static String toString(JsonElement jsonElement) {
@@ -29,10 +32,10 @@ public class JsonUtils {
             return null;
         }
         if (!jsonElement.isJsonNull()) {
-            if (!jsonElement.isJsonObject()) {
-                return jsonElement.getAsString();
-            } else {
+            if (jsonElement.isJsonObject() || jsonElement.isJsonArray()) {
                 return jsonElement.toString();
+            } else {
+                return jsonElement.getAsString();
             }
         } else {
             return null;
@@ -47,8 +50,18 @@ public class JsonUtils {
         return json.entrySet().isEmpty();
     }
 
-    public static boolean isEmptyJson(JsonElement json) {
-        return json.isJsonPrimitive() ? false : JsonUtils.isEmptyJson(json.getAsJsonObject());
+    public static boolean isEmptyJson(final JsonElement json) {
+        if (json == null || json.isJsonNull()) {
+            return true;
+        }
+        if (json.isJsonArray()) {
+            return json.getAsJsonArray().isEmpty();
+        }
+        if (json.isJsonObject()) {
+            return isEmptyJson(json.getAsJsonObject());
+        }
+
+        return false;
     }
 
     public static boolean isJsonNullOrEmpty(JsonObject json) {