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