Fix the new tosca converter
[clamp.git] / src / main / java / org / onap / clamp / clds / tosca / update / elements / ArrayField.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP CLAMP\r
4  * ================================================================================\r
5  * Copyright (C) 2020 AT&T Intellectual Property. All rights\r
6  *                             reserved.\r
7  * ================================================================================\r
8  * Licensed under the Apache License, Version 2.0 (the "License");\r
9  * you may not use this file except in compliance with the License.\r
10  * You may obtain a copy of the License at\r
11  *\r
12  * http://www.apache.org/licenses/LICENSE-2.0\r
13  *\r
14  * Unless required by applicable law or agreed to in writing, software\r
15  * distributed under the License is distributed on an "AS IS" BASIS,\r
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17  * See the License for the specific language governing permissions and\r
18  * limitations under the License.\r
19  * ============LICENSE_END============================================\r
20  * ===================================================================\r
21  *\r
22  */\r
23 \r
24 package org.onap.clamp.clds.tosca.update.elements;\r
25 \r
26 import com.google.gson.JsonArray;\r
27 import java.util.ArrayList;\r
28 \r
29 public class ArrayField {\r
30 \r
31     private ArrayList<Object> complexFields;\r
32 \r
33     /**\r
34      * Constructor from arraryList.\r
35      *\r
36      * @param arrayProperties the array properties\r
37      */\r
38     public ArrayField(ArrayList<Object> arrayProperties) {\r
39         this.complexFields = arrayProperties;\r
40     }\r
41 \r
42     /**\r
43      * Each LinkedHashMap is parsed to extract the Array and each of its value. They are casted for the JsonObject.\r
44      *\r
45      * @return JsonArray\r
46      */\r
47     public JsonArray deploy() {\r
48 \r
49         JsonArray subPropertyValuesArray = new JsonArray();\r
50         for (Object arrayElement : complexFields) {\r
51             //Cast for each Primitive Type\r
52             String typeValue = arrayElement.getClass().getSimpleName();\r
53             switch (typeValue) {\r
54                 case "String":\r
55                     subPropertyValuesArray.add((String) arrayElement);\r
56                     break;\r
57                 case "Boolean":\r
58                     subPropertyValuesArray.add((Boolean) arrayElement);\r
59                     break;\r
60                 case "Double":\r
61                     subPropertyValuesArray.add((Number) arrayElement);\r
62                     break;\r
63                 case "Integer":\r
64                     subPropertyValuesArray.add((Number) arrayElement);\r
65                     break;\r
66                 default:\r
67                     break;\r
68             }\r
69         }\r
70         return subPropertyValuesArray;\r
71     }\r
72 }\r