1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
package org.openecomp.sdc.vendorsoftwareproduct.impl;
import org.apache.commons.collections4.MapUtils;
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.api.Logger;
import org.openecomp.sdc.logging.api.LoggerFactory;
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.services.ManualVspDataCollectionService;
import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
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();
private ManualVspDataCollectionService
manualVspDataCollectionService = new ManualVspDataCollectionService();
private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
@Override
public VspModelInfo gatherVspInformation(String vspId, Version version, String user) {
mdcDataDebugMessage.debugEntryMessage(null, null);
VspModelInfo vspModelInfo = new VspModelInfo();
//Get Release Vendor Name
Optional<String> releaseVendor;
try {
releaseVendor = manualVspDataCollectionService.getReleaseVendor(vspId, version, user);
} catch (Exception ex) {
log.debug("", 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 : "
+ ex.getMessage());
}
releaseVendor.ifPresent(vspModelInfo::setReleaseVendor);
//Get Allowed Deployment flavors information
Map<String, DeploymentFlavorModel> allowedFlavors;
try {
allowedFlavors = manualVspDataCollectionService.getAllowedFlavors(vspId, version, user);
} catch (Exception ex) {
log.debug("", 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 : "
+ ex.getMessage());
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) {
log.debug("", 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 : "
+ ex.getMessage());
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) {
log.debug("", 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 : "
+ ex.getMessage());
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) {
log.debug("", 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 : "
+ ex.getMessage());
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;
}
}
|