Merge "Reorder modifiers"
[so.git] / bpmn / MSOInfrastructureBPMN / src / main / groovy / org / openecomp / mso / bpmn / vcpe / scripts / CreateVcpeResCustService.groovy
index 05c3fa2..68f50e0 100644 (file)
@@ -74,6 +74,9 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor {
         execution.setVariable("brgWanMacAddress", "")
         execution.setVariable("customerLocation", "")
         execution.setVariable("homingService", "")
+        execution.setVariable("cloudOwner", "")
+        execution.setVariable("cloudRegionId", "")
+        execution.setVariable("homingModelIds", "")
 
         //TODO
         execution.setVariable("sdncVersion", "1707")
@@ -127,6 +130,11 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor {
 
             serviceInstanceId = UriUtils.encode(serviceInstanceId, "UTF-8")
             execution.setVariable("serviceInstanceId", serviceInstanceId)
+            utils.log("DEBUG", "Incoming serviceInstanceId is: " + serviceInstanceId, isDebugEnabled)
+
+            String serviceInstanceName = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.instanceName")
+            execution.setVariable("serviceInstanceName", serviceInstanceName)
+            utils.log("DEBUG", "Incoming serviceInstanceName is: " + serviceInstanceName, isDebugEnabled)
 
             String requestAction = execution.getVariable("requestAction")
             execution.setVariable("requestAction", requestAction)
@@ -169,6 +177,17 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor {
             execution.setVariable("subscriberInfo", subscriberInfo)
             utils.log("DEBUG", "Incoming subscriberInfo is: " + subscriberInfo, isDebugEnabled)
 
+            // extract cloud configuration, split vid_ID into cloudOwner and cloudRegionId
+            String vimId = jsonUtil.getJsonValue(createVcpeServiceRequest,
+                    "requestDetails.cloudConfiguration.lcpCloudRegionId")
+            def cloudRegion = vimId.split("_")
+            def cloudOwner = cloudRegion[0].toString()
+            def cloudRegionId = cloudRegion[1].toString()
+            execution.setVariable("cloudOwner", cloudOwner)
+            utils.log("DEBUG","cloudOwner: " + cloudOwner, isDebugEnabled)
+            execution.setVariable("cloudRegionId", cloudRegionId)
+            utils.log("DEBUG","cloudRegionId: " + cloudRegionId, isDebugEnabled)
+
             /*
             * Extracting User Parameters from incoming Request and converting into a Map
             */
@@ -181,28 +200,47 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor {
             def userParams = reqMap.requestDetails?.requestParameters?.userParams
 
             Map<String, String> inputMap = [:]
-
-          if (userParams) {
+            if (userParams) {
                 userParams.each {
-                                userParam ->
-                                if("BRG_WAN_MAC_Address".equals(userParam?.name)) {
-                                                execution.setVariable("brgWanMacAddress", userParam.value)
-                                                inputMap.put("BRG_WAN_MAC_Address", userParam.value)
-                                }
-                                if("Customer_Location".equals(userParam?.name)) {
-                                    execution.setVariable("customerLocation", userParam.value)
-                                    userParam.value.each {
-                                        customerLocParam ->
-                                        inputMap.put(customerLocParam.key, customerLocParam.value)
+                    userParam ->
+                        if ("Customer_Location".equals(userParam?.name)) {
+                            execution.setVariable("customerLocation", userParam.value)
+                            userParam.value.each {
+                                param ->
+                                    inputMap.put(param.key, param.value)
+                            }
+                        }
+                        if ("Homing_Model_Ids".equals(userParam?.name)) {
+                            utils.log("DEBUG", "Homing_Model_Ids: " + userParam.value.toString() + "  ---- Type is:" +
+                                    userParam.value.getClass() , isDebugEnabled)
+                            def modelIdLst = []
+                            userParam.value.each {
+                                param ->
+                                    def valueMap = [:]
+                                    param.each {
+                                        entry ->
+                                            valueMap.put(entry.key, entry.value)
                                     }
-                                }
-                                if("Homing_Solution".equals(userParam?.name)) {
-                                    execution.setVariable("homingService", userParam.value)
-                                    inputMap.put("Homing_Solution", userParam.value)
-                                } else {
-                                    execution.setVariable("homingService", "oof")
-                                }
-                }
+                                    modelIdLst.add(valueMap)
+                                    utils.log("DEBUG", "Param: " + param.toString() + "  ---- Type is:" +
+                                            param.getClass() , isDebugEnabled)
+                            }
+                            execution.setVariable("homingModelIds", modelIdLst)
+                        }
+                        if ("BRG_WAN_MAC_Address".equals(userParam?.name)) {
+                            execution.setVariable("brgWanMacAddress", userParam.value)
+                            inputMap.put("BRG_WAN_MAC_Address", userParam.value)
+                        }
+                        if ("Homing_Solution".equals(userParam?.name)) {
+                            execution.setVariable("homingService", userParam.value)
+                            inputMap.put("Homing_Solution", userParam.value)
+                        }
+                  }
+            }
+
+            if (execution.getVariable("homingService") == "") {
+                // Set Default Homing to OOF if not set
+                execution.setVariable("homingService", "oof")
             }
 
             utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
@@ -404,7 +442,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor {
             VnfResource vr = it.next()
 
             String role = vr.getNfRole()
-            if (role == "BRG" || role == "TunnelXConn") {
+            if (role == "BRG" || role == "TunnelXConn" || role == "Tunnel XConn") {
                 it.remove()
             }
         }
@@ -438,7 +476,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor {
 
                     utils.log("DEBUG", " getting model info for AllottedResource # :" + allottedResource.toJsonStringNoRootName(), isDebugEnabled)
                     utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + allottedResource.getAllottedResourceType(), isDebugEnabled)
-                    if ("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())) {
+                    if ("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType()) || "Tunnel XConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())) {
                         //set create flag to true
                         execution.setVariable("createTXCAR", true)
                         ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo()