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