Fix OSGi wiring issues
[ccsdk/features.git] / blueprints-processor / plugin / model-provider / src / main / java / org / onap / ccsdk / features / model / utils / JsonUtils.java
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  * Modifications Copyright © 2018 IBM.\r
4  * \r
5  * Licensed under the Apache License, Version 2.0 (the "License");\r
6  * you may not use this file except in compliance with the License.\r
7  * You may obtain a copy of the License at\r
8  * \r
9  * http://www.apache.org/licenses/LICENSE-2.0\r
10  * \r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an "AS IS" BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  */\r
17 \r
18 package org.onap.ccsdk.features.model.utils;\r
19 \r
20 import org.onap.ccsdk.features.model.ValidTypes;\r
21 \r
22 import com.fasterxml.jackson.databind.JsonNode;\r
23 import com.fasterxml.jackson.databind.node.ArrayNode;\r
24 import com.fasterxml.jackson.databind.node.NullNode;\r
25 import com.fasterxml.jackson.databind.node.ObjectNode;\r
26 \r
27 /**\r
28  * JsonUtils.java Purpose: Provide Configuration Generator JsonUtils Information\r
29  *\r
30  * @version 1.0\r
31  */\r
32 public class JsonUtils {\r
33 \r
34     private JsonUtils() {\r
35 \r
36     }\r
37 \r
38     public static void populatePrimitiveValues(String key, Object value, String primitiveType, ObjectNode objectNode) {\r
39         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
40             objectNode.put(key, (Boolean) value);\r
41         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
42             objectNode.put(key, (Integer) value);\r
43         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
44             objectNode.put(key, (Float) value);\r
45         } else if (ValidTypes.DATA_TYPE_TIMESTAMP.equals(primitiveType)) {\r
46             objectNode.put(key, (String) value);\r
47         } else {\r
48             objectNode.put(key, (String) value);\r
49         }\r
50     }\r
51 \r
52     public static void populatePrimitiveValues(Object value, String primitiveType, ArrayNode objectNode) {\r
53         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
54             objectNode.add((Boolean) value);\r
55         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
56             objectNode.add((Integer) value);\r
57         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
58             objectNode.add((Float) value);\r
59         } else if (ValidTypes.DATA_TYPE_TIMESTAMP.equals(primitiveType)) {\r
60             objectNode.add((String) value);\r
61         } else {\r
62             objectNode.add((String) value);\r
63         }\r
64     }\r
65 \r
66     public static void populatePrimitiveDefaultValues(String key, String primitiveType, ObjectNode objectNode) {\r
67         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
68             objectNode.put(key, false);\r
69         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
70             objectNode.put(key, 0);\r
71         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
72             objectNode.put(key, 0.0);\r
73         } else {\r
74             objectNode.put(key, "");\r
75         }\r
76     }\r
77 \r
78     public static void populatePrimitiveDefaultValuesForArrayNode(String primitiveType, ArrayNode arrayNode) {\r
79         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
80             arrayNode.add(false);\r
81         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
82             arrayNode.add(0);\r
83         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
84             arrayNode.add(0.0);\r
85         } else {\r
86             arrayNode.add("");\r
87         }\r
88     }\r
89 \r
90     public static void populateJsonNodeValues(String key, JsonNode nodeValue, String type, ObjectNode objectNode) {\r
91         if (nodeValue == null || nodeValue instanceof NullNode) {\r
92             objectNode.put(key, nodeValue);\r
93         } else if (ValidTypes.getPrimitivePropertType().contains(type)) {\r
94             if (ValidTypes.DATA_TYPE_BOOLEAN.equals(type)) {\r
95                 objectNode.put(key, nodeValue.asBoolean());\r
96             } else if (ValidTypes.DATA_TYPE_INTEGER.equals(type)) {\r
97                 objectNode.put(key, nodeValue.asInt());\r
98             } else if (ValidTypes.DATA_TYPE_FLOAT.equals(type)) {\r
99                 objectNode.put(key, nodeValue.floatValue());\r
100             } else if (ValidTypes.DATA_TYPE_TIMESTAMP.equals(type)) {\r
101                 objectNode.put(key, nodeValue.asText());\r
102             } else {\r
103                 objectNode.put(key, nodeValue.asText());\r
104             }\r
105         } else {\r
106             objectNode.set(key, nodeValue);\r
107         }\r
108     }\r
109 \r
110 }\r