2 * ============LICENSE_START=======================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ============LICENSE_END=========================================================
\r
21 package org.openecomp.mso.bpmn.common.scripts
\r
23 import org.json.JSONObject;
\r
24 import org.json.JSONArray;
\r
25 import org.json.XML;
\r
26 import org.springframework.web.util.UriUtils;
\r
28 import org.openecomp.mso.bpmn.core.json.JsonUtils
\r
31 import groovy.json.JsonBuilder
\r
32 import groovy.json.JsonSlurper
\r
33 import groovy.util.slurpersupport.GPathResult
\r
34 import groovy.xml.QName;
\r
36 import org.openecomp.mso.logger.MsoLogger;
\r
37 import org.openecomp.mso.rest.APIResponse;
\r
38 import org.openecomp.mso.rest.RESTClient
\r
39 import org.openecomp.mso.rest.RESTConfig
\r
43 * Utilities for accessing Catalog DB Adapter to retrieve Networks, VNF/VFModules, AllottedResources and complete ServiceResources information
\r
47 class CatalogDbUtils {
\r
49 MsoUtils utils = new MsoUtils()
\r
50 JsonUtils jsonUtils = new JsonUtils()
\r
51 MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
\r
52 static private String defaultDbAdapterVersion = "v2"
\r
54 public JSONArray getAllNetworksByServiceModelUuid(String catalogDbEndpoint, String serviceModelUuid) {
\r
55 JSONArray networksList = null
\r
56 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
\r
58 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
60 if (catalogDbResponse != null) {
\r
61 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", "v1")
\r
65 catch (Exception e) {
\r
66 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
72 public JSONArray getAllNetworksByServiceModelUuid(String catalogDbEndpoint, String serviceModelUuid, String catalogUtilsVersion) {
\r
73 JSONArray networksList = null
\r
74 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
\r
76 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
78 if (catalogDbResponse != null) {
\r
79 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", catalogUtilsVersion)
\r
84 catch (Exception e) {
\r
85 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
91 public JSONArray getAllNetworksByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid) {
\r
92 JSONArray networksList = null
\r
93 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
95 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
97 if (catalogDbResponse != null) {
\r
98 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", "v1")
\r
102 catch (Exception e) {
\r
103 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
106 return networksList
\r
109 public JSONArray getAllNetworksByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid, String catalogUtilsVersion) {
\r
110 JSONArray networksList = null
\r
111 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
114 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
116 if (catalogDbResponse != null) {
\r
117 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", catalogUtilsVersion)
\r
121 catch (Exception e) {
\r
122 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
125 return networksList
\r
128 public JSONArray getAllNetworksByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion) {
\r
129 JSONArray networksList = null
\r
130 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
132 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
134 if (catalogDbResponse != null) {
\r
135 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", "v1")
\r
139 catch (Exception e) {
\r
140 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
143 return networksList
\r
146 public JSONArray getAllNetworksByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion, String catalogUtilsVersion) {
\r
147 JSONArray networksList = null
\r
148 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
151 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
153 if (catalogDbResponse != null) {
\r
154 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", catalogUtilsVersion)
\r
158 catch (Exception e) {
\r
159 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
162 return networksList
\r
165 public JSONArray getAllNetworksByNetworkModelCustomizationUuid(String catalogDbEndpoint, String networkModelCustomizationUuid) {
\r
166 JSONArray networksList = null
\r
167 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?networkModelCustomizationUuid=" + UriUtils.encode(networkModelCustomizationUuid, "UTF-8")
\r
169 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
171 if (catalogDbResponse != null) {
\r
172 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", "v1")
\r
176 catch (Exception e) {
\r
177 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
180 return networksList
\r
183 public JSONArray getAllNetworksByNetworkModelCustomizationUuid(String catalogDbEndpoint, String networkModelCustomizationUuid, String catalogUtilsVersion) {
\r
184 JSONArray networksList = null
\r
185 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?networkModelCustomizationUuid=" + UriUtils.encode(networkModelCustomizationUuid, "UTF-8")
\r
188 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
190 if (catalogDbResponse != null) {
\r
191 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", catalogUtilsVersion)
\r
195 catch (Exception e) {
\r
196 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
199 return networksList
\r
202 public JSONArray getAllNetworksByNetworkType(String catalogDbEndpoint, String networkType) {
\r
203 JSONArray networksList = null
\r
204 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?networkType=" + UriUtils.encode(networkType, "UTF-8")
\r
206 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
208 if (catalogDbResponse != null) {
\r
209 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", "v1")
\r
213 catch (Exception e) {
\r
214 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
217 return networksList
\r
220 public JSONArray getAllNetworksByNetworkType(String catalogDbEndpoint, String networkType, String catalogUtilsVersion) {
\r
221 JSONArray networksList = null
\r
222 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceNetworks?networkType=" + UriUtils.encode(networkType, "UTF-8")
\r
224 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
226 if (catalogDbResponse != null) {
\r
227 networksList = parseNetworksJson(catalogDbResponse, "serviceNetworks", catalogUtilsVersion)
\r
232 catch (Exception e) {
\r
233 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
236 return networksList
\r
240 public JSONArray getAllVnfsByServiceModelUuid(String catalogDbEndpoint, String serviceModelUuid) {
\r
241 JSONArray vnfsList = null
\r
242 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
\r
244 msoLogger.debug("ENDPOINT: " + endPoint)
\r
245 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
247 if (catalogDbResponse != null) {
\r
248 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", "v1")
\r
252 catch (Exception e) {
\r
253 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
259 public JSONArray getAllVnfsByServiceModelUuid(String catalogDbEndpoint, String serviceModelUuid, String catalogUtilsVersion) {
\r
260 JSONArray vnfsList = null
\r
261 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
\r
263 msoLogger.debug("ENDPOINT: " + endPoint)
\r
264 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
266 if (catalogDbResponse != null) {
\r
267 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", catalogUtilsVersion)
\r
272 catch (Exception e) {
\r
273 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
279 public JSONArray getAllVnfsByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid) {
\r
280 JSONArray vnfsList = null
\r
281 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
283 msoLogger.debug("ENDPOINT: " + endPoint)
\r
284 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
286 if (catalogDbResponse != null) {
\r
287 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", "v1")
\r
291 catch (Exception e) {
\r
292 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
298 public JSONArray getAllVnfsByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid, String catalogUtilsVersion) {
\r
299 JSONArray vnfsList = null
\r
300 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
302 msoLogger.debug("ENDPOINT: " + endPoint)
\r
303 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
305 if (catalogDbResponse != null) {
\r
306 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", catalogUtilsVersion)
\r
311 catch (Exception e) {
\r
312 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
318 public JSONArray getAllVnfsByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion) {
\r
319 JSONArray vnfsList = null
\r
320 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
322 msoLogger.debug("ENDPOINT: " + endPoint)
\r
323 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
325 if (catalogDbResponse != null) {
\r
326 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", "v1")
\r
330 catch (Exception e) {
\r
331 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
337 public JSONArray getAllVnfsByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion, String catalogUtilsVersion) {
\r
338 JSONArray vnfsList = null
\r
339 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
341 msoLogger.debug("ENDPOINT: " + endPoint)
\r
342 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
344 if (catalogDbResponse != null) {
\r
345 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", catalogUtilsVersion)
\r
350 catch (Exception e) {
\r
351 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
357 public JSONArray getAllVnfsByVnfModelCustomizationUuid(String catalogDbEndpoint, String vnfModelCustomizationUuid) {
\r
358 JSONArray vnfsList = null
\r
359 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?vnfModelCustomizationUuid=" + UriUtils.encode(vnfModelCustomizationUuid, "UTF-8")
\r
361 msoLogger.debug("ENDPOINT: " + endPoint)
\r
362 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
364 if (catalogDbResponse != null) {
\r
365 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", "v1")
\r
369 catch (Exception e) {
\r
370 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
376 public JSONArray getAllVnfsByVnfModelCustomizationUuid(String catalogDbEndpoint, String vnfModelCustomizationUuid, String catalogUtilsVersion) {
\r
377 JSONArray vnfsList = null
\r
378 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceVnfs?vnfModelCustomizationUuid=" + UriUtils.encode(vnfModelCustomizationUuid, "UTF-8")
\r
380 msoLogger.debug("ENDPOINT: " + endPoint)
\r
381 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
383 if (catalogDbResponse != null) {
\r
384 vnfsList = parseVnfsJson(catalogDbResponse, "serviceVnfs", catalogUtilsVersion)
\r
389 catch (Exception e) {
\r
390 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
397 public JSONArray getAllottedResourcesByServiceModelUuid(String catalogDbEndpoint, String serviceModelUuid) {
\r
398 JSONArray vnfsList = null
\r
399 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/ServiceAllottedResources?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
\r
401 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
403 if (catalogDbResponse != null) {
\r
404 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", "v1")
\r
408 catch (Exception e) {
\r
409 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
415 public JSONArray getAllottedResourcesByServiceModelUuid(String catalogDbEndpoint, String serviceModelUuid, String catalogUtilsVersion) {
\r
416 JSONArray vnfsList = null
\r
417 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/ServiceAllottedResources?serviceModelUuid=" + UriUtils.encode(serviceModelUuid, "UTF-8")
\r
420 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
422 if (catalogDbResponse != null) {
\r
423 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", catalogUtilsVersion)
\r
427 catch (Exception e) {
\r
428 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
434 public JSONArray getAllottedResourcesByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid) {
\r
435 JSONArray vnfsList = null
\r
436 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceAllottedResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
438 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
440 if (catalogDbResponse != null) {
\r
441 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", "v1")
\r
445 catch (Exception e) {
\r
446 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
452 public JSONArray getAllottedResourcesByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid, String catalogUtilsVersion) {
\r
453 JSONArray vnfsList = null
\r
454 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceAllottedResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
456 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
458 if (catalogDbResponse != null) {
\r
459 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", catalogUtilsVersion)
\r
463 catch (Exception e) {
\r
464 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
470 public JSONArray getAllottedResourcesByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion) {
\r
471 JSONArray vnfsList = null
\r
472 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceAllottedResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
474 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
476 if (catalogDbResponse != null) {
\r
477 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", "v1")
\r
481 catch (Exception e) {
\r
482 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
488 public JSONArray getAllottedResourcesByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion, String catalogUtilsVersion) {
\r
489 JSONArray vnfsList = null
\r
490 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceAllottedResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
493 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
495 if (catalogDbResponse != null) {
\r
496 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", catalogUtilsVersion)
\r
500 catch (Exception e) {
\r
501 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
507 public JSONArray getAllottedResourcesByArModelCustomizationUuid(String catalogDbEndpoint, String arModelCustomizationUuid) {
\r
508 JSONArray vnfsList = null
\r
509 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceAllottedResources?serviceModelCustomizationUuid=" + UriUtils.encode(arModelCustomizationUuid, "UTF-8")
\r
511 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
513 if (catalogDbResponse != null) {
\r
514 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", "v1")
\r
518 catch (Exception e) {
\r
519 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
525 public JSONArray getAllottedResourcesByArModelCustomizationUuid(String catalogDbEndpoint, String arModelCustomizationUuid, String catalogUtilsVersion) {
\r
526 JSONArray vnfsList = null
\r
527 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceAllottedResources?serviceModelCustomizationUuid=" + UriUtils.encode(arModelCustomizationUuid, "UTF-8")
\r
529 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
531 if (catalogDbResponse != null) {
\r
532 vnfsList = parseAllottedResourcesJson(catalogDbResponse, "serviceAllottedResources", catalogUtilsVersion)
\r
536 catch (Exception e) {
\r
537 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
543 public JSONObject getServiceResourcesByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid) {
\r
544 JSONObject resources = null
\r
545 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
548 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
550 if (catalogDbResponse != null) {
\r
551 resources = parseServiceResourcesJson(catalogDbResponse, "v1")
\r
555 catch (Exception e) {
\r
556 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
562 public JSONObject getServiceResourcesByServiceModelInvariantUuid(String catalogDbEndpoint, String serviceModelInvariantUuid, String catalogUtilsVersion) {
\r
563 JSONObject resources = null
\r
564 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8")
\r
566 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
568 if (catalogDbResponse != null) {
\r
569 resources = parseServiceResourcesJson(catalogDbResponse, catalogUtilsVersion)
\r
573 catch (Exception e) {
\r
574 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
581 public JSONObject getServiceResourcesByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion) {
\r
582 JSONObject resources = null
\r
583 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
585 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
587 if (catalogDbResponse != null) {
\r
588 resources = parseServiceResourcesJson(catalogDbResponse)
\r
592 catch (Exception e) {
\r
593 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
599 public JSONObject getServiceResourcesByServiceModelInvariantUuidAndServiceModelVersion(String catalogDbEndpoint, String serviceModelInvariantUuid, String serviceModelVersion, String catalogUtilsVersion) {
\r
600 JSONObject resources = null
\r
601 String endPoint = catalogDbEndpoint + "/" + defaultDbAdapterVersion + "/serviceResources?serviceModelInvariantUuid=" + UriUtils.encode(serviceModelInvariantUuid, "UTF-8") + "&serviceModelVersion=" + UriUtils.encode(serviceModelVersion, "UTF-8")
\r
603 String catalogDbResponse = getResponseFromCatalogDb(endPoint)
\r
605 if (catalogDbResponse != null) {
\r
606 resources = parseServiceResourcesJson(catalogDbResponse, catalogUtilsVersion)
\r
610 catch (Exception e) {
\r
611 utils.log("ERROR", "Exception in Querying Catalog DB: " + e.message)
\r
619 private JSONArray parseNetworksJson (String catalogDbResponse, String arrayName, String catalogUtilsVersion) {
\r
620 JSONArray modelInfos = null
\r
622 msoLogger.debug("parseNetworksJson - catalogUtilsVersion is " + catalogUtilsVersion)
\r
624 // Create array of jsons
\r
626 JSONObject responseJson = new JSONObject(catalogDbResponse)
\r
627 JSONArray networks = responseJson.getJSONArray(arrayName)
\r
628 modelInfos = new JSONArray()
\r
630 for (int i = 0; i < networks.length(); i++) {
\r
632 JSONObject network = networks.getJSONObject(i)
\r
633 JSONObject modelJson = new JSONObject()
\r
634 JSONObject modelInfo = buildModelInfo("network", network, catalogUtilsVersion)
\r
635 modelJson.put("modelInfo", modelInfo)
\r
636 String networkType = jsonUtils.getJsonValueForKey(network, "networkType")
\r
637 modelJson.put("networkType", networkType)
\r
639 switch (catalogUtilsVersion) {
\r
643 String toscaNodeType = jsonUtils.getJsonValueForKey(network, "toscaNodeType")
\r
644 modelJson.put("toscaNodeType", toscaNodeType)
\r
645 String networkTechnology = jsonUtils.getJsonValueForKey(network, "networkTechnology")
\r
646 modelJson.put("networkTechnology", networkTechnology)
\r
647 String networkRole = jsonUtils.getJsonValueForKey(network, "networkRole")
\r
648 modelJson.put("networkRole", networkRole)
\r
649 String networkScope = jsonUtils.getJsonValueForKey(network, "networkScope")
\r
650 modelJson.put("networkScope", networkScope)
\r
653 modelInfos.put(modelJson)
\r
656 String modelInfosString = modelInfos.toString()
\r
657 msoLogger.debug("Returning networks JSON: " + modelInfosString)
\r
659 } catch (Exception e) {
\r
660 utils.log("ERROR", "Exception in parsing Catalog DB Response: " + e.message)
\r
666 private JSONArray parseVnfsJson (String catalogDbResponse, String arrayName, String catalogUtilsVersion) {
\r
667 JSONArray modelInfos = null
\r
669 msoLogger.debug("parseVnfsJson - catalogUtilsVersion is " + catalogUtilsVersion)
\r
672 // Create array of jsons
\r
674 JSONObject responseJson = new JSONObject(catalogDbResponse)
\r
675 JSONArray vnfs = responseJson.getJSONArray(arrayName)
\r
676 modelInfos = new JSONArray()
\r
678 for (int i = 0; i < vnfs.length(); i++) {
\r
679 JSONObject vnf = vnfs.getJSONObject(i)
\r
681 msoLogger.debug(vnf.toString(2))
\r
682 JSONObject modelInfo = buildModelInfo("vnf", vnf, catalogUtilsVersion)
\r
683 JSONObject modelJson = new JSONObject()
\r
684 modelJson.put("modelInfo", modelInfo)
\r
685 switch(catalogUtilsVersion) {
\r
689 String toscaNodeType = jsonUtils.getJsonValueForKey(vnf, "toscaNodeType")
\r
690 modelJson.put("toscaNodeType", toscaNodeType)
\r
691 String nfType = jsonUtils.getJsonValueForKey(vnf, "nfType")
\r
692 modelJson.put("nfType", nfType)
\r
693 String nfRole = jsonUtils.getJsonValueForKey(vnf, "nfRole")
\r
694 modelJson.put("nfRole", nfRole)
\r
695 String nfCode = jsonUtils.getJsonValueForKey(vnf, "nfCode")
\r
696 modelJson.put("nfCode", nfCode)
\r
700 JSONObject vnfJson = vnf.getJSONObject("vnf")
\r
701 JSONArray vfModules = null
\r
703 vfModules = vnfJson.getJSONArray("vfModules")
\r
704 } catch (Exception e)
\r
706 msoLogger.debug("Cannot find VF MODULE ARRAY: " + i + ", exception is " + e.message)
\r
709 if (vfModules != null) {
\r
710 JSONArray vfModuleInfo = new JSONArray()
\r
711 for (int j = 0; j < vfModules.length(); j++) {
\r
712 JSONObject vfModule = vfModules.getJSONObject(j)
\r
713 JSONObject vfModuleModelInfo = buildModelInfo("vfModule", vfModule, catalogUtilsVersion)
\r
714 JSONObject vfModuleModelJson = new JSONObject()
\r
715 vfModuleModelJson.put("modelInfo", vfModuleModelInfo)
\r
716 String vfModuleType = jsonUtils.getJsonValueForKey(vfModule, "type")
\r
717 vfModuleModelJson.put("vfModuleType", vfModuleType)
\r
718 switch(catalogUtilsVersion) {
\r
720 Integer isBase = jsonUtils.getJsonIntValueForKey(vfModule, "isBase")
\r
721 if (isBase.intValue() == 1) {
\r
722 vfModuleModelJson.put("isBase", "true")
\r
725 vfModuleModelJson.put("isBase", "false")
\r
729 boolean isBase = jsonUtils.getJsonBooleanValueForKey(vfModule, "isBase")
\r
730 vfModuleModelJson.put("isBase", isBase)
\r
733 String vfModuleLabel = jsonUtils.getJsonValueForKey(vfModule, "label")
\r
734 vfModuleModelJson.put("vfModuleLabel", vfModuleLabel)
\r
735 Integer initialCount = jsonUtils.getJsonIntValueForKey(vfModule, "initialCount")
\r
736 vfModuleModelJson.put("initialCount", initialCount.intValue())
\r
737 vfModuleInfo.put(vfModuleModelJson)
\r
739 modelJson.put("vfModules", vfModuleInfo)
\r
741 modelInfos.put(modelJson)
\r
744 String modelInfosString = modelInfos.toString()
\r
745 msoLogger.debug("Returning vnfs JSON: " + modelInfosString)
\r
747 } catch (Exception e) {
\r
748 utils.log("ERROR", "Exception in parsing Catalog DB Response: " + e.message)
\r
754 private JSONArray parseAllottedResourcesJson (String catalogDbResponse, String arrayName, String catalogUtilsVersion) {
\r
755 JSONArray modelInfos = null
\r
757 msoLogger.debug("parseAllottedResourcesJson - catalogUtilsVersion is " + catalogUtilsVersion)
\r
760 // Create array of jsons
\r
762 JSONObject responseJson = new JSONObject(catalogDbResponse)
\r
763 JSONArray allottedResources = responseJson.getJSONArray(arrayName)
\r
764 modelInfos = new JSONArray()
\r
766 for (int i = 0; i < allottedResources.length(); i++) {
\r
767 JSONObject allottedResource = allottedResources.getJSONObject(i)
\r
768 JSONObject modelInfo = buildModelInfo("allottedResource", allottedResource, catalogUtilsVersion)
\r
769 JSONObject modelJson = new JSONObject()
\r
770 modelJson.put("modelInfo", modelInfo)
\r
771 switch(catalogUtilsVersion) {
\r
775 String toscaNodeType = jsonUtils.getJsonValueForKey(allottedResource, "toscaNodeType")
\r
776 modelJson.put("toscaNodeType", toscaNodeType)
\r
777 String parentServiceModelUuid = jsonUtils.getJsonValueForKey(allottedResource, "parentServiceModelUuid")
\r
778 modelJson.put("parentServiceModelUuid", parentServiceModelUuid)
\r
783 modelInfos.put(modelJson)
\r
786 String modelInfosString = modelInfos.toString()
\r
787 msoLogger.debug("Returning allottedResources JSON: " + modelInfosString)
\r
789 } catch (Exception e) {
\r
790 utils.log("ERROR", "Exception in parsing Catalog DB Response: " + e.message)
\r
796 private JSONObject parseServiceResourcesJson (String catalogDbResponse) {
\r
797 JSONObject serviceResources = new JSONObject()
\r
798 String catalogUtilsVersion = "v1"
\r
801 // Create array of jsons
\r
803 JSONObject responseJson = new JSONObject(catalogDbResponse)
\r
804 JSONObject serviceResourcesRoot = responseJson.getJSONObject("serviceResources")
\r
805 JSONArray vnfsArray = parseVnfsJson(serviceResourcesRoot.toString(), "vnfResources", catalogUtilsVersion)
\r
806 serviceResources.put("vnfs", vnfsArray)
\r
807 JSONArray networksArray = parseNetworksJson(serviceResourcesRoot.toString(), "networkResourceCustomization", catalogUtilsVersion)
\r
808 serviceResources.put("networks", networksArray)
\r
809 JSONArray allottedResourcesArray = parseAllottedResourcesJson(serviceResourcesRoot.toString(), "allottedResourceCustomization", catalogUtilsVersion)
\r
810 serviceResources.put("allottedResources", allottedResourcesArray)
\r
812 String serviceResourcesString = serviceResources.toString()
\r
813 msoLogger.debug("Returning serviceResources JSON: " + serviceResourcesString)
\r
815 } catch (Exception e) {
\r
816 utils.log("ERROR", "Exception in parsing Catalog DB Response: " + e.message)
\r
819 return serviceResources
\r
822 private JSONObject parseServiceResourcesJson (String catalogDbResponse, String catalogUtilsVersion) {
\r
823 JSONObject serviceResources = new JSONObject()
\r
824 JSONObject serviceResourcesObject = new JSONObject()
\r
825 String serviceResourcesString = ""
\r
828 // Create array of jsons
\r
830 JSONObject responseJson = new JSONObject(catalogDbResponse)
\r
831 JSONObject serviceResourcesRoot = responseJson.getJSONObject("serviceResources")
\r
832 JSONObject modelInfo = buildModelInfo("", serviceResourcesRoot, catalogUtilsVersion)
\r
833 serviceResources.put("modelInfo", modelInfo)
\r
834 JSONArray vnfsArray = parseVnfsJson(serviceResourcesRoot.toString(), "serviceVnfs", catalogUtilsVersion)
\r
835 serviceResources.put("serviceVnfs", vnfsArray)
\r
836 JSONArray networksArray = parseNetworksJson(serviceResourcesRoot.toString(), "serviceNetworks", catalogUtilsVersion)
\r
837 serviceResources.put("serviceNetworks", networksArray)
\r
838 JSONArray allottedResourcesArray = parseAllottedResourcesJson(serviceResourcesRoot.toString(), "serviceAllottedResources", catalogUtilsVersion)
\r
839 serviceResources.put("serviceAllottedResources", allottedResourcesArray)
\r
840 serviceResourcesObject.put("serviceResources", serviceResources)
\r
842 serviceResourcesString = serviceResourcesObject.toString()
\r
843 msoLogger.debug("Returning serviceResources JSON: " + serviceResourcesString)
\r
845 } catch (Exception e) {
\r
846 utils.log("ERROR", "Exception in parsing Catalog DB Response: " + e.message)
\r
849 return serviceResourcesObject
\r
852 private JSONObject buildModelInfo(String modelType, JSONObject modelFromDb, String catalogUtilsVersion) {
\r
853 JSONObject modelInfo = null
\r
855 modelInfo = new JSONObject()
\r
856 modelInfo.put("modelType", modelType)
\r
857 String modelInvariantId = jsonUtils.getJsonValueForKey(modelFromDb, "modelInvariantUuid")
\r
858 modelInfo.put("modelInvariantId", modelInvariantId)
\r
859 if(modelType.equalsIgnoreCase("allottedResource")){
\r
860 String modelInstanceName = jsonUtils.getJsonValueForKey(modelFromDb, "modelInstanceName")
\r
861 modelInfo.put("modelInstanceName", modelInstanceName)
\r
863 if (!"vfModule".equals(modelType) && !"vnf".equals(modelType)) {
\r
864 String modelVersionId = jsonUtils.getJsonValueForKey(modelFromDb, "modelUuid")
\r
865 modelInfo.put("modelVersionId", modelVersionId)
\r
868 String modelVersionId = jsonUtils.getJsonValueForKey(modelFromDb, "asdcUuid")
\r
869 modelInfo.put("modelVersionId", modelVersionId)
\r
871 String modelName = jsonUtils.getJsonValueForKey(modelFromDb, "modelName")
\r
872 modelInfo.put("modelName", modelName)
\r
873 String modelVersion = jsonUtils.getJsonValueForKey(modelFromDb, "modelVersion")
\r
874 modelInfo.put("modelVersion", modelVersion)
\r
875 if (!"vfModule".equals(modelType)) {
\r
876 String modelCustomizationName = jsonUtils.getJsonValueForKey(modelFromDb, "modelCustomizationName")
\r
877 modelInfo.put("modelCustomizationName", modelCustomizationName)
\r
879 String modelCustomizationId = jsonUtils.getJsonValueForKey(modelFromDb, "modelCustomizationUuid")
\r
880 switch (catalogUtilsVersion) {
\r
882 modelInfo.put("modelCustomizationId", modelCustomizationId)
\r
885 modelInfo.put("modelCustomizationUuid", modelCustomizationId)
\r
888 JSONObject modelJson = new JSONObject()
\r
889 modelJson.put("modelInfo", modelInfo)
\r
891 catch (Exception e) {
\r
892 utils.log("ERROR", "Exception while parsing model information: " + e.message)
\r
897 private String getResponseFromCatalogDb (String endPoint) {
\r
899 RESTConfig config = new RESTConfig(endPoint);
\r
900 def responseData = ''
\r
901 def bpmnRequestId = UUID.randomUUID().toString()
\r
902 RESTClient client = new RESTClient(config).
\r
903 addHeader('X-TransactionId', bpmnRequestId).
\r
904 addHeader('X-FromAppId', 'BPMN').
\r
905 addHeader('Content-Type', 'application/json').
\r
906 addHeader('Accept','application/json');
\r
907 msoLogger.debug('sending GET to Catalog DB endpoint' + endPoint)
\r
908 APIResponse response = client.httpGet()
\r
910 responseData = response.getResponseBodyAsString()
\r
911 if (responseData != null) {
\r
912 msoLogger.debug("Received data from Catalog DB: " + responseData)
\r
915 msoLogger.debug('Response code:' + response.getStatusCode())
\r
916 msoLogger.debug('Response:' + System.lineSeparator() + responseData)
\r
917 if (response.getStatusCode() == 200) {
\r
918 // parse response as needed
\r
919 return responseData
\r
925 catch (Exception e) {
\r
926 msoLogger.debug("ERROR WHILE QUERYING CATALOG DB: " + e.message)
\r