[MSO-8] Update the maven dependency
[so.git] / bpmn / MSOInfrastructureBPMN / src / main / groovy / org / openecomp / mso / bpmn / infrastructure / scripts / UpdateVfModuleVolumeInfraV1.groovy
  * ============LICENSE_END=========================================================
  */
 
-package com.att.bpm.scripts
+package org.openecomp.mso.bpmn.infrastructure.scripts
 
 import groovy.json.JsonSlurper
+
 import java.util.concurrent.ExecutionException;
 
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.runtime.Execution
 import org.apache.commons.lang3.*
 import org.springframework.web.util.UriUtils
-
+import org.openecomp.mso.bpmn.common.scripts.AaiUtil;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.common.scripts.VfModuleBase;
+import org.openecomp.mso.bpmn.common.scripts.VidUtils;
 import org.openecomp.mso.bpmn.core.WorkflowException
 import org.openecomp.mso.rest.APIResponse
 import org.openecomp.mso.rest.RESTClient
@@ -101,7 +105,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                        // assume request is in XML format - proceed as usual to process XML request
                }
                
-               def requestId = execution.getVariable('att-mso-request-id')
+               def requestId = execution.getVariable('mso-request-id')
                
                def requestInfo = getRequiredNodeXml(execution, request, 'request-info')
                execution.setVariable('UPDVfModVol_requestInfo', requestInfo)
@@ -117,7 +121,20 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                execution.setVariable('UPDVfModVol_serviceId', getRequiredNodeText(execution, volumeInputs, 'service-id'))
                execution.setVariable('UPDVfModVol_aicCloudRegion', getRequiredNodeText(execution, volumeInputs, 'aic-cloud-region'))
                execution.setVariable('UPDVfModVol_tenantId', getRequiredNodeText(execution, volumeInputs, 'tenant-id'))
+               //execution.setVariable('UPDVfModVol_modelCustomizationId', getRequiredNodeText(execution, volumeInputs, 'model-customization-id'))
 
+               try {
+                       // Catalog DB headers Authorization
+                       String basicAuthValueDB = execution.getVariable("URN_mso_adapters_db_auth")
+                       utils.log("DEBUG", " Obtained BasicAuth userid password for Catalog DB adapter: " + basicAuthValueDB, isDebugLogEnabled)
+                       
+                       def encodedString = utils.getBasicAuth(basicAuthValueDB, execution.getVariable("URN_mso_msoKey"))
+                       execution.setVariable("BasicAuthHeaderValueDB",encodedString)
+               } catch (IOException ex) {
+                       String dataErrorMessage = " Unable to encode Catalog DB user/password string - " + ex.getMessage()
+                       utils.log("DEBUG", dataErrorMessage, isDebugLogEnabled)
+                       exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
+               }
                def volumeParams = utils.getNodeXml(request, 'volume-params')
                execution.setVariable('UPDVfModVol_volumeParams', volumeParams)
        }
@@ -143,7 +160,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                def volumeInputs = execution.getVariable('UPDVfModVol_volumeInputs')
                
                String xmlSyncResponse = """
-                       <volume-request xmlns="http://ecomp.att.com/mso/infra/vnf-request/v1">
+                       <volume-request xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
                                <request-info>
                                        <request-id>${requestId}</request-id>
                                        <action>UPDATE_VF_MODULE_VOL</action>
@@ -336,6 +353,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                def aaiVolumeGroupResponse = execution.getVariable('UPDVfModVol_aaiVolumeGroupResponse')
                def volumeGroupHeatStackId = getNodeTextForce(aaiVolumeGroupResponse, 'heat-stack-id')
                def volumeGroupName = getNodeTextForce(aaiVolumeGroupResponse, 'volume-group-name')
+               def modelCustomizationId = getNodeTextForce(aaiVolumeGroupResponse, 'vf-module-persona-model-customization-id')
                
                def vnfType = execution.getVariable('UPDVfModVol_vnfType')
                def vnfVersion = execution.getVariable('UPDVfModVol_vnfVersion')
@@ -351,8 +369,8 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                def requestId = execution.getVariable('UPDVfModVol_requestId')
                def serviceId = execution.getVariable('UPDVfModVol_serviceId')
                
-               def messageId = execution.getVariable('att-mso-request-id') + '-' + System.currentTimeMillis()
-               def notificationUrl = execution.getVariable("URN_mso_workflow_vnfadapter_rest_callback")
+               def messageId = execution.getVariable('mso-request-id') + '-' + System.currentTimeMillis()
+               def notificationUrl = createCallbackURL(execution, "VNFAResponse", messageId)
                def useQualifiedHostName = execution.getVariable("URN_mso_use_qualified_host")
                if ('true'.equals(useQualifiedHostName)) {
                                notificationUrl = utils.getQualifiedHostNameForCallback(notificationUrl)
@@ -370,6 +388,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                                <vnfType>${vnfType}</vnfType>
                                <vnfVersion>${vnfVersion}</vnfVersion>
                                <vfModuleType></vfModuleType>
+                               <modelCustomizationUuid>${modelCustomizationId}</modelCustomizationUuid>
                                <volumeGroupParams>
                                        <entry>
                                                <key>vnf_id</key>
@@ -414,7 +433,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                
                String updateInfraRequest = """
                        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
-                                       xmlns:req="http://com.att.mso/requestsdb">
+                                       xmlns:req="http://org.openecomp.mso/requestsdb">
                                <soapenv:Header/>
                                <soapenv:Body>
                                        <req:updateInfraRequest>
@@ -439,9 +458,9 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
        public void prepCompletionHandlerRequest(Execution execution, requestId, action, source, isDebugLogEnabled) {
 
                String content = """
-               <aetgt:MsoCompletionRequest xmlns:aetgt="http://ecomp.att.com/mso/workflow/schema/v1"
-                                       xmlns:ns="http://ecomp.att.com/mso/request/types/v1">
-                       <request-info xmlns="http://ecomp.att.com/mso/infra/vnf-request/v1">
+               <aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+                                       xmlns:ns="http://org.openecomp/mso/request/types/v1">
+                       <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
                                <request-id>${requestId}</request-id>
                                <action>CREATE</action>
                                <source>${source}</source>
@@ -473,10 +492,10 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase {
                }
 
                String content = """
-                       <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://ecomp.att.com/mso/workflow/schema/v1"
-                                       xmlns:reqtype="http://ecomp.att.com/mso/request/types/v1"
-                                       xmlns:msoservtypes="http://ecomp.att.com/mso/request/types/v1"
-                                       xmlns:structuredtypes="http://ecomp.att.com/mso/structured/types/v1">
+                       <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
+                                       xmlns:reqtype="http://org.openecomp/mso/request/types/v1"
+                                       xmlns:msoservtypes="http://org.openecomp/mso/request/types/v1"
+                                       xmlns:structuredtypes="http://org.openecomp/mso/structured/types/v1">
                                ${requestInfo}
                                <sdncadapterworkflow:WorkflowException>
                                        <sdncadapterworkflow:ErrorMessage>${encErrorResponseMsg}</sdncadapterworkflow:ErrorMessage>