fix dmaap-listener startup and library
[sdnc/northbound.git] / ueb-listener / src / main / java / org / openecomp / sdnc / uebclient / SdncBaseModel.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : SDN-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                                      reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.openecomp.sdnc.uebclient;
23
24 import java.util.HashMap;
25 import java.util.Map;
26
27 import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
28 import org.openecomp.sdc.tosca.parser.impl.SdcPropertyNames;
29 import org.openecomp.sdc.toscaparser.api.Group;
30 import org.openecomp.sdc.toscaparser.api.Metadata;
31 import org.openecomp.sdc.toscaparser.api.NodeTemplate;
32 import org.slf4j.Logger;
33 import org.slf4j.LoggerFactory;
34
35 public class SdncBaseModel {
36         
37         private static final Logger LOG = LoggerFactory
38                         .getLogger(SdncBaseModel.class);
39         
40         protected String customizationUUID = null;
41         protected String invariantUUID = null;
42         protected String model_yaml = null;     
43         protected String version = null;        
44         
45         protected Map<String, String> params = null;
46         protected ISdcCsarHelper sdcCsarHelper = null;
47
48         public SdncBaseModel() {
49                 
50         }
51         
52         public SdncBaseModel(ISdcCsarHelper sdcCsarHelper, Metadata metadata) {
53
54                 params = new HashMap<String, String>();
55                 this.sdcCsarHelper = sdcCsarHelper;
56                 
57                 // extract service metadata
58                 invariantUUID = extractValue(metadata, SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID);
59                 addParameter("invariant_uuid",invariantUUID);
60                 addParameter("version",extractValue(metadata, SdcPropertyNames.PROPERTY_NAME_VERSION));
61                 addParameter("name",extractValue(metadata, SdcPropertyNames.PROPERTY_NAME_NAME));
62                 addParameter("description",extractValue(metadata, SdcPropertyNames.PROPERTY_NAME_DESCRIPTION));
63                 addParameter("type",extractValue(metadata, SdcPropertyNames.PROPERTY_NAME_TYPE));
64                 addParameter("category",extractValue(metadata, SdcPropertyNames.PROPERTY_NAME_CATEGORY));
65         }
66
67         public SdncBaseModel(ISdcCsarHelper sdcCsarHelper, NodeTemplate nodeTemplate) {
68
69                 params = new HashMap<String, String>();
70                 this.sdcCsarHelper = sdcCsarHelper;
71
72                 // extract nodeTemplate metadata
73                 Metadata metadata = nodeTemplate.getMetadata();
74                 customizationUUID = extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID);
75                 addParameter("invariant_uuid", extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_INVARIANTUUID));
76                 addParameter("uuid", extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_UUID));
77                 addParameter("version", extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_VERSION)); 
78         }
79
80         public SdncBaseModel(ISdcCsarHelper sdcCsarHelper, Group group) {
81
82                 params = new HashMap<String, String>();
83                 this.sdcCsarHelper = sdcCsarHelper;
84
85                 // extract group metadata
86                 Metadata metadata = group.getMetadata();
87                 //customizationUUID = extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_VFMODULECUSTOMIZATIONUUID); - returning null
88                 customizationUUID = extractValue (metadata, "vfModuleModelCustomizationUUID");
89                 addParameter("invariant_uuid", extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELINVARIANTUUID));                     
90                 addParameter("uuid", extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELUUID));                        
91                 addParameter("version", extractValue (metadata, SdcPropertyNames.PROPERTY_NAME_VFMODULEMODELVERSION));                  
92         }
93
94         protected void addParameter (String name, String value) {
95                 if (value != null && !value.isEmpty()) {
96                         params.put(name, "\"" + value + "\"");
97                 }
98         }
99
100         protected void addIntParameter (String name, String value) {
101                 if (value != null && !value.isEmpty()) {
102                         params.put(name, value);
103                 }
104         }
105         
106         public static void addIntParameter (String name, String value, Map<String, String> params) {
107                 if (value != null && !value.isEmpty()) {
108                         params.put(name, value);
109                 }
110         }
111         
112         public static void addParameter (String name, String value, Map<String, String> params) {
113                 if (value != null && !value.isEmpty()) {
114                         params.put(name, "\"" + value + "\"");
115                 }
116         }
117         
118         protected String extractValue (Metadata metadata, String name) {
119                 String value = sdcCsarHelper.getMetadataPropertyValue(metadata, name);
120                 if (value != null) {
121                         return value;
122                 } else {
123                         return "";
124                 }       
125         }
126
127         public static String extractValue (ISdcCsarHelper sdcCsarHelper, Metadata metadata, String name) {
128                 String value = sdcCsarHelper.getMetadataPropertyValue(metadata, name);
129                 if (value != null) {
130                         return value;
131                 } else {
132                         return "";
133                 }       
134         }
135
136         protected String extractValue (NodeTemplate nodeTemplate, String name) {
137                 String value = sdcCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, name);
138                 if (value != null) {
139                         return value;
140                 } else {
141                         return "";
142                 }
143         }
144
145         public static String extractValue (ISdcCsarHelper sdcCsarHelper, NodeTemplate nodeTemplate, String name) {
146                 String value = sdcCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, name);
147                 if (value != null) {
148                         return value;
149                 } else {
150                         return "";
151                 }
152         }
153
154         protected String extractBooleanValue (NodeTemplate nodeTemplate, String name) {
155                 String value = sdcCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, name);
156                 if (value != null && !value.isEmpty()) {
157                         return value.contains("true") ? "Y" : "N";
158                 } else {
159                         return "";
160                 }
161         }
162
163         public static String extractBooleanValue (ISdcCsarHelper sdcCsarHelper, NodeTemplate nodeTemplate, String name) {
164                 String value = sdcCsarHelper.getNodeTemplatePropertyLeafValue(nodeTemplate, name);
165                 if (value != null && !value.isEmpty()) {
166                         return value.contains("true") ? "Y" : "N";
167                 } else {
168                         return "";
169                 }
170         }
171
172         protected String extractValue (Group group, String name) {
173                 String value = sdcCsarHelper.getGroupPropertyLeafValue(group, name);
174                 if (value != null) {
175                         return value;
176                 } else {
177                         return "";
178                 }
179         }
180
181         protected String extractBooleanValue (Group group, String name) {
182                 String value = sdcCsarHelper.getGroupPropertyLeafValue(group, name);
183                 if (value != null && !value.isEmpty()) {
184                         return value.contains("true") ? "Y" : "N";
185                 } else {
186                         return "";
187                 }
188         }
189
190         protected String extractInputDefaultValue (String name) {
191                 String value = sdcCsarHelper.getServiceInputLeafValueOfDefault(name);
192                 if (value != null) {
193                         return value;
194                 } else {
195                         return "";
196                 }
197         }
198
199         protected String extractBooleanInputDefaultValue (String name) {
200                 String value = sdcCsarHelper.getServiceInputLeafValueOfDefault(name);
201                 if (value != null && !value.isEmpty()) {
202                         return value.contains("true") ? "Y" : "N";
203                 } else {
204                         return "";
205                 }
206         }
207
208         public static String extractInputDefaultValue (ISdcCsarHelper sdcCsarHelper, String name) {
209                 String value = sdcCsarHelper.getServiceInputLeafValueOfDefault(name);
210                 if (value != null) {
211                         return value;
212                 } else {
213                         return "";
214                 }
215         }
216
217         public static String extractBooleanInputDefaultValue (ISdcCsarHelper sdcCsarHelper, String name) {
218                 String value = sdcCsarHelper.getServiceInputLeafValueOfDefault(name);
219                 if (value != null && !value.isEmpty()) {
220                         return value.contains("true") ? "Y" : "N";
221                 } else {
222                         return "";
223                 }
224         }
225
226         public static String extractSubstitutionMappingTypeName (ISdcCsarHelper sdcCsarHelper) {
227                 String value = sdcCsarHelper.getServiceSubstitutionMappingsTypeName();
228                 if (value != null) {
229                         return value;
230                 } else {
231                         return "";
232                 }
233         }
234
235         public String getCustomizationUUID() {
236                 return ("\"" + customizationUUID + "\"");
237         }
238         public String getCustomizationUUIDNoQuotes() {
239                 return (customizationUUID);
240         }
241         public void setCustomizationUUID(String customizationUUID) {
242                 this.customizationUUID = customizationUUID;
243         }
244         
245         public String getSql(String tableName, String model_yaml) {
246                 
247                 StringBuilder sb = new StringBuilder();
248                 sb.append("INSERT into " + tableName + " (customization_uuid, model_yaml, ");
249                 
250                 int paramCount = 0;
251                 for (String paramKey :  params.keySet()) {
252                         paramCount++;
253                     sb.append(paramKey);
254                     if (paramCount < params.size()) sb.append(", ");
255                 }
256                 
257                 sb.append(") values (" + getCustomizationUUID() + ", \"" + model_yaml + "\", ");
258
259                 paramCount = 0;
260                 for (String paramKey :  params.keySet()) {
261                         paramCount++;
262                         String paramValue = params.get(paramKey);
263                     sb.append(paramValue);
264                     if (paramCount < params.size()) sb.append(", ");
265                 }
266
267                 sb.append(");");
268                 return sb.toString();
269         }
270         
271         public static String getSql(String tableName, String keyName, String keyValue, String model_yaml, Map<String, String> params) {
272                 
273                 StringBuilder sb = new StringBuilder();
274                 sb.append("INSERT into " + tableName + " (" + keyName + ", ");
275                 
276                 int paramCount = 0;
277                 for (String paramKey :  params.keySet()) {
278                         paramCount++;
279                     sb.append(paramKey);
280                     if (paramCount < params.size()) sb.append(", ");
281                 }
282                 
283                 sb.append(") values (" + keyValue + ", ");
284
285                 paramCount = 0;
286                 for (String paramKey :  params.keySet()) {
287                         paramCount++;
288                         String paramValue = params.get(paramKey);
289                     sb.append(paramValue);
290                     if (paramCount < params.size()) sb.append(", ");
291                 }
292
293                 sb.append(");");
294                 return sb.toString();
295         }
296         
297 }