Merge "Reorder modifiers"
[so.git] / bpmn / MSOInfrastructureBPMN / src / main / groovy / org / openecomp / mso / bpmn / infrastructure / scripts / CreateVFCNSResource.groovy
index 9456007..fd819fd 100644 (file)
@@ -80,6 +80,8 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
            //deal with operation key\r
            String globalSubscriberId = jsonUtil.getJsonValue(resourceInput, "globalSubscriberId")\r
            utils.log("INFO", "globalSubscriberId:" + globalSubscriberId, isDebugEnabled)\r
+           //set local globalSubscriberId variable\r
+           execution.setVariable("globalSubscriberId", globalSubscriberId);\r
 \r
            String serviceType = execution.getVariable("serviceType")\r
            utils.log("INFO", "serviceType:" + serviceType, isDebugEnabled)\r
@@ -87,10 +89,11 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
            String serviceId = execution.getVariable("serviceInstanceId")\r
            utils.log("INFO", "serviceId:" + serviceId, isDebugEnabled)\r
 \r
-           String operationId = execution.getVariable("requestId")\r
+           String operationId = jsonUtil.getJsonValue(resourceInput, "operationId")\r
            utils.log("INFO", "serviceType:" + serviceType, isDebugEnabled)\r
 \r
-           String nodeTemplateUUID = jsonUtil.getJsonValue(resourceParameters, "requestInputs.nsd0_providing_service_uuid")\r
+           String nodeTemplateUUID = jsonUtil.getJsonValue(resourceInput, "resourceModelInfo.modelCustomizationUuid")\r
+           String nsServiceModelUUID = jsonUtil.getJsonValue(resourceParameters, "requestInputs.nsd0_providing_service_uuid")\r
            utils.log("INFO", "nodeTemplateUUID:" + nodeTemplateUUID, isDebugEnabled)\r
            /*\r
             * segmentInformation needed as a object of segment\r
@@ -114,6 +117,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
                     }"""\r
            execution.setVariable("nsOperationKey", nsOperationKey);\r
            execution.setVariable("nsParameters", nsParameters)\r
+           execution.setVariable("nsServiceModelUUID", nsServiceModelUUID);\r
            \r
 \r
        } catch (BpmnError e) {\r
@@ -133,6 +137,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
         def isDebugEnabled=execution.getVariable("isDebugLogEnabled")\r
         utils.log("INFO"," *****  createNetworkService *****",  isDebugEnabled)\r
         String nsOperationKey = execution.getVariable("nsOperationKey");\r
+        String nsServiceModelUUID = execution.getVariable("nsServiceModelUUID");\r
         String nsParameters = execution.getVariable("nsParameters");\r
         String nsServiceName = execution.getVariable("nsServiceName")\r
         String nsServiceDescription = execution.getVariable("nsServiceDescription")\r
@@ -141,6 +146,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
         String reqBody ="""{\r
                 "nsServiceName":"${nsServiceName}",\r
                 "nsServiceDescription":"${nsServiceDescription}",\r
+                "nsServiceModelUUID":"${nsServiceModelUUID}",\r
                 "nsOperationKey":${nsOperationKey},\r
                 "nsParameters":{\r
                      "locationConstraints":${locationConstraints},\r
@@ -232,10 +238,10 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
         }\r
         String globalSubscriberId = execution.getVariable("globalSubscriberId")\r
         String serviceType = execution.getVariable("serviceType")\r
-        String serviceId = execution.getVariable("serviceId")\r
+        String serviceId = execution.getVariable("serviceInstanceId")\r
         String addRelationPayload = """<relationship xmlns="http://org.openecomp.aai.inventory/v11">\r
                                             <related-to>service-instance</related-to>\r
-                                            <related-link>/aai/v11/business/customers/customer/${globalSubscriberId}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${nsInstanceId}</related-link>\r
+                                            <related-link>/aai/v11/business/customers/customer/${globalSubscriberId}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceId}</related-link>\r
                                             <relationship-data>\r
                                                 <relationship-key>customer.global-customer-id</relationship-key>\r
                                                 <relationship-value>${globalSubscriberId}</relationship-value>\r
@@ -246,12 +252,12 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
                                             </relationship-data>\r
                                            <relationship-data>\r
                                                 <relationship-key>service-instance.service-instance-id</relationship-key>\r
-                                                <relationship-value>${nsInstanceId}</relationship-value>\r
+                                                <relationship-value>${serviceId}</relationship-value>\r
                                             </relationship-data>           \r
                                         </relationship>"""\r
         String endpoint = execution.getVariable("URN_aai_endpoint")  \r
         utils.log("INFO","Add Relationship req:\n" + addRelationPayload,  isDebugEnabled)\r
-        String url = endpoint + "/aai/v11/business/customers/customer/" + globalSubscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances/service-instance/" + serviceId + "/relationship-list/relationship"\r
+        String url = endpoint + "/aai/v11/business/customers/customer/" + globalSubscriberId + "/service-subscriptions/service-subscription/" + serviceType + "/service-instances/service-instance/" + nsInstanceId + "/relationship-list/relationship"\r
         APIResponse aaiRsp = executeAAIPutCall(execution, url, addRelationPayload)\r
         utils.log("INFO","aai response status code:" + aaiRsp.getStatusCode(),  isDebugEnabled)\r
         utils.log("INFO","aai response content:" + aaiRsp.getResponseBodyAsString(),  isDebugEnabled)\r
@@ -263,7 +269,7 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
         utils.log("INFO", " ======== Started Execute AAI Put Process ======== ",  isDebugEnabled) \r
         APIResponse apiResponse = null\r
         try{\r
-            String uuid = utils.getRequestID()\r
+            String uuid = execution.getVariable("mso-request-id");\r
             utils.log("INFO","Generated uuid is: " + uuid,  isDebugEnabled) \r
             utils.log("INFO","URL to be used is: " + url,  isDebugEnabled) \r
             String userName = execution.getVariable("URN_aai_auth")\r
@@ -305,4 +311,25 @@ public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
         }        \r
         return apiResponse\r
     }\r
+    \r
+       public void sendSyncResponse (DelegateExecution execution) {\r
+               def isDebugEnabled=execution.getVariable("isDebugLogEnabled")\r
+               utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)\r
+\r
+               try {\r
+                       String operationStatus = execution.getVariable("operationStatus")\r
+                       // RESTResponse for main flow\r
+                       String resourceOperationResp = """{"operationStatus":"${operationStatus}"}""".trim()\r
+                       utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + resourceOperationResp, isDebugEnabled)\r
+                       sendWorkflowResponse(execution, 202, resourceOperationResp)\r
+                       execution.setVariable("sentSyncResponse", true)\r
+\r
+               } catch (Exception ex) {\r
+                       String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()\r
+                       utils.log("DEBUG", msg, isDebugEnabled)\r
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)\r
+               }\r
+               utils.log("DEBUG"," ***** Exit sendSyncResopnse *****",  isDebugEnabled)\r
+       }\r
+\r
 }\r