1 package org.openecomp.sdc.vendorsoftwareproduct.impl;
3 import org.apache.commons.collections4.MapUtils;
4 import org.openecomp.sdc.datatypes.error.ErrorLevel;
5 import org.openecomp.sdc.generator.core.services.ManualVspToscaGenerationService;
6 import org.openecomp.sdc.generator.datatypes.tosca.DeploymentFlavorModel;
7 import org.openecomp.sdc.generator.datatypes.tosca.MultiFlavorVfcImage;
8 import org.openecomp.sdc.generator.datatypes.tosca.VspModelInfo;
9 import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
10 import org.openecomp.sdc.logging.types.LoggerConstants;
11 import org.openecomp.sdc.logging.types.LoggerErrorCode;
12 import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
13 import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
14 import org.openecomp.sdc.vendorsoftwareproduct.ManualVspToscaManager;
15 import org.openecomp.sdc.vendorsoftwareproduct.services.ManualVspDataCollectionService;
16 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
17 import org.openecomp.sdc.versioning.dao.types.Version;
19 import java.util.List;
21 import java.util.Optional;
23 public class ManualVspToscaManagerImpl implements ManualVspToscaManager {
24 private ManualVspDataCollectionService
25 manualVspDataCollectionService = new ManualVspDataCollectionService();
28 public VspModelInfo gatherVspInformation(String vspId, Version version) {
29 VspModelInfo vspModelInfo = new VspModelInfo();
30 //Get Release Vendor Name
31 Optional<String> releaseVendor;
33 releaseVendor = manualVspDataCollectionService.getReleaseVendor(vspId, version);
34 } catch (Exception ex) {
35 releaseVendor = Optional.empty();
36 MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
37 LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
38 LoggerErrorCode.DATA_ERROR.getErrorCode(), "Release Vendor not found : "
41 releaseVendor.ifPresent(vspModelInfo::setReleaseVendor);
43 //Get Allowed Deployment flavors information
44 Map<String, DeploymentFlavorModel> allowedFlavors;
46 allowedFlavors = manualVspDataCollectionService.getAllowedFlavors(vspId, version);
47 } catch (Exception ex) {
48 MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
49 LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
50 LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect allowed flavors : "
52 allowedFlavors = null;
54 if (MapUtils.isNotEmpty(allowedFlavors)) {
55 vspModelInfo.setAllowedFlavors(allowedFlavors);
58 //Get VFC Image information
59 Map<String, List<MultiFlavorVfcImage>> vspComponentImages;
62 manualVspDataCollectionService.getVspComponentImages(vspId, version);
63 } catch (Exception ex) {
64 MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
65 LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
66 LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp component images : "
68 vspComponentImages = null;
70 if (MapUtils.isNotEmpty(vspComponentImages)) {
71 vspModelInfo.setMultiFlavorVfcImages(vspComponentImages);
74 //Get VFC component information
75 Map<String, String> vspComponents;
77 vspComponents = manualVspDataCollectionService.getVspComponents(vspId, version);
78 } catch (Exception ex) {
79 MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
80 LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
81 LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp components : "
85 if (MapUtils.isNotEmpty(vspComponents)) {
86 vspModelInfo.setComponents(vspComponents);
89 //Get VSP component nic information
90 Map<String, List<Nic>> vspComponentNics;
92 vspComponentNics = manualVspDataCollectionService.getVspComponentNics(vspId, version);
93 } catch (Exception ex) {
94 MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
95 LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
96 LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp component nics : "
98 vspComponentNics = null;
100 if (MapUtils.isNotEmpty(vspComponentNics)) {
101 vspModelInfo.setNics(vspComponentNics);
107 public ToscaServiceModel generateToscaModel(VspModelInfo vspModelInfo) {
108 ManualVspToscaGenerationService vspToscaGenerator = new ManualVspToscaGenerationService();
109 ToscaServiceModel manualVspToscaServiceModel =
110 vspToscaGenerator.createManualVspToscaServiceModel(vspModelInfo);
111 return manualVspToscaServiceModel;