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