AT&T 1712 and 1802 release code
[so.git] / asdc-controller / src / main / java / org / openecomp / mso / asdc / installer / ToscaResourceStructure.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP - SO\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
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \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
19  */\r
20 \r
21 package org.openecomp.mso.asdc.installer;\r
22 \r
23 import java.io.File;\r
24 import java.io.FileOutputStream;\r
25 import java.io.IOException;\r
26 \r
27 \r
28 import java.util.List;\r
29 \r
30 import org.openecomp.sdc.api.notification.IArtifactInfo;\r
31 import org.openecomp.sdc.api.notification.INotificationData;\r
32 //import org.openecomp.generic.tosca.parser.model.Metadata;\r
33 //import org.openecomp.sdc.tosca.parser.factory.SdcCsarHelperFactory;\r
34 //import org.openecomp.sdc.tosca.parser.factory.SdcCsarHelperFactory;\r
35 ///import org.openecomp.generic.tosca.parser.model.Metadata;\r
36 import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;\r
37 import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;\r
38 import org.openecomp.sdc.tosca.parser.impl.SdcCsarHelperImpl;\r
39 import org.openecomp.sdc.tosca.parser.impl.SdcPropertyNames;\r
40 \r
41 \r
42 import org.openecomp.sdc.tosca.parser.impl.SdcToscaParserFactory;\r
43 \r
44 \r
45 \r
46 import org.openecomp.sdc.toscaparser.api.NodeTemplate;\r
47 import org.openecomp.sdc.toscaparser.api.elements.Metadata;\r
48 import org.openecomp.mso.asdc.client.exceptions.ASDCDownloadException;\r
49 import org.openecomp.mso.db.catalog.beans.AllottedResource;\r
50 import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;\r
51 import org.openecomp.mso.db.catalog.beans.NetworkResource;\r
52 import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;\r
53 import org.openecomp.mso.db.catalog.beans.Service;\r
54 import org.openecomp.mso.db.catalog.beans.ServiceToResourceCustomization;\r
55 import org.openecomp.mso.db.catalog.beans.TempNetworkHeatTemplateLookup;\r
56 import org.openecomp.mso.db.catalog.beans.ToscaCsar;\r
57 import org.openecomp.mso.db.catalog.beans.VfModule;\r
58 import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;\r
59 import org.openecomp.mso.db.catalog.beans.VfModuleToHeatFiles;\r
60 import org.openecomp.mso.db.catalog.beans.VnfResCustomToVfModuleCustom;\r
61 import org.openecomp.mso.db.catalog.beans.VnfResource;\r
62 import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;\r
63 import org.openecomp.mso.logger.MessageEnum;\r
64 import org.openecomp.mso.logger.MsoLogger;\r
65 \r
66 public class ToscaResourceStructure {\r
67         \r
68         Metadata serviceMetadata;\r
69         private Service catalogService;\r
70         ISdcCsarHelper sdcCsarHelper;\r
71         List<NodeTemplate> allottedList;\r
72         List<NodeTemplate> networkTypes; \r
73         List<NodeTemplate> vfTypes; \r
74         String heatTemplateUUID;\r
75         String volHeatTemplateUUID;\r
76         String volHeatEnvTemplateUUID;\r
77         String envHeatTemplateUUID;\r
78         String heatFilesUUID;\r
79         String workloadPerformance;\r
80         boolean isVnfAlreadyInstalled = false;\r
81         String serviceVersion;\r
82         private boolean isDeployedSuccessfully=false;\r
83         \r
84         \r
85         private NetworkResourceCustomization catalogNetworkResourceCustomization;\r
86         \r
87         private NetworkResource catalogNetworkResource;\r
88                 \r
89         private AllottedResourceCustomization catalogResourceCustomization;\r
90         \r
91         private VfModule vfModule;\r
92         \r
93         private VfModuleCustomization vfModuleCustomization;\r
94         \r
95         private VnfResource vnfResource;\r
96         \r
97         private VnfResourceCustomization vnfResourceCustomization;\r
98         \r
99         private ServiceToResourceCustomization serviceToResourceCustomization;\r
100         \r
101         private AllottedResource allottedResource;\r
102         \r
103         private AllottedResourceCustomization allottedResourceCustomization;\r
104         \r
105         private VnfResCustomToVfModuleCustom vnfResCustomToVfModuleCustom;\r
106         \r
107         private TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup;\r
108         \r
109         private VfModuleToHeatFiles vfModuleToHeatFiles;\r
110         \r
111         private IArtifactInfo toscaArtifact;\r
112         \r
113         private ToscaCsar toscaCsar;\r
114         \r
115         private ServiceToResourceCustomization vfServiceToResourceCustomization;\r
116         \r
117         private ServiceToResourceCustomization allottedServiceToResourceCustomization;\r
118         \r
119         private ServiceToResourceCustomization vlServiceToResourceCustomization;\r
120         \r
121         protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);\r
122                 \r
123         \r
124         public ToscaResourceStructure(){\r
125         }\r
126         \r
127         public void updateResourceStructure(IArtifactInfo artifact) throws ASDCDownloadException {\r
128                 \r
129                                 \r
130                 try {\r
131                                 \r
132                         SdcToscaParserFactory factory = SdcToscaParserFactory.getInstance();//Autoclosable\r
133                         \r
134                         LOGGER.debug("MSO config path is: " + System.getProperty("mso.config.path"));\r
135                         \r
136                         File spoolFile = new File(System.getProperty("mso.config.path") + "ASDC/" + artifact.getArtifactName());\r
137  \r
138                         LOGGER.debug("ASDC File path is: " + spoolFile.getAbsolutePath());\r
139                         LOGGER.info(MessageEnum.ASDC_RECEIVE_SERVICE_NOTIF, "***PATH", "ASDC", spoolFile.getAbsolutePath());\r
140                         \r
141 \r
142                         sdcCsarHelper = factory.getSdcCsarHelper(spoolFile.getAbsolutePath());\r
143 \r
144                 }catch(Exception e){\r
145                         System.out.println("System out " + e.getMessage());\r
146                         LOGGER.error(MessageEnum.ASDC_GENERAL_EXCEPTION_ARG,\r
147                                         "Exception caught during parser *****LOOK********* " + artifact.getArtifactName(), "ASDC", "processResourceNotification", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in processResourceNotification", e);\r
148                         \r
149                         throw new ASDCDownloadException ("Exception caught when passing the csar file to the parser ", e);\r
150                 }       \r
151 \r
152                         serviceMetadata = sdcCsarHelper.getServiceMetadata();\r
153         \r
154         }\r
155         \r
156         public String getHeatTemplateUUID() {\r
157                 return heatTemplateUUID;\r
158         }\r
159 \r
160         public void setHeatTemplateUUID(String heatTemplateUUID) {\r
161                 this.heatTemplateUUID = heatTemplateUUID;\r
162         }\r
163 \r
164         public List<NodeTemplate> getAllottedList() {\r
165                 return allottedList;\r
166         }\r
167 \r
168         public void setAllottedList(List<NodeTemplate> allottedList) {\r
169                 this.allottedList = allottedList;\r
170         }\r
171 \r
172         public ISdcCsarHelper getSdcCsarHelper() {\r
173                 return sdcCsarHelper;\r
174         }\r
175 \r
176         public void setSdcCsarHelper(ISdcCsarHelper sdcCsarHelper) {\r
177                 this.sdcCsarHelper = sdcCsarHelper;\r
178         }\r
179 \r
180         public Metadata getServiceMetadata() {\r
181                 return serviceMetadata;\r
182         }\r
183         \r
184         public Service getCatalogService() {\r
185                 return catalogService;\r
186         }\r
187 \r
188         public void setServiceMetadata(Metadata serviceMetadata) {\r
189                 this.serviceMetadata = serviceMetadata;\r
190         }\r
191         \r
192         public void setCatalogService(Service catalogService) {\r
193                 this.catalogService = catalogService;\r
194         }\r
195 \r
196         public List<NodeTemplate> getNetworkTypes() {\r
197                 return networkTypes;\r
198         }\r
199 \r
200         public void setNetworkTypes(List<NodeTemplate> networkTypes) {\r
201                 this.networkTypes = networkTypes;\r
202         }\r
203         \r
204         public List<NodeTemplate> getVfTypes() {\r
205                 return vfTypes;\r
206         }\r
207 \r
208         public void setVfTypes(List<NodeTemplate> vfTypes) {\r
209                 this.vfTypes = vfTypes;\r
210         }\r
211 \r
212         public AllottedResourceCustomization getCatalogResourceCustomization() {\r
213                 return catalogResourceCustomization;\r
214         }\r
215 \r
216         public void setCatalogResourceCustomization(\r
217                         AllottedResourceCustomization catalogResourceCustomization) {\r
218                 this.catalogResourceCustomization = catalogResourceCustomization;\r
219         }\r
220         \r
221         // Network Only\r
222         public NetworkResourceCustomization getCatalogNetworkResourceCustomization() {\r
223                 return catalogNetworkResourceCustomization;\r
224         }\r
225         // Network Only\r
226         public void setCatalogNetworkResourceCustomization(NetworkResourceCustomization catalogNetworkResourceCustomization) {\r
227                 this.catalogNetworkResourceCustomization = catalogNetworkResourceCustomization;\r
228         }\r
229 \r
230         public NetworkResource getCatalogNetworkResource() {\r
231                 return catalogNetworkResource;\r
232         }\r
233 \r
234         public void setCatalogNetworkResource(NetworkResource catalogNetworkResource) {\r
235                 this.catalogNetworkResource = catalogNetworkResource;\r
236         }\r
237 \r
238         public VfModule getCatalogVfModule() {\r
239                 return vfModule;\r
240         }\r
241 \r
242         public void setCatalogVfModule(VfModule vfModule) {\r
243                 this.vfModule = vfModule;\r
244         }\r
245 \r
246         public VnfResource getCatalogVnfResource() {\r
247                 return vnfResource;\r
248         }\r
249 \r
250         public void setCatalogVnfResource(VnfResource vnfResource) {\r
251                 this.vnfResource = vnfResource;\r
252         }\r
253 \r
254         public VnfResourceCustomization getCatalogVnfResourceCustomization() {\r
255                 return vnfResourceCustomization;\r
256         }\r
257 \r
258         public void setCatalogVnfResourceCustomization(\r
259                         VnfResourceCustomization vnfResourceCustomization) {\r
260                 this.vnfResourceCustomization = vnfResourceCustomization;\r
261         }\r
262 \r
263         public VfModuleCustomization getCatalogVfModuleCustomization() {\r
264                 return vfModuleCustomization;\r
265         }\r
266 \r
267         public void setCatalogVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {\r
268                 this.vfModuleCustomization = vfModuleCustomization;\r
269         }\r
270 \r
271         public ServiceToResourceCustomization getServiceToResourceCustomization() {\r
272                 return serviceToResourceCustomization;\r
273         }\r
274 \r
275         public void setServiceToResourceCustomization(\r
276                         ServiceToResourceCustomization serviceToResourceCustomization) {\r
277                 this.serviceToResourceCustomization = serviceToResourceCustomization;\r
278         }\r
279 \r
280         public AllottedResource getAllottedResource() {\r
281                 return allottedResource;\r
282         }\r
283 \r
284         public void setAllottedResource(AllottedResource allottedResource) {\r
285                 this.allottedResource = allottedResource;\r
286         }\r
287 \r
288         public AllottedResourceCustomization getCatalogAllottedResourceCustomization() {\r
289                 return allottedResourceCustomization;\r
290         }\r
291 \r
292         public void setCatalogAllottedResourceCustomization(\r
293                         AllottedResourceCustomization allottedResourceCustomization) {\r
294                 this.allottedResourceCustomization = allottedResourceCustomization;\r
295         }\r
296 \r
297         public VnfResCustomToVfModuleCustom getCatalogVnfResCustomToVfModuleCustom() {\r
298                 return vnfResCustomToVfModuleCustom;\r
299         }\r
300 \r
301         public void setCatalogVnfResCustomToVfModuleCustom(\r
302                         VnfResCustomToVfModuleCustom vnfResCustomToVfModuleCustom) {\r
303                 this.vnfResCustomToVfModuleCustom = vnfResCustomToVfModuleCustom;\r
304         }\r
305 \r
306         public TempNetworkHeatTemplateLookup getCatalogTempNetworkHeatTemplateLookup() {\r
307                 return tempNetworkHeatTemplateLookup;\r
308         }\r
309 \r
310         public void setCatalogTempNetworkHeatTemplateLookup(\r
311                         TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {\r
312                 this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;\r
313         }\r
314 \r
315         public String getHeatFilesUUID() {\r
316                 return heatFilesUUID;\r
317         }\r
318 \r
319         public void setHeatFilesUUID(String heatFilesUUID) {\r
320                 this.heatFilesUUID = heatFilesUUID;\r
321         }\r
322 \r
323         public VfModuleToHeatFiles getCatalogVfModuleToHeatFiles() {\r
324                 return vfModuleToHeatFiles;\r
325         }\r
326 \r
327         public void setCatalogVfModuleToHeatFiles(VfModuleToHeatFiles vfModuleToHeatFiles) {\r
328                 this.vfModuleToHeatFiles = vfModuleToHeatFiles;\r
329         }\r
330 \r
331         public IArtifactInfo getToscaArtifact() {\r
332                 return toscaArtifact;\r
333         }\r
334 \r
335         public void setToscaArtifact(IArtifactInfo toscaArtifact) {\r
336                 this.toscaArtifact = toscaArtifact;\r
337         }\r
338 \r
339         public ToscaCsar getCatalogToscaCsar() {\r
340                 return toscaCsar;\r
341         }\r
342 \r
343         public void setCatalogToscaCsar(ToscaCsar toscaCsar) {\r
344                 this.toscaCsar = toscaCsar;\r
345         }\r
346 \r
347         public boolean isVnfAlreadyInstalled() {\r
348                 return isVnfAlreadyInstalled;\r
349         }\r
350 \r
351         public void setVnfAlreadyInstalled(boolean isVnfAlreadyInstalled) {\r
352                 this.isVnfAlreadyInstalled = isVnfAlreadyInstalled;\r
353         }\r
354 \r
355         public ServiceToResourceCustomization getCatalogVfServiceToResourceCustomization() {\r
356                 return vfServiceToResourceCustomization;\r
357         }\r
358 \r
359         public void setCatalogVfServiceToResourceCustomization(\r
360                         ServiceToResourceCustomization vfServiceToResourceCustomization) {\r
361                 this.vfServiceToResourceCustomization = vfServiceToResourceCustomization;\r
362         }\r
363 \r
364         public ServiceToResourceCustomization getCatalogAllottedServiceToResourceCustomization() {\r
365                 return allottedServiceToResourceCustomization;\r
366         }\r
367 \r
368         public void setCatalogAllottedServiceToResourceCustomization(\r
369                         ServiceToResourceCustomization allottedServiceToResourceCustomization) {\r
370                 this.allottedServiceToResourceCustomization = allottedServiceToResourceCustomization;\r
371         }\r
372 \r
373         public ServiceToResourceCustomization getCatalogVlServiceToResourceCustomization() {\r
374                 return vlServiceToResourceCustomization;\r
375         }\r
376 \r
377         public void setCatalogVlServiceToResourceCustomization(\r
378                         ServiceToResourceCustomization vlServiceToResourceCustomization) {\r
379                 this.vlServiceToResourceCustomization = vlServiceToResourceCustomization;\r
380         }\r
381 \r
382         public String getVolHeatTemplateUUID() {\r
383                 return volHeatTemplateUUID;\r
384         }\r
385 \r
386         public void setVolHeatTemplateUUID(String volHeatTemplateUUID) {\r
387                 this.volHeatTemplateUUID = volHeatTemplateUUID;\r
388         }\r
389 \r
390         public String getEnvHeatTemplateUUID() {\r
391                 return envHeatTemplateUUID;\r
392         }\r
393 \r
394         public void setEnvHeatTemplateUUID(String envHeatTemplateUUID) {\r
395                 this.envHeatTemplateUUID = envHeatTemplateUUID;\r
396         }\r
397         \r
398         public String getVolHeatEnvTemplateUUID() {\r
399                 return volHeatEnvTemplateUUID;\r
400         }\r
401 \r
402         public void setVolHeatEnvTemplateUUID(String volHeatEnvTemplateUUID) {\r
403                 this.volHeatEnvTemplateUUID = volHeatEnvTemplateUUID;\r
404         }\r
405 \r
406         public String getServiceVersion() {\r
407                 return serviceVersion;\r
408         }\r
409 \r
410         public void setServiceVersion(String serviceVersion) {\r
411                 this.serviceVersion = serviceVersion;\r
412         }\r
413 \r
414         public String getWorkloadPerformance() {\r
415                 return workloadPerformance;\r
416         }\r
417 \r
418         public void setWorkloadPerformance(String workloadPerformance) {\r
419                 this.workloadPerformance = workloadPerformance;\r
420         }\r
421 \r
422         public VfModule getVfModule() {\r
423                 return vfModule;\r
424         }\r
425 \r
426         public void setVfModule(VfModule vfModule) {\r
427                 this.vfModule = vfModule;\r
428         }\r
429 \r
430         public VfModuleCustomization getVfModuleCustomization() {\r
431                 return vfModuleCustomization;\r
432         }\r
433 \r
434         public void setVfModuleCustomization(VfModuleCustomization vfModuleCustomization) {\r
435                 this.vfModuleCustomization = vfModuleCustomization;\r
436         }\r
437 \r
438         public VnfResource getVnfResource() {\r
439                 return vnfResource;\r
440         }\r
441 \r
442         public void setVnfResource(VnfResource vnfResource) {\r
443                 this.vnfResource = vnfResource;\r
444         }\r
445 \r
446         public VnfResourceCustomization getVnfResourceCustomization() {\r
447                 return vnfResourceCustomization;\r
448         }\r
449 \r
450         public void setVnfResourceCustomization(\r
451                         VnfResourceCustomization vnfResourceCustomization) {\r
452                 this.vnfResourceCustomization = vnfResourceCustomization;\r
453         }\r
454 \r
455         public AllottedResourceCustomization getAllottedResourceCustomization() {\r
456                 return allottedResourceCustomization;\r
457         }\r
458 \r
459         public void setAllottedResourceCustomization(\r
460                         AllottedResourceCustomization allottedResourceCustomization) {\r
461                 this.allottedResourceCustomization = allottedResourceCustomization;\r
462         }\r
463 \r
464         public VnfResCustomToVfModuleCustom getVnfResCustomToVfModuleCustom() {\r
465                 return vnfResCustomToVfModuleCustom;\r
466         }\r
467 \r
468         public void setVnfResCustomToVfModuleCustom(\r
469                         VnfResCustomToVfModuleCustom vnfResCustomToVfModuleCustom) {\r
470                 this.vnfResCustomToVfModuleCustom = vnfResCustomToVfModuleCustom;\r
471         }\r
472 \r
473         public TempNetworkHeatTemplateLookup getTempNetworkHeatTemplateLookup() {\r
474                 return tempNetworkHeatTemplateLookup;\r
475         }\r
476 \r
477         public void setTempNetworkHeatTemplateLookup(\r
478                         TempNetworkHeatTemplateLookup tempNetworkHeatTemplateLookup) {\r
479                 this.tempNetworkHeatTemplateLookup = tempNetworkHeatTemplateLookup;\r
480         }\r
481 \r
482         public VfModuleToHeatFiles getVfModuleToHeatFiles() {\r
483                 return vfModuleToHeatFiles;\r
484         }\r
485 \r
486         public void setVfModuleToHeatFiles(VfModuleToHeatFiles vfModuleToHeatFiles) {\r
487                 this.vfModuleToHeatFiles = vfModuleToHeatFiles;\r
488         }\r
489 \r
490         public ToscaCsar getToscaCsar() {\r
491                 return toscaCsar;\r
492         }\r
493 \r
494         public void setToscaCsar(ToscaCsar toscaCsar) {\r
495                 this.toscaCsar = toscaCsar;\r
496         }\r
497 \r
498         public ServiceToResourceCustomization getVfServiceToResourceCustomization() {\r
499                 return vfServiceToResourceCustomization;\r
500         }\r
501 \r
502         public void setVfServiceToResourceCustomization(\r
503                         ServiceToResourceCustomization vfServiceToResourceCustomization) {\r
504                 this.vfServiceToResourceCustomization = vfServiceToResourceCustomization;\r
505         }\r
506 \r
507         public ServiceToResourceCustomization getAllottedServiceToResourceCustomization() {\r
508                 return allottedServiceToResourceCustomization;\r
509         }\r
510 \r
511         public void setAllottedServiceToResourceCustomization(\r
512                         ServiceToResourceCustomization allottedServiceToResourceCustomization) {\r
513                 this.allottedServiceToResourceCustomization = allottedServiceToResourceCustomization;\r
514         }\r
515 \r
516         public ServiceToResourceCustomization getVlServiceToResourceCustomization() {\r
517                 return vlServiceToResourceCustomization;\r
518         }\r
519 \r
520         public void setVlServiceToResourceCustomization(\r
521                         ServiceToResourceCustomization vlServiceToResourceCustomization) {\r
522                 this.vlServiceToResourceCustomization = vlServiceToResourceCustomization;\r
523         }\r
524 \r
525         public static MsoLogger getLogger() {\r
526                 return LOGGER;\r
527         }\r
528         \r
529         public boolean isDeployedSuccessfully() {\r
530                 return isDeployedSuccessfully;\r
531         }\r
532 \r
533         public void setSuccessfulDeployment() {\r
534                 isDeployedSuccessfully = true;\r
535         }\r
536 \r
537 }\r