1710 Rebase - Second Attempt
[so.git] / bpmn / MSOCommonBPMN / src / main / groovy / org / openecomp / mso / bpmn / common / scripts / SDNCAdapterUtils.groovy
index 4ca0370..cd5828e 100644 (file)
@@ -438,6 +438,15 @@ class SDNCAdapterUtils {
         public String sdncTopologyRequestV2 (Execution execution, String requestXML, String serviceInstanceId, String callbackUrl, String action, String requestAction, String cloudRegionId, networkId, String queryAAIResponse, String additionalData) {\r
                 def utils=new MsoUtils()\r
 \r
+                // SNDC is expecting request Id for header as unique each call.\r
+                String hdrRequestId = ""\r
+                String testHdrRequestId = execution.getVariable("testMessageId")  // for test purposes.\r
+                if (testHdrRequestId == null) {\r
+                        hdrRequestId = UUID.randomUUID()  // generate unique\r
+                } else {\r
+                        hdrRequestId = testHdrRequestId\r
+                }\r
+                \r
                 String requestId = ""\r
                 try {\r
                         requestId = execution.getVariable("mso-request-id")\r
@@ -457,7 +466,7 @@ class SDNCAdapterUtils {
 \r
                 // Replace/Use the value of network-type from aai query (vs input) during Delete Network flows.\r
                 if (queryAAIResponse != null) {\r
-                        networkType = utils.getNodeText1(queryAAIResponse, "network-type")\r
+                    networkType = utils.getNodeText1(queryAAIResponse, "network-type")\r
                 }\r
 \r
                 String serviceId = ""\r
@@ -486,17 +495,17 @@ class SDNCAdapterUtils {
                         // get subscriber name\r
                         int subscriberNameStart = siRelatedLink.indexOf("customers/customer/")\r
                         int subscriberNameEnd = siRelatedLink.indexOf("/service-subscriptions/")\r
-                        subscriberName = siRelatedLink.substring(subscriberNameStart + 19, subscriberNameEnd)\r
+                    subscriberName = siRelatedLink.substring(subscriberNameStart + 19, subscriberNameEnd)\r
                         subscriberName = UriUtils.decode(subscriberName,"UTF-8")\r
                 }\r
 \r
                 String content =\r
-                       """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://openecomp.com/mso/workflow/schema/v1"\r
-                                                 xmlns:sdncadapterworkflow="http://openecomp.com/mso/workflow/schema/v1"\r
-                                                 xmlns:sdncadapter="http://domain2.openecomp.com/workflow/sdnc/adapter/schema/v1"\r
-                                                 xmlns:ns5="http://openecomp.com/mso/request/types/v1">\r
+                       """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
+                                                 xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"\r
+                                                 xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1"\r
+                                                 xmlns:ns5="http://org.openecomp/mso/request/types/v1">\r
                                           <sdncadapter:RequestHeader>\r
-                                                 <sdncadapter:RequestId>${requestId}</sdncadapter:RequestId>\r
+                                                 <sdncadapter:RequestId>${hdrRequestId}</sdncadapter:RequestId>\r
                                                  <sdncadapter:SvcInstanceId>${serviceInstanceId}</sdncadapter:SvcInstanceId>\r
                                                  <sdncadapter:SvcAction>${action}</sdncadapter:SvcAction>\r
                                                  <sdncadapter:SvcOperation>network-topology-operation</sdncadapter:SvcOperation>\r
@@ -551,22 +560,21 @@ class SDNCAdapterUtils {
                  String hdrRequestId = ""\r
                  String testHdrRequestId = execution.getVariable("testMessageId")  // for test purposes.\r
                  if (testHdrRequestId == null) {\r
-                         hdrRequestId = UUID.randomUUID()  // generate unique\r
+                     hdrRequestId = UUID.randomUUID()  // generate unique\r
                  } else {\r
-                         hdrRequestId = testHdrRequestId\r
+                     hdrRequestId = testHdrRequestId\r
                  }\r
 \r
                  String requestId = ""\r
                  String testRequestId = execution.getVariable("testMessageId")  // for test purposes.\r
                  if (testRequestId == null) {\r
-                         try {\r
-                                 requestId = execution.getVariable("mso-request-id")\r
-                         } catch (Exception ex) {\r
-                                       requestId = utils.getNodeText1(requestXML, "request-id")\r
-                         }\r
+                         requestId = execution.getVariable("mso-request-id")\r
+                         if (requestId == null) {\r
+                                 requestId = execution.getVariable("msoRequestId")\r
+                         }             \r
                  } else {\r
-                               requestId = testRequestId\r
-                 }\r
+                         requestId = testRequestId\r
+                 }               \r
                  \r
                  String aicCloudRegion = cloudRegionId\r
                  String tenantId = ""\r
@@ -621,32 +629,32 @@ class SDNCAdapterUtils {
                  // network-information from 'networkModelInfo' // verify the DB Catalog response\r
                  String networkModelInfo = utils.getNodeXml(requestXML, "networkModelInfo", false).replace("tag0:","").replace(":tag0","")\r
                  String modelInvariantUuid = utils.getNodeText1(networkModelInfo, "modelInvariantUuid") !=null ?\r
-                                                                         utils.getNodeText1(networkModelInfo, "modelInvariantUuid") : ""\r
+                                             utils.getNodeText1(networkModelInfo, "modelInvariantUuid") : ""\r
                  String modelCustomizationUuid = utils.getNodeText1(networkModelInfo, "modelCustomizationUuid")  !=null ?\r
-                                                                                 utils.getNodeText1(networkModelInfo, "modelCustomizationUuid")  : ""\r
+                                                 utils.getNodeText1(networkModelInfo, "modelCustomizationUuid")  : ""\r
                  String modelUuid = utils.getNodeText1(networkModelInfo, "modelUuid") !=null ?\r
-                                                        utils.getNodeText1(networkModelInfo, "modelUuid") : ""\r
+                                    utils.getNodeText1(networkModelInfo, "modelUuid") : ""\r
                  String modelVersion = utils.getNodeText1(networkModelInfo, "modelVersion") !=null ?\r
-                                                                 utils.getNodeText1(networkModelInfo, "modelVersion") : ""\r
+                                           utils.getNodeText1(networkModelInfo, "modelVersion") : ""\r
                  String modelName = utils.getNodeText1(networkModelInfo, "modelName") !=null ?\r
-                                                        utils.getNodeText1(networkModelInfo, "modelName") : ""\r
+                                    utils.getNodeText1(networkModelInfo, "modelName") : ""\r
 \r
                 // service-information from 'networkModelInfo' // verify the DB Catalog response\r
                 String serviceModelInfo = utils.getNodeXml(requestXML, "serviceModelInfo", false).replace("tag0:","").replace(":tag0","")\r
                 String serviceModelInvariantUuid = utils.getNodeText1(serviceModelInfo, "modelInvariantUuid")  !=null ?\r
-                                                                                       utils.getNodeText1(serviceModelInfo, "modelInvariantUuid")  : ""\r
+                                                                                   utils.getNodeText1(serviceModelInfo, "modelInvariantUuid")  : ""\r
                 String serviceModelUuid = utils.getNodeText1(serviceModelInfo, "modelUuid") !=null ?\r
-                                                                  utils.getNodeText1(serviceModelInfo, "modelUuid") : ""\r
+                                                              utils.getNodeText1(serviceModelInfo, "modelUuid") : ""\r
                 String serviceModelVersion = utils.getNodeText1(serviceModelInfo, "modelVersion") !=null ?\r
-                                                                         utils.getNodeText1(serviceModelInfo, "modelVersion") : ""\r
+                                                                 utils.getNodeText1(serviceModelInfo, "modelVersion") : ""\r
                 String serviceModelName = utils.getNodeText1(serviceModelInfo, "modelName") !=null ?\r
-                                                                  utils.getNodeText1(serviceModelInfo, "modelName") : ""\r
+                                                          utils.getNodeText1(serviceModelInfo, "modelName") : ""\r
 \r
 \r
                  String content =\r
-                 """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://openecomp.com/mso/workflow/schema/v1"\r
-                                                                   xmlns:sdncadapter="http://domain2.openecomp.com/workflow/sdnc/adapter/schema/v1" \r
-                                                    xmlns:sdncadapterworkflow="http://openecomp.com/mso/workflow/schema/v1">\r
+                 """<aetgt:SDNCAdapterWorkflowRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"\r
+                                                                   xmlns:sdncadapter="http://org.openecomp.mso/workflow/sdnc/adapter/schema/v1" \r
+                                                    xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1">\r
                                           <sdncadapter:RequestHeader>\r
                                                  <sdncadapter:RequestId>${hdrRequestId}</sdncadapter:RequestId>\r
                                                  <sdncadapter:SvcInstanceId>${serviceInstanceId}</sdncadapter:SvcInstanceId>\r
@@ -774,8 +782,9 @@ class SDNCAdapterUtils {
                                        }\r
                                        try{\r
 \r
-                                               // if a response code is 0 or 200 then Success\r
-                                               if (requestDataResponseCode == 200 || requestDataResponseCode == 0) {\r
+                                               execution.setVariable(prefix+'sdncRequestDataResponseCode', requestDataResponseCode.toString())\r
+                                               // if a response code is 0 or 2XX then Success\r
+                                               if ((requestDataResponseCode >= 200 && requestDataResponseCode <= 299) || requestDataResponseCode == 0) {\r
                                                        execution.setVariable(prefix+'sdncResponseSuccess', true)\r
                                                        taskProcessor.utils.log("DEBUG", "Setting sdncResponseSuccess to True ", isDebugLogEnabled)\r
                                                        taskProcessor.utils.log("DEBUG", "Exited ValidateSDNCResponse Method", isDebugLogEnabled)\r
@@ -892,7 +901,7 @@ class SDNCAdapterUtils {
                                                taskProcessor.utils.log("DEBUG", "intDataResponseCode " + intDataResponseCode , isDebugLogEnabled)\r
 \r
                                                // if response-code is not Success (200, 201, etc) we need to throw an exception\r
-                                               if (intDataResponseCode != 200 &&  intDataResponseCode != 0) {\r
+                                               if ((intDataResponseCode < 200 || intDataResponseCode > 299) && intDataResponseCode != 0) {\r
                                                        execution.setVariable(prefix+'ResponseCode', intDataResponseCode)\r
                                                        execution.setVariable("L3HLAB_rollback", true)\r
                                                        def msg = trinityExceptionUtil.mapSDNCAdapterExceptionToErrorResponse(response, execution)\r
@@ -927,29 +936,32 @@ class SDNCAdapterUtils {
                        }\r
                        \r
        public String modelInfoToEcompModelInformation(String jsonModelInfo) {\r
-               String modelInvariantId = jsonUtil.getJsonValue(jsonModelInfo, "modelInvariantId")\r
-               String modelVersionId = jsonUtil.getJsonValue(jsonModelInfo, "modelVersionId")\r
-               if (modelVersionId == null) {\r
-                       modelVersionId = ""\r
+               String modelInvariantUuid = jsonUtil.getJsonValue(jsonModelInfo, "modelInvariantUuid")\r
+               String modelUuid = jsonUtil.getJsonValue(jsonModelInfo, "modelUuid")\r
+               if (modelUuid == null) {\r
+                       modelUuid = ""\r
                }\r
                String modelCustomizationUuid = jsonUtil.getJsonValue(jsonModelInfo, "modelCustomizationUuid")\r
                String modelCustomizationString = ""\r
                if (modelCustomizationUuid != null) {\r
                        modelCustomizationString = "<model-customization-uuid>${modelCustomizationUuid}</model-customization-uuid>"\r
-               }\r
+               }                       \r
                String modelVersion = jsonUtil.getJsonValue(jsonModelInfo, "modelVersion")\r
+               if (modelVersion == null) {\r
+                       modelVersion = ""\r
+               }               \r
                String modelName = jsonUtil.getJsonValue(jsonModelInfo, "modelName")\r
                String ecompModelInformation =\r
                                """<ecomp-model-information>\r
-                                               <model-invariant-uuid>${modelInvariantId}</model-invariant-uuid>\r
-                                               <model-uuid>${modelVersionId}</model-uuid>\r
+                                               <model-invariant-uuid>${modelInvariantUuid}</model-invariant-uuid>\r
+                                               <model-uuid>${modelUuid}</model-uuid>\r
                                                ${modelCustomizationString}\r
                                                <model-version>${modelVersion}</model-version>\r
                                                <model-name>${modelName}</model-name>\r
                                </ecomp-model-information>"""\r
 \r
-               return ecompModelInformation\r
-       }\r
+               return ecompModelInformation            \r
+       } \r
 \r
        /**\r
         * Decode XML - replace &amp; &lt; and &gt; with '&', '<' and '>'\r