Fix OSGi wiring issues
[ccsdk/features.git] / blueprints-processor / plugin / model-provider / src / main / java / org / onap / ccsdk / config / 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.config.model.utils;\r
19 \r
20 import org.onap.ccsdk.config.model.ValidTypes;\r
21 import com.fasterxml.jackson.databind.JsonNode;\r
22 import com.fasterxml.jackson.databind.node.ArrayNode;\r
23 import com.fasterxml.jackson.databind.node.NullNode;\r
24 import com.fasterxml.jackson.databind.node.ObjectNode;\r
25 \r
26 /**\r
27  * JsonUtils.java Purpose: Provide Configuration Generator JsonUtils Information\r
28  *\r
29  * @version 1.0\r
30  */\r
31 public class JsonUtils {\r
32 \r
33     private JsonUtils() {\r
34 \r
35     }\r
36 \r
37     public static void populatePrimitiveValues(String key, Object value, String primitiveType, ObjectNode objectNode) {\r
38         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
39             objectNode.put(key, (Boolean) value);\r
40         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
41             objectNode.put(key, (Integer) value);\r
42         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
43             objectNode.put(key, (Float) value);\r
44         } else if (ValidTypes.DATA_TYPE_TIMESTAMP.equals(primitiveType)) {\r
45             objectNode.put(key, (String) value);\r
46         } else {\r
47             objectNode.put(key, (String) value);\r
48         }\r
49     }\r
50 \r
51     public static void populatePrimitiveValues(Object value, String primitiveType, ArrayNode objectNode) {\r
52         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
53             objectNode.add((Boolean) value);\r
54         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
55             objectNode.add((Integer) value);\r
56         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
57             objectNode.add((Float) value);\r
58         } else if (ValidTypes.DATA_TYPE_TIMESTAMP.equals(primitiveType)) {\r
59             objectNode.add((String) value);\r
60         } else {\r
61             objectNode.add((String) value);\r
62         }\r
63     }\r
64 \r
65     public static void populatePrimitiveDefaultValues(String key, String primitiveType, ObjectNode objectNode) {\r
66         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
67             objectNode.put(key, false);\r
68         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
69             objectNode.put(key, 0);\r
70         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
71             objectNode.put(key, 0.0);\r
72         } else {\r
73             objectNode.put(key, "");\r
74         }\r
75     }\r
76 \r
77     public static void populatePrimitiveDefaultValuesForArrayNode(String primitiveType, ArrayNode arrayNode) {\r
78         if (ValidTypes.DATA_TYPE_BOOLEAN.equals(primitiveType)) {\r
79             arrayNode.add(false);\r
80         } else if (ValidTypes.DATA_TYPE_INTEGER.equals(primitiveType)) {\r
81             arrayNode.add(0);\r
82         } else if (ValidTypes.DATA_TYPE_FLOAT.equals(primitiveType)) {\r
83             arrayNode.add(0.0);\r
84         } else {\r
85             arrayNode.add("");\r
86         }\r
87     }\r
88 \r
89     public static void populateJsonNodeValues(String key, JsonNode nodeValue, String type, ObjectNode objectNode) {\r
90         if (nodeValue == null || nodeValue instanceof NullNode) {\r
91             objectNode.put(key, nodeValue);\r
92         } else if (ValidTypes.getPrimitivePropertType().contains(type)) {\r
93             if (ValidTypes.DATA_TYPE_BOOLEAN.equals(type)) {\r
94                 objectNode.put(key, nodeValue.asBoolean());\r
95             } else if (ValidTypes.DATA_TYPE_INTEGER.equals(type)) {\r
96                 objectNode.put(key, nodeValue.asInt());\r
97             } else if (ValidTypes.DATA_TYPE_FLOAT.equals(type)) {\r
98                 objectNode.put(key, nodeValue.floatValue());\r
99             } else if (ValidTypes.DATA_TYPE_TIMESTAMP.equals(type)) {\r
100                 objectNode.put(key, nodeValue.asText());\r
101             } else {\r
102                 objectNode.put(key, nodeValue.asText());\r
103             }\r
104         } else {\r
105             objectNode.set(key, nodeValue);\r
106         }\r
107     }\r
108 \r
109 }\r