Replaced all tabs with spaces in java and pom.xml
[so.git] / asdc-controller / src / main / java / org / onap / so / asdc / installer / ToscaResourceStructure.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
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=========================================================
21  */
22
23 package org.onap.so.asdc.installer;
24
25 import java.io.File;
26 import java.nio.file.Paths;
27 import java.util.List;
28 import org.onap.sdc.api.notification.IArtifactInfo;
29 import org.onap.sdc.tosca.parser.api.ISdcCsarHelper;
30 import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory;
31 import org.onap.sdc.toscaparser.api.NodeTemplate;
32 import org.onap.sdc.toscaparser.api.elements.Metadata;
33 import org.onap.so.asdc.client.exceptions.ASDCDownloadException;
34 import org.onap.so.db.catalog.beans.AllottedResource;
35 import org.onap.so.db.catalog.beans.AllottedResourceCustomization;
36 import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization;
37 import org.onap.so.db.catalog.beans.CollectionResource;
38 import org.onap.so.db.catalog.beans.CollectionResourceCustomization;
39 import org.onap.so.db.catalog.beans.ConfigurationResource;
40 import org.onap.so.db.catalog.beans.ConfigurationResourceCustomization;
41 import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
42 import org.onap.so.db.catalog.beans.NetworkInstanceGroup;
43 import org.onap.so.db.catalog.beans.NetworkResource;
44 import org.onap.so.db.catalog.beans.NetworkResourceCustomization;
45 import org.onap.so.db.catalog.beans.PnfResourceCustomization;
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;
57 import org.springframework.beans.factory.annotation.Value;
58
59 public class ToscaResourceStructure {
60
61     protected static final Logger logger = LoggerFactory.getLogger(ToscaResourceStructure.class);
62
63     /**
64      * mso config path, used for the config files, like download csar files.
65      */
66     private String msoConfigPath;
67
68     Metadata serviceMetadata;
69     private Service catalogService;
70     ISdcCsarHelper sdcCsarHelper;
71     List<NodeTemplate> allottedList;
72     List<NodeTemplate> networkTypes;
73     List<NodeTemplate> vfTypes;
74     String heatTemplateUUID;
75     String volHeatTemplateUUID;
76     String volHeatEnvTemplateUUID;
77     String envHeatTemplateUUID;
78     String heatFilesUUID;
79     String workloadPerformance;
80     String serviceVersion;
81     private boolean isDeployedSuccessfully = false;
82
83
84     private NetworkResourceCustomization catalogNetworkResourceCustomization;
85
86     private NetworkResource catalogNetworkResource;
87
88     private List<NetworkInstanceGroup> catalogNetworkInstanceGroup;
89
90     private CollectionNetworkResourceCustomization catalogCollectionNetworkResourceCustomization;
91
92     private CollectionResource catalogCollectionResource;
93
94     private CollectionResourceCustomization catalogCollectionResourceCustomization;
95
96     private NetworkCollectionResourceCustomization catalogNetworkCollectionResourceCustomization;
97
98     private ServiceProxyResourceCustomization catalogServiceProxyResourceCustomization;
99
100     private ConfigurationResource catalogConfigurationResource;
101
102     private ConfigurationResourceCustomization catalogConfigurationResourceCustomization;
103
104     private AllottedResourceCustomization catalogResourceCustomization;
105
106     private VfModule vfModule;
107
108     private VfModuleCustomization vfModuleCustomization;
109
110     private VnfResourceCustomization vnfResourceCustomization;
111
112     private PnfResourceCustomization pnfResourceCustomization;
113
114     private AllottedResource allottedResource;
115
116     private AllottedResourceCustomization allottedResourceCustomization;
117
118     private TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup;
119
120     private IArtifactInfo toscaArtifact;
121
122     private ToscaCsar toscaCsar;
123
124     public ToscaResourceStructure() {
125         this(System.getProperty("mso.config.path"));
126     }
127
128     public ToscaResourceStructure(final String msoConfigPath) {
129         this.msoConfigPath = msoConfigPath;
130         logger.info("MSO config path is: {}", msoConfigPath);
131     }
132
133     public void updateResourceStructure(IArtifactInfo artifact) throws ASDCDownloadException {
134
135         try {
136             SdcToscaParserFactory factory = SdcToscaParserFactory.getInstance();// Autoclosable
137
138             String filePath =
139                     Paths.get(msoConfigPath, "ASDC", artifact.getArtifactVersion(), artifact.getArtifactName())
140                             .normalize().toString();
141
142             File spoolFile = new File(filePath);
143
144             logger.debug("ASDC File path is: {}", spoolFile.getAbsolutePath());
145             logger.info("{} {} {} {}", MessageEnum.ASDC_RECEIVE_SERVICE_NOTIF.toString(), "***PATH", "ASDC",
146                     spoolFile.getAbsolutePath());
147
148             sdcCsarHelper = factory.getSdcCsarHelper(spoolFile.getAbsolutePath(), false);
149
150         } catch (Exception e) {
151             logger.debug(e.getMessage(), e);
152             logger.error("{} {} {} {} {} {}", MessageEnum.ASDC_GENERAL_EXCEPTION_ARG.toString(),
153                     "Exception caught during parser *****LOOK********* " + artifact.getArtifactName(), "ASDC",
154                     "processResourceNotification", ErrorCode.BusinessProcesssError.getValue(),
155                     "Exception in " + "processResourceNotification", e);
156
157             throw new ASDCDownloadException("Exception caught when passing the csar file to the parser ", e);
158         }
159
160         serviceMetadata = sdcCsarHelper.getServiceMetadata();
161
162     }
163
164     public String getHeatTemplateUUID() {
165         return heatTemplateUUID;
166     }
167
168     public void setHeatTemplateUUID(String heatTemplateUUID) {
169         this.heatTemplateUUID = heatTemplateUUID;
170     }
171
172     public List<NodeTemplate> getAllottedList() {
173         return allottedList;
174     }
175
176     public void setAllottedList(List<NodeTemplate> allottedList) {
177         this.allottedList = allottedList;
178     }
179
180     public ISdcCsarHelper getSdcCsarHelper() {
181         return sdcCsarHelper;
182     }
183
184     public void setSdcCsarHelper(ISdcCsarHelper sdcCsarHelper) {
185         this.sdcCsarHelper = sdcCsarHelper;
186     }
187
188     public Metadata getServiceMetadata() {
189         return serviceMetadata;
190     }
191
192     public Service getCatalogService() {
193         return catalogService;
194     }
195
196     public void setServiceMetadata(Metadata serviceMetadata) {
197         this.serviceMetadata = serviceMetadata;
198     }
199
200     public void setCatalogService(Service catalogService) {
201         this.catalogService = catalogService;
202     }
203
204     public List<NodeTemplate> getNetworkTypes() {
205         return networkTypes;
206     }
207
208     public void setNetworkTypes(List<NodeTemplate> networkTypes) {
209         this.networkTypes = networkTypes;
210     }
211
212     public List<NodeTemplate> getVfTypes() {
213         return vfTypes;
214     }
215
216     public void setVfTypes(List<NodeTemplate> vfTypes) {
217         this.vfTypes = vfTypes;
218     }
219
220     public AllottedResourceCustomization getCatalogResourceCustomization() {
221         return catalogResourceCustomization;
222     }
223
224     public void setCatalogResourceCustomization(AllottedResourceCustomization catalogResourceCustomization) {
225         this.catalogResourceCustomization = catalogResourceCustomization;
226     }
227
228     // Network Only
229     public NetworkResourceCustomization getCatalogNetworkResourceCustomization() {
230         return catalogNetworkResourceCustomization;
231     }
232
233     // Network Only
234     public void setCatalogNetworkResourceCustomization(
235             NetworkResourceCustomization catalogNetworkResourceCustomization) {
236         this.catalogNetworkResourceCustomization = catalogNetworkResourceCustomization;
237     }
238
239     public NetworkResource getCatalogNetworkResource() {
240         return catalogNetworkResource;
241     }
242
243     public void setCatalogNetworkResource(NetworkResource catalogNetworkResource) {
244         this.catalogNetworkResource = catalogNetworkResource;
245     }
246
247     public VfModule getCatalogVfModule() {
248         return vfModule;
249     }
250
251     public void setCatalogVfModule(VfModule vfModule) {
252         this.vfModule = vfModule;
253     }
254     /*
255      * public VnfResource getCatalogVnfResource() { return vnfResource; }
256      * 
257      * public void setCatalogVnfResource(VnfResource vnfResource) { this.vnfResource = vnfResource; }
258      * 
259      */
260
261     public VnfResourceCustomization getCatalogVnfResourceCustomization() {
262         return vnfResourceCustomization;
263     }
264
265     public void setCatalogVnfResourceCustomization(VnfResourceCustomization vnfResourceCustomization) {
266         this.vnfResourceCustomization = vnfResourceCustomization;
267     }
268
269     public PnfResourceCustomization getPnfResourceCustomization() {
270         return pnfResourceCustomization;
271     }
272
273     public void setPnfResourceCustomization(PnfResourceCustomization pnfResourceCustomization) {
274         this.pnfResourceCustomization = pnfResourceCustomization;
275     }
276
277
278     public VfModuleCustomization getCatalogVfModuleCustomization() {
279         return vfModuleCustomization;
280     }
281
282     public void setCatalogVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {
283         this.vfModuleCustomization = vfModuleCustomization;
284     }
285
286     public AllottedResource getAllottedResource() {
287         return allottedResource;
288     }
289
290     public void setAllottedResource(AllottedResource allottedResource) {
291         this.allottedResource = allottedResource;
292     }
293
294     public AllottedResourceCustomization getCatalogAllottedResourceCustomization() {
295         return allottedResourceCustomization;
296     }
297
298     public void setCatalogAllottedResourceCustomization(AllottedResourceCustomization allottedResourceCustomization) {
299         this.allottedResourceCustomization = allottedResourceCustomization;
300     }
301
302     public TempNetworkHeatTemplateLookup getCatalogTempNetworkHeatTemplateLookup() {
303         return tempNetworkHeatTemplateLookup;
304     }
305
306     public void setCatalogTempNetworkHeatTemplateLookup(TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {
307         this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;
308     }
309
310     public String getHeatFilesUUID() {
311         return heatFilesUUID;
312     }
313
314     public void setHeatFilesUUID(String heatFilesUUID) {
315         this.heatFilesUUID = heatFilesUUID;
316     }
317
318     public IArtifactInfo getToscaArtifact() {
319         return toscaArtifact;
320     }
321
322     public void setToscaArtifact(IArtifactInfo toscaArtifact) {
323         this.toscaArtifact = toscaArtifact;
324     }
325
326     public ToscaCsar getCatalogToscaCsar() {
327         return toscaCsar;
328     }
329
330     public void setCatalogToscaCsar(ToscaCsar toscaCsar) {
331         this.toscaCsar = toscaCsar;
332     }
333
334     public String getVolHeatTemplateUUID() {
335         return volHeatTemplateUUID;
336     }
337
338     public void setVolHeatTemplateUUID(String volHeatTemplateUUID) {
339         this.volHeatTemplateUUID = volHeatTemplateUUID;
340     }
341
342     public String getEnvHeatTemplateUUID() {
343         return envHeatTemplateUUID;
344     }
345
346     public void setEnvHeatTemplateUUID(String envHeatTemplateUUID) {
347         this.envHeatTemplateUUID = envHeatTemplateUUID;
348     }
349
350     public String getVolHeatEnvTemplateUUID() {
351         return volHeatEnvTemplateUUID;
352     }
353
354     public void setVolHeatEnvTemplateUUID(String volHeatEnvTemplateUUID) {
355         this.volHeatEnvTemplateUUID = volHeatEnvTemplateUUID;
356     }
357
358     public String getServiceVersion() {
359         return serviceVersion;
360     }
361
362     public void setServiceVersion(String serviceVersion) {
363         this.serviceVersion = serviceVersion;
364     }
365
366     public String getWorkloadPerformance() {
367         return workloadPerformance;
368     }
369
370     public void setWorkloadPerformance(String workloadPerformance) {
371         this.workloadPerformance = workloadPerformance;
372     }
373
374     public VfModule getVfModule() {
375         return vfModule;
376     }
377
378     public void setVfModule(VfModule vfModule) {
379         this.vfModule = vfModule;
380     }
381
382     public VfModuleCustomization getVfModuleCustomization() {
383         return vfModuleCustomization;
384     }
385
386     public void setVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {
387         this.vfModuleCustomization = vfModuleCustomization;
388     }
389
390
391     public VnfResourceCustomization getVnfResourceCustomization() {
392         return vnfResourceCustomization;
393     }
394
395     public void setVnfResourceCustomization(VnfResourceCustomization vnfResourceCustomization) {
396         this.vnfResourceCustomization = vnfResourceCustomization;
397     }
398
399     public AllottedResourceCustomization getAllottedResourceCustomization() {
400         return allottedResourceCustomization;
401     }
402
403     public void setAllottedResourceCustomization(AllottedResourceCustomization allottedResourceCustomization) {
404         this.allottedResourceCustomization = allottedResourceCustomization;
405     }
406
407     public TempNetworkHeatTemplateLookup getTempNetworkHeatTemplateLookup() {
408         return tempNetworkHeatTemplateLookup;
409     }
410
411     public void setTempNetworkHeatTemplateLookup(TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {
412         this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;
413     }
414
415     public List<NetworkInstanceGroup> getCatalogNetworkInstanceGroup() {
416         return catalogNetworkInstanceGroup;
417     }
418
419     public void setCatalogNetworkInstanceGroup(List<NetworkInstanceGroup> catalogNetworkInstanceGroup) {
420         this.catalogNetworkInstanceGroup = catalogNetworkInstanceGroup;
421     }
422
423     public CollectionNetworkResourceCustomization getCatalogCollectionNetworkResourceCustomization() {
424         return catalogCollectionNetworkResourceCustomization;
425     }
426
427     public void setCatalogCollectionNetworkResourceCustomization(
428             CollectionNetworkResourceCustomization catalogCollectionNetworkResourceCustomization) {
429         this.catalogCollectionNetworkResourceCustomization = catalogCollectionNetworkResourceCustomization;
430     }
431
432     public CollectionResource getCatalogCollectionResource() {
433         return catalogCollectionResource;
434     }
435
436     public void setCatalogCollectionResource(CollectionResource catalogCollectionResource) {
437         this.catalogCollectionResource = catalogCollectionResource;
438     }
439
440     public CollectionResourceCustomization getCatalogCollectionResourceCustomization() {
441         return catalogCollectionResourceCustomization;
442     }
443
444     public void setCatalogCollectionResourceCustomization(
445             CollectionResourceCustomization catalogCollectionResourceCustomization) {
446         this.catalogCollectionResourceCustomization = catalogCollectionResourceCustomization;
447     }
448
449     public NetworkCollectionResourceCustomization getCatalogNetworkCollectionResourceCustomization() {
450         return catalogNetworkCollectionResourceCustomization;
451     }
452
453     public void setCatalogNetworkCollectionResourceCustomization(
454             NetworkCollectionResourceCustomization catalogNetworkCollectionResourceCustomization) {
455         this.catalogNetworkCollectionResourceCustomization = catalogNetworkCollectionResourceCustomization;
456     }
457
458     public ServiceProxyResourceCustomization getCatalogServiceProxyResourceCustomization() {
459         return catalogServiceProxyResourceCustomization;
460     }
461
462     public void setCatalogServiceProxyResourceCustomization(
463             ServiceProxyResourceCustomization catalogServiceProxyResourceCustomization) {
464         this.catalogServiceProxyResourceCustomization = catalogServiceProxyResourceCustomization;
465     }
466
467     public ConfigurationResource getCatalogConfigurationResource() {
468         return catalogConfigurationResource;
469     }
470
471     public void setCatalogConfigurationResource(ConfigurationResource catalogConfigurationResource) {
472         this.catalogConfigurationResource = catalogConfigurationResource;
473     }
474
475     public ConfigurationResourceCustomization getCatalogConfigurationResourceCustomization() {
476         return catalogConfigurationResourceCustomization;
477     }
478
479     public void setCatalogConfigurationResourceCustomization(
480             ConfigurationResourceCustomization catalogConfigurationResourceCustomization) {
481         this.catalogConfigurationResourceCustomization = catalogConfigurationResourceCustomization;
482     }
483
484     public ToscaCsar getToscaCsar() {
485         return toscaCsar;
486     }
487
488     public void setToscaCsar(ToscaCsar toscaCsar) {
489         this.toscaCsar = toscaCsar;
490     }
491
492     public boolean isDeployedSuccessfully() {
493         return isDeployedSuccessfully;
494     }
495
496     public void setSuccessfulDeployment() {
497         isDeployedSuccessfully = true;
498     }
499
500 }