2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Modifications Copyright (c) 2019 Samsung
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ============LICENSE_END=========================================================
23 package org.onap.so.asdc.installer;
26 import java.nio.file.Paths;
27 import java.util.List;
29 import org.onap.sdc.api.notification.IArtifactInfo;
30 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
31 import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory;
32 import org.onap.sdc.toscaparser.api.NodeTemplate;
33 import org.onap.sdc.toscaparser.api.elements.Metadata;
34 import org.onap.so.asdc.client.exceptions.ASDCDownloadException;
35 import org.onap.so.db.catalog.beans.AllottedResource;
36 import org.onap.so.db.catalog.beans.AllottedResourceCustomization;
37 import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
38 import org.onap.so.db.catalog.beans.CollectionResource;
39 import org.onap.so.db.catalog.beans.CollectionResourceCustomization;
40 import org.onap.so.db.catalog.beans.ConfigurationResource;
41 import org.onap.so.db.catalog.beans.ConfigurationResourceCustomization;
42 import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
43 import org.onap.so.db.catalog.beans.NetworkInstanceGroup;
44 import org.onap.so.db.catalog.beans.NetworkResource;
45 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
46 import org.onap.so.db.catalog.beans.Service;
47 import org.onap.so.db.catalog.beans.ServiceProxyResourceCustomization;
48 import org.onap.so.db.catalog.beans.TempNetworkHeatTemplateLookup;
49 import org.onap.so.db.catalog.beans.ToscaCsar;
50 import org.onap.so.db.catalog.beans.VfModule;
51 import org.onap.so.db.catalog.beans.VfModuleCustomization;
52 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
53 import org.onap.so.logger.ErrorCode;
54 import org.onap.so.logger.MessageEnum;
55 import org.slf4j.Logger;
56 import org.slf4j.LoggerFactory;
58 public class ToscaResourceStructure {
60 Metadata serviceMetadata;
61 private Service catalogService;
62 ISdcCsarHelper sdcCsarHelper;
63 List<NodeTemplate> allottedList;
64 List<NodeTemplate> networkTypes;
65 List<NodeTemplate> vfTypes;
66 String heatTemplateUUID;
67 String volHeatTemplateUUID;
68 String volHeatEnvTemplateUUID;
69 String envHeatTemplateUUID;
71 String workloadPerformance;
72 String serviceVersion;
73 private boolean isDeployedSuccessfully=false;
76 private NetworkResourceCustomization catalogNetworkResourceCustomization;
78 private NetworkResource catalogNetworkResource;
80 private List<NetworkInstanceGroup> catalogNetworkInstanceGroup;
82 private CollectionNetworkResourceCustomization catalogCollectionNetworkResourceCustomization;
84 private CollectionResource catalogCollectionResource;
86 private CollectionResourceCustomization catalogCollectionResourceCustomization;
88 private NetworkCollectionResourceCustomization catalogNetworkCollectionResourceCustomization;
90 private ServiceProxyResourceCustomization catalogServiceProxyResourceCustomization;
92 private ConfigurationResource catalogConfigurationResource;
94 private ConfigurationResourceCustomization catalogConfigurationResourceCustomization;
96 private AllottedResourceCustomization catalogResourceCustomization;
98 private VfModule vfModule;
100 private VfModuleCustomization vfModuleCustomization;
102 private VnfResourceCustomization vnfResourceCustomization;
104 private AllottedResource allottedResource;
106 private AllottedResourceCustomization allottedResourceCustomization;
108 private TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup;
110 private IArtifactInfo toscaArtifact;
112 private ToscaCsar toscaCsar;
114 protected static final Logger logger = LoggerFactory.getLogger(ToscaResourceStructure.class);
117 public ToscaResourceStructure(){
120 public void updateResourceStructure(IArtifactInfo artifact) throws ASDCDownloadException {
125 SdcToscaParserFactory factory = SdcToscaParserFactory.getInstance();//Autoclosable
127 logger.debug("MSO config path is: " + System.getProperty("mso.config.path"));
129 String filePath = Paths.get(System.getProperty("mso.config.path"), "ASDC", artifact.getArtifactVersion(), artifact.getArtifactName()).normalize().toString();
131 File spoolFile = new File(filePath);
133 logger.debug("ASDC File path is: {}", spoolFile.getAbsolutePath());
134 logger.info("{} {} {} {}", MessageEnum.ASDC_RECEIVE_SERVICE_NOTIF.toString(), "***PATH", "ASDC",
135 spoolFile.getAbsolutePath());
137 sdcCsarHelper = factory.getSdcCsarHelper(spoolFile.getAbsolutePath(),false);
140 logger.info("System out {}", e.getMessage());
141 logger.error("{} {} {} {} {} {}", MessageEnum.ASDC_GENERAL_EXCEPTION_ARG.toString(),
142 "Exception caught during parser *****LOOK********* " + artifact.getArtifactName(), "ASDC",
143 "processResourceNotification", ErrorCode.BusinessProcesssError.getValue(),
144 "Exception in " + "processResourceNotification", e);
146 throw new ASDCDownloadException ("Exception caught when passing the csar file to the parser ", e);
149 serviceMetadata = sdcCsarHelper.getServiceMetadata();
153 public String getHeatTemplateUUID() {
154 return heatTemplateUUID;
157 public void setHeatTemplateUUID(String heatTemplateUUID) {
158 this.heatTemplateUUID = heatTemplateUUID;
161 public List<NodeTemplate> getAllottedList() {
165 public void setAllottedList(List<NodeTemplate> allottedList) {
166 this.allottedList = allottedList;
169 public ISdcCsarHelper getSdcCsarHelper() {
170 return sdcCsarHelper;
173 public void setSdcCsarHelper(ISdcCsarHelper sdcCsarHelper) {
174 this.sdcCsarHelper = sdcCsarHelper;
177 public Metadata getServiceMetadata() {
178 return serviceMetadata;
181 public Service getCatalogService() {
182 return catalogService;
185 public void setServiceMetadata(Metadata serviceMetadata) {
186 this.serviceMetadata = serviceMetadata;
189 public void setCatalogService(Service catalogService) {
190 this.catalogService = catalogService;
193 public List<NodeTemplate> getNetworkTypes() {
197 public void setNetworkTypes(List<NodeTemplate> networkTypes) {
198 this.networkTypes = networkTypes;
201 public List<NodeTemplate> getVfTypes() {
205 public void setVfTypes(List<NodeTemplate> vfTypes) {
206 this.vfTypes = vfTypes;
209 public AllottedResourceCustomization getCatalogResourceCustomization() {
210 return catalogResourceCustomization;
213 public void setCatalogResourceCustomization(
214 AllottedResourceCustomization catalogResourceCustomization) {
215 this.catalogResourceCustomization = catalogResourceCustomization;
219 public NetworkResourceCustomization getCatalogNetworkResourceCustomization() {
220 return catalogNetworkResourceCustomization;
223 public void setCatalogNetworkResourceCustomization(NetworkResourceCustomization catalogNetworkResourceCustomization) {
224 this.catalogNetworkResourceCustomization = catalogNetworkResourceCustomization;
227 public NetworkResource getCatalogNetworkResource() {
228 return catalogNetworkResource;
231 public void setCatalogNetworkResource(NetworkResource catalogNetworkResource) {
232 this.catalogNetworkResource = catalogNetworkResource;
235 public VfModule getCatalogVfModule() {
239 public void setCatalogVfModule(VfModule vfModule) {
240 this.vfModule = vfModule;
243 public VnfResource getCatalogVnfResource() {
247 public void setCatalogVnfResource(VnfResource vnfResource) {
248 this.vnfResource = vnfResource;
253 public VnfResourceCustomization getCatalogVnfResourceCustomization() {
254 return vnfResourceCustomization;
257 public void setCatalogVnfResourceCustomization(
258 VnfResourceCustomization vnfResourceCustomization) {
259 this.vnfResourceCustomization = vnfResourceCustomization;
262 public VfModuleCustomization getCatalogVfModuleCustomization() {
263 return vfModuleCustomization;
266 public void setCatalogVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {
267 this.vfModuleCustomization = vfModuleCustomization;
270 public AllottedResource getAllottedResource() {
271 return allottedResource;
274 public void setAllottedResource(AllottedResource allottedResource) {
275 this.allottedResource = allottedResource;
278 public AllottedResourceCustomization getCatalogAllottedResourceCustomization() {
279 return allottedResourceCustomization;
282 public void setCatalogAllottedResourceCustomization(
283 AllottedResourceCustomization allottedResourceCustomization) {
284 this.allottedResourceCustomization = allottedResourceCustomization;
287 public TempNetworkHeatTemplateLookup getCatalogTempNetworkHeatTemplateLookup() {
288 return tempNetworkHeatTemplateLookup;
291 public void setCatalogTempNetworkHeatTemplateLookup(
292 TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {
293 this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;
296 public String getHeatFilesUUID() {
297 return heatFilesUUID;
300 public void setHeatFilesUUID(String heatFilesUUID) {
301 this.heatFilesUUID = heatFilesUUID;
304 public IArtifactInfo getToscaArtifact() {
305 return toscaArtifact;
308 public void setToscaArtifact(IArtifactInfo toscaArtifact) {
309 this.toscaArtifact = toscaArtifact;
312 public ToscaCsar getCatalogToscaCsar() {
316 public void setCatalogToscaCsar(ToscaCsar toscaCsar) {
317 this.toscaCsar = toscaCsar;
320 public String getVolHeatTemplateUUID() {
321 return volHeatTemplateUUID;
324 public void setVolHeatTemplateUUID(String volHeatTemplateUUID) {
325 this.volHeatTemplateUUID = volHeatTemplateUUID;
328 public String getEnvHeatTemplateUUID() {
329 return envHeatTemplateUUID;
332 public void setEnvHeatTemplateUUID(String envHeatTemplateUUID) {
333 this.envHeatTemplateUUID = envHeatTemplateUUID;
336 public String getVolHeatEnvTemplateUUID() {
337 return volHeatEnvTemplateUUID;
340 public void setVolHeatEnvTemplateUUID(String volHeatEnvTemplateUUID) {
341 this.volHeatEnvTemplateUUID = volHeatEnvTemplateUUID;
344 public String getServiceVersion() {
345 return serviceVersion;
348 public void setServiceVersion(String serviceVersion) {
349 this.serviceVersion = serviceVersion;
352 public String getWorkloadPerformance() {
353 return workloadPerformance;
356 public void setWorkloadPerformance(String workloadPerformance) {
357 this.workloadPerformance = workloadPerformance;
360 public VfModule getVfModule() {
364 public void setVfModule(VfModule vfModule) {
365 this.vfModule = vfModule;
368 public VfModuleCustomization getVfModuleCustomization() {
369 return vfModuleCustomization;
372 public void setVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {
373 this.vfModuleCustomization = vfModuleCustomization;
377 public VnfResourceCustomization getVnfResourceCustomization() {
378 return vnfResourceCustomization;
381 public void setVnfResourceCustomization(
382 VnfResourceCustomization vnfResourceCustomization) {
383 this.vnfResourceCustomization = vnfResourceCustomization;
386 public AllottedResourceCustomization getAllottedResourceCustomization() {
387 return allottedResourceCustomization;
390 public void setAllottedResourceCustomization(
391 AllottedResourceCustomization allottedResourceCustomization) {
392 this.allottedResourceCustomization = allottedResourceCustomization;
395 public TempNetworkHeatTemplateLookup getTempNetworkHeatTemplateLookup() {
396 return tempNetworkHeatTemplateLookup;
399 public void setTempNetworkHeatTemplateLookup(
400 TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {
401 this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;
404 public List<NetworkInstanceGroup> getCatalogNetworkInstanceGroup() {
405 return catalogNetworkInstanceGroup;
408 public void setCatalogNetworkInstanceGroup(List<NetworkInstanceGroup> catalogNetworkInstanceGroup) {
409 this.catalogNetworkInstanceGroup = catalogNetworkInstanceGroup;
412 public CollectionNetworkResourceCustomization getCatalogCollectionNetworkResourceCustomization() {
413 return catalogCollectionNetworkResourceCustomization;
416 public void setCatalogCollectionNetworkResourceCustomization(
417 CollectionNetworkResourceCustomization catalogCollectionNetworkResourceCustomization) {
418 this.catalogCollectionNetworkResourceCustomization = catalogCollectionNetworkResourceCustomization;
421 public CollectionResource getCatalogCollectionResource() {
422 return catalogCollectionResource;
425 public void setCatalogCollectionResource(CollectionResource catalogCollectionResource) {
426 this.catalogCollectionResource = catalogCollectionResource;
429 public CollectionResourceCustomization getCatalogCollectionResourceCustomization() {
430 return catalogCollectionResourceCustomization;
433 public void setCatalogCollectionResourceCustomization(
434 CollectionResourceCustomization catalogCollectionResourceCustomization) {
435 this.catalogCollectionResourceCustomization = catalogCollectionResourceCustomization;
438 public NetworkCollectionResourceCustomization getCatalogNetworkCollectionResourceCustomization() {
439 return catalogNetworkCollectionResourceCustomization;
442 public void setCatalogNetworkCollectionResourceCustomization(
443 NetworkCollectionResourceCustomization catalogNetworkCollectionResourceCustomization) {
444 this.catalogNetworkCollectionResourceCustomization = catalogNetworkCollectionResourceCustomization;
447 public ServiceProxyResourceCustomization getCatalogServiceProxyResourceCustomization() {
448 return catalogServiceProxyResourceCustomization;
451 public void setCatalogServiceProxyResourceCustomization(
452 ServiceProxyResourceCustomization catalogServiceProxyResourceCustomization) {
453 this.catalogServiceProxyResourceCustomization = catalogServiceProxyResourceCustomization;
456 public ConfigurationResource getCatalogConfigurationResource() {
457 return catalogConfigurationResource;
460 public void setCatalogConfigurationResource(ConfigurationResource catalogConfigurationResource) {
461 this.catalogConfigurationResource = catalogConfigurationResource;
464 public ConfigurationResourceCustomization getCatalogConfigurationResourceCustomization() {
465 return catalogConfigurationResourceCustomization;
468 public void setCatalogConfigurationResourceCustomization(
469 ConfigurationResourceCustomization catalogConfigurationResourceCustomization) {
470 this.catalogConfigurationResourceCustomization = catalogConfigurationResourceCustomization;
473 public ToscaCsar getToscaCsar() {
477 public void setToscaCsar(ToscaCsar toscaCsar) {
478 this.toscaCsar = toscaCsar;
481 public boolean isDeployedSuccessfully() {
482 return isDeployedSuccessfully;
485 public void setSuccessfulDeployment() {
486 isDeployedSuccessfully = true;