summaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java117
1 files changed, 117 insertions, 0 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java
new file mode 100644
index 0000000000..ef33812ddc
--- /dev/null
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java
@@ -0,0 +1,117 @@
+package org.openecomp.sdc.vendorsoftwareproduct.impl;
+
+import org.apache.commons.collections4.MapUtils;
+import org.openecomp.sdc.datatypes.error.ErrorLevel;
+import org.openecomp.sdc.datatypes.error.ErrorLevel;
+import org.openecomp.sdc.generator.core.services.ManualVspToscaGenerationService;
+import org.openecomp.sdc.generator.datatypes.tosca.DeploymentFlavorModel;
+import org.openecomp.sdc.generator.datatypes.tosca.MultiFlavorVfcImage;
+import org.openecomp.sdc.generator.datatypes.tosca.VspModelInfo;
+import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
+import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage;
+import org.openecomp.sdc.logging.types.LoggerConstants;
+import org.openecomp.sdc.logging.types.LoggerErrorCode;
+import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
+import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
+import org.openecomp.sdc.vendorsoftwareproduct.ManualVspToscaManager;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
+import org.openecomp.sdc.vendorsoftwareproduct.utils.ManualVspDataCollectionService;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+public class ManualVspToscaManagerImpl implements ManualVspToscaManager {
+
+ private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
+
+ @Override
+ public VspModelInfo gatherVspInformation(String vspId, Version version, String user) {
+ mdcDataDebugMessage.debugEntryMessage(null, null);
+ ManualVspDataCollectionService
+ manualVspDataCollectionService = new ManualVspDataCollectionService();
+ VspModelInfo vspModelInfo = new VspModelInfo();
+ //Get Release Vendor Name
+ Optional<String> releaseVendor;
+ try {
+ releaseVendor = manualVspDataCollectionService.getReleaseVendor(vspId, version, user);
+ } catch (Exception ex) {
+ releaseVendor = Optional.empty();
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
+ LoggerErrorCode.DATA_ERROR.getErrorCode(), "Release Vendor not found");
+ }
+ releaseVendor.ifPresent(vspModelInfo::setReleaseVendor);
+
+ //Get Allowed Deployment flavors information
+ Map<String, DeploymentFlavorModel> allowedFlavors;
+ try {
+ allowedFlavors = manualVspDataCollectionService.getAllowedFlavors(vspId, version, user);
+ } catch (Exception ex) {
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
+ LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect allowed flavors");
+ allowedFlavors = null;
+ }
+ if (MapUtils.isNotEmpty(allowedFlavors)) {
+ vspModelInfo.setAllowedFlavors(allowedFlavors);
+ }
+
+ //Get VFC Image information
+ Map<String, List<MultiFlavorVfcImage>> vspComponentImages;
+ try {
+ vspComponentImages =
+ manualVspDataCollectionService.getVspComponentImages(vspId, version, user);
+ } catch (Exception ex) {
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
+ LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp component images");
+ vspComponentImages = null;
+ }
+ if (MapUtils.isNotEmpty(vspComponentImages)) {
+ vspModelInfo.setMultiFlavorVfcImages(vspComponentImages);
+ }
+
+ //Get VFC component information
+ Map<String, String> vspComponents;
+ try {
+ vspComponents = manualVspDataCollectionService.getVspComponents(vspId, version, user);
+ } catch (Exception ex) {
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
+ LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp components");
+ vspComponents = null;
+ }
+ if (MapUtils.isNotEmpty(vspComponents)) {
+ vspModelInfo.setComponents(vspComponents);
+ }
+
+ //Get VSP component nic information
+ Map<String, List<Nic>> vspComponentNics;
+ try {
+ vspComponentNics = manualVspDataCollectionService.getVspComponentNics(vspId, version, user);
+ } catch (Exception ex) {
+ MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API,
+ LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(),
+ LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp component nics");
+ vspComponentNics = null;
+ }
+ if (MapUtils.isNotEmpty(vspComponentNics)) {
+ vspModelInfo.setNics(vspComponentNics);
+ }
+
+ mdcDataDebugMessage.debugExitMessage(null, null);
+ return vspModelInfo;
+ }
+
+ @Override
+ public ToscaServiceModel generateToscaModel(VspModelInfo vspModelInfo) {
+ mdcDataDebugMessage.debugEntryMessage(null, null);
+ ManualVspToscaGenerationService vspToscaGenerator = new ManualVspToscaGenerationService();
+ ToscaServiceModel manualVspToscaServiceModel =
+ vspToscaGenerator.createManualVspToscaServiceModel(vspModelInfo);
+ mdcDataDebugMessage.debugExitMessage(null, null);
+ return manualVspToscaServiceModel;
+ }
+}