Enable ControllerExecutionBB for service scope
[so.git] / bpmn / MSOCommonBPMN / src / main / java / org / onap / so / client / cds / ConfigureInstanceParamsForVnf.java
index 43283ac..5d8388b 100644 (file)
@@ -20,8 +20,9 @@
 
 package org.onap.so.client.cds;
 
-import com.google.gson.JsonObject;
+import static org.onap.so.client.cds.ConfigureInstanceParamsUtil.applyParamsToObject;
 import org.apache.commons.lang3.StringUtils;
+import com.google.gson.JsonObject;
 import org.onap.so.client.exception.PayloadGenerationException;
 import org.onap.so.serviceinstancebeans.Service;
 import org.onap.so.serviceinstancebeans.Vnfs;
@@ -48,19 +49,20 @@ public class ConfigureInstanceParamsForVnf {
     public void populateInstanceParams(JsonObject jsonObject, List<Map<String, Object>> userParamsFromRequest,
             String modelCustomizationUuid, String vnfInstanceName) throws PayloadGenerationException {
         try {
-            Service service = extractServiceFromUserParameters.getServiceFromRequestUserParams(userParamsFromRequest);
+            Optional<Service> service =
+                    extractServiceFromUserParameters.getServiceFromRequestUserParams(userParamsFromRequest);
 
-            List<Map<String, String>> instanceParamsList;
-            if (StringUtils.isNotBlank(vnfInstanceName)) {
-                instanceParamsList = getInstanceParamByVnfInstanceName(service, vnfInstanceName);
-            } else {
-                instanceParamsList = getInstanceParamForVnf(service, modelCustomizationUuid);
+            if (service.isPresent()) {
+                List<Map<String, String>> instanceParamsList;
+                if (StringUtils.isNotBlank(vnfInstanceName)) {
+                    instanceParamsList = getInstanceParamByVnfInstanceName(service.get(), vnfInstanceName);
+                } else {
+                    instanceParamsList = getInstanceParamForVnf(service.get(), modelCustomizationUuid);
+                }
+                applyParamsToObject(instanceParamsList, jsonObject);
             }
-
-            instanceParamsList.stream().flatMap(instanceParamsMap -> instanceParamsMap.entrySet().stream())
-                    .forEachOrdered(entry -> jsonObject.addProperty(entry.getKey(), entry.getValue()));
         } catch (Exception e) {
-            throw new PayloadGenerationException("Couldn't able to resolve instance parameters", e);
+            throw new PayloadGenerationException("Failed to resolve instance parameters", e);
         }
     }