Added input parameter loading handling from SDNC
[so.git] / bpmn / so-bpmn-tasks / src / main / java / org / onap / so / bpmn / infrastructure / adapter / vnfm / tasks / VnfmAdapterCreateVnfTask.java
index 23ddb6f..4e15474 100644 (file)
@@ -23,11 +23,14 @@ package org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks;
 import static org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.Constants.CREATE_VNF_REQUEST_PARAM_NAME;
 import static org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.Constants.CREATE_VNF_RESPONSE_PARAM_NAME;
 import static org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.Constants.DOT;
+import static org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.Constants.INPUT_PARAMETER;
 import static org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.Constants.SPACE;
 import static org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.Constants.UNDERSCORE;
 import static org.onap.so.bpmn.servicedecomposition.entities.ResourceKey.GENERIC_VNF_ID;
 
 import org.onap.so.bpmn.common.BuildingBlockExecution;
+import org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.utils.InputParameter;
+import org.onap.so.bpmn.infrastructure.adapter.vnfm.tasks.utils.NullInputParameter;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
 import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
@@ -83,10 +86,14 @@ public class VnfmAdapterCreateVnfTask {
             final GenericVnf vnf = extractPojosForBB.extractByKey(execution, GENERIC_VNF_ID);
             final ModelInfoGenericVnf modelInfoGenericVnf = vnf.getModelInfoGenericVnf();
 
+            final InputParameter inputParameter = getInputParameter(execution);
+
             final CreateVnfRequest createVnfRequest = new CreateVnfRequest();
 
             createVnfRequest.setName(getName(vnf.getVnfName(), modelInfoGenericVnf.getModelInstanceName()));
             createVnfRequest.setTenant(getTenant(cloudRegion));
+            createVnfRequest.setAdditionalParams(inputParameter.getAdditionalParams());
+            createVnfRequest.setExternalVirtualLinks(inputParameter.getExtVirtualLinks());
 
             LOGGER.info("CreateVnfRequest : {}", createVnfRequest);
 
@@ -99,6 +106,11 @@ public class VnfmAdapterCreateVnfTask {
         }
     }
 
+    private InputParameter getInputParameter(final BuildingBlockExecution execution) {
+        final InputParameter inputParameter = execution.getVariable(INPUT_PARAMETER);
+        return inputParameter != null ? inputParameter : NullInputParameter.NULL_INSTANCE;
+    }
+
     /**
      * Invoke VNFM adapter to create and instantiate VNF
      *