aboutsummaryrefslogtreecommitdiffstats
path: root/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/ConfigureInstanceParamsForVfModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/ConfigureInstanceParamsForVfModule.java')
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/ConfigureInstanceParamsForVfModule.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/ConfigureInstanceParamsForVfModule.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/ConfigureInstanceParamsForVfModule.java
index 6f850fa898..eeaecb9264 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/ConfigureInstanceParamsForVfModule.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/cds/ConfigureInstanceParamsForVfModule.java
@@ -21,7 +21,7 @@
package org.onap.so.client.cds;
import com.google.gson.JsonObject;
-import org.onap.so.client.cds.ExtractServiceFromUserParameters;
+import org.apache.commons.lang3.StringUtils;
import org.onap.so.client.exception.PayloadGenerationException;
import org.onap.so.serviceinstancebeans.Service;
import org.onap.so.serviceinstancebeans.VfModules;
@@ -47,12 +47,17 @@ public class ConfigureInstanceParamsForVfModule {
* @throws PayloadGenerationException- If it doesn't able to populate instance parameters from SO payload.
*/
public void populateInstanceParams(JsonObject jsonObject, List<Map<String, Object>> userParamsFromRequest,
- String vnfCustomizationUuid, String vfModuleCustomizationUuid) throws PayloadGenerationException {
+ String vnfCustomizationUuid, String vfModuleCustomizationUuid, String vfModuleInstanceName)
+ throws PayloadGenerationException {
try {
Service service = extractServiceFromUserParameters.getServiceFromRequestUserParams(userParamsFromRequest);
- List<Map<String, String>> instanceParamsList =
- getInstanceParams(service, vnfCustomizationUuid, vfModuleCustomizationUuid);
+ List<Map<String, String>> instanceParamsList;
+ if (StringUtils.isNotBlank(vfModuleInstanceName)) {
+ instanceParamsList = getInstanceParamsByInstanceNames(service, vfModuleInstanceName);
+ } else {
+ instanceParamsList = getInstanceParams(service, vnfCustomizationUuid, vfModuleCustomizationUuid);
+ }
instanceParamsList.stream().flatMap(instanceParamsMap -> instanceParamsMap.entrySet().stream())
.forEachOrdered(entry -> jsonObject.addProperty(entry.getKey(), entry.getValue()));
@@ -61,6 +66,14 @@ public class ConfigureInstanceParamsForVfModule {
}
}
+ private List<Map<String, String>> getInstanceParamsByInstanceNames(Service service, String vfModuleInstanceName)
+ throws PayloadGenerationException {
+ return service.getResources().getVnfs().stream().map(Vnfs::getVfModules).flatMap(List::stream)
+ .filter(vfm -> vfModuleInstanceName.equals(vfm.getInstanceName())).findFirst()
+ .map(VfModules::getInstanceParams).orElseThrow(() -> new PayloadGenerationException(
+ "Could not find vfModule with instanceName: " + vfModuleInstanceName));
+ }
+
private List<Map<String, String>> getInstanceParams(Service service, String vnfCustomizationUuid,
String vfModuleCustomizationUuid) throws PayloadGenerationException {