c76310ecf45cd2eb6005d5d908008204dff9037d
[sdc.git] / common-app-api / src / main / java / org / openecomp / sdc / common / util / JsonUtils.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20 package org.openecomp.sdc.common.util;
21
22 import com.google.gson.JsonElement;
23 import com.google.gson.JsonObject;
24
25 public class JsonUtils {
26
27     private JsonUtils() {
28
29     }
30
31     public static String toString(JsonElement jsonElement) {
32         if (jsonElement == null) {
33             return null;
34         }
35         if (!jsonElement.isJsonNull()) {
36             if (!jsonElement.isJsonObject()) {
37                 return jsonElement.getAsString();
38             } else {
39                 return jsonElement.toString();
40             }
41         } else {
42             return null;
43         }
44     }
45
46     public static boolean containsEntry(JsonObject json, String key) {
47         return json.get(key) != null;
48     }
49
50     public static boolean isEmptyJson(JsonObject json) {
51         return json.entrySet().isEmpty();
52     }
53
54     public static boolean isEmptyJson(final JsonElement json) {
55         if (json == null || json.isJsonNull()) {
56             return true;
57         }
58         if (json.isJsonArray()) {
59             return json.getAsJsonArray().isEmpty();
60         }
61         if (json.isJsonObject()) {
62             return JsonUtils.isEmptyJson(json.getAsJsonObject());
63         }
64
65         return false;
66     }
67
68     public static boolean isJsonNullOrEmpty(JsonObject json) {
69         return json.isJsonNull() || isEmptyJson(json);
70     }
71 }