Add nssiId for AllocateTNNSSI request
[so.git] / bpmn / so-bpmn-infrastructure-common / src / main / groovy / org / onap / so / bpmn / infrastructure / scripts / DoUpdateVnfAndModules.groovy
index 6b42406..0285ae2 100644 (file)
@@ -4,12 +4,14 @@
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
+ * Modifications Copyright (c) 2019 Samsung
+ * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
 package org.onap.so.bpmn.infrastructure.scripts
 
-import static org.apache.commons.lang3.StringUtils.*;
+import org.onap.so.logger.LoggingAnchor
+import org.onap.so.client.HttpClientFactory
+import org.onap.logging.filter.base.ErrorCode
 
+import javax.ws.rs.core.Response
 import org.camunda.bpm.engine.delegate.BpmnError
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.onap.so.bpmn.common.scripts.AaiUtil
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.bpmn.common.scripts.ExceptionUtil
 import org.onap.so.bpmn.common.scripts.MsoUtils
-import org.onap.so.bpmn.core.UrnPropertiesReader
 import org.onap.so.bpmn.core.domain.ModelInfo
 import org.onap.so.bpmn.core.domain.ModuleResource
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.aaiclient.client.graphinventory.entities.uri.Depth
+import org.onap.so.client.HttpClient
+import org.onap.aaiclient.client.aai.AAIObjectType
+import org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri
+import org.onap.aaiclient.client.aai.entities.uri.AAIUriFactory
+import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder
+import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types
 import org.onap.so.logger.MessageEnum
-import org.onap.so.logger.MsoLogger
-import org.onap.so.rest.APIResponse
-import org.onap.so.rest.RESTClient
-import org.onap.so.rest.RESTConfig
-import org.springframework.web.util.UriUtils;
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+import org.onap.logging.filter.base.ONAPComponents;
 
 /**
  * This class supports the VID Flow
  * with the update of a generic vnf and related VF modules.
  */
 class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
-       private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoUpdateVnfAndModules.class);
+    private static final Logger logger = LoggerFactory.getLogger( DoUpdateVnfAndModules.class);
 
        String Prefix="DUVAM_"
        ExceptionUtil exceptionUtil = new ExceptionUtil()
-       JsonUtils jsonUtil = new JsonUtils()    
+       JsonUtils jsonUtil = new JsonUtils()
 
        /**
         * This method gets and validates the incoming
         * request.
         *
         * @param - execution
-        *      
+        *
         */
        public void preProcessRequest(DelegateExecution execution) {
 
                execution.setVariable("prefix",Prefix)
-               msoLogger.trace("STARTED DoUpdateVnfAndModules PreProcessRequest Process")
+               logger.trace("STARTED DoUpdateVnfAndModules PreProcessRequest Process")
 
                try{
-                       // Get Variables                                
-                       
+                       // Get Variables
+
                        String requestId = execution.getVariable("msoRequestId")
-                       execution.setVariable("requestId", requestId)                   
+                       execution.setVariable("requestId", requestId)
                        execution.setVariable("mso-request-id", requestId)
-                       msoLogger.debug("Incoming Request Id is: " + requestId)
+                       logger.debug("Incoming Request Id is: " + requestId)
+
+                       String serviceInstanceId = execution.getVariable("serviceInstanceId")
+                       logger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
 
-                       String serviceInstanceId = execution.getVariable("serviceInstanceId")                   
-                       msoLogger.debug("Incoming Service Instance Id is: " + serviceInstanceId)
+                       String vnfId = execution.getVariable("vnfId")
+                       logger.debug("Incoming Vnf Id is: " + vnfId)
 
-                       String vnfId = execution.getVariable("vnfId")                   
-                       msoLogger.debug("Incoming Vnf Id is: " + vnfId)                 
-                       
                        String source = "VID"
                        execution.setVariable("DUVAM_source", source)
-                       msoLogger.debug("Incoming Source is: " + source)
-                       
+                       logger.debug("Incoming Source is: " + source)
+
                        String sdncVersion = execution.getVariable("sdncVersion")
                        if (sdncVersion == null) {
                                sdncVersion = "1702"
                        }
                        execution.setVariable("DUVAM_sdncVersion", sdncVersion)
-                       msoLogger.debug("Incoming Sdnc Version is: " + sdncVersion)
-                       
-                       VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition")                       
-                       
+                       logger.debug("Incoming Sdnc Version is: " + sdncVersion)
+
+                       VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition")
+
                        String vnfModelInfo = execution.getVariable("vnfModelInfo")
                        String serviceModelInfo = execution.getVariable("serviceModelInfo")
-                               
+
                        String serviceId = execution.getVariable("productFamilyId")
                        execution.setVariable("DUVAM_serviceId", serviceId)
-                       msoLogger.debug("Incoming Service Id is: " + serviceId)                         
-                       
-                       String modelUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelUuid")                     
+                       logger.debug("Incoming Service Id is: " + serviceId)
+
+                       String modelUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelUuid")
                        execution.setVariable("DUVAM_modelUuid", modelUuid)
-                       msoLogger.debug("Incoming modelUuid is: " + modelUuid)                          
-                               
-                       String modelCustomizationUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelCustomizationUuid")                   
+                       logger.debug("Incoming modelUuid is: " + modelUuid)
+
+                       String modelCustomizationUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelCustomizationUuid")
                        execution.setVariable("DUVAM_modelCustomizationUuid", modelCustomizationUuid)
-                       msoLogger.debug("Incoming Model Customization Uuid is: " + modelCustomizationUuid)
-                                       
+                       logger.debug("Incoming Model Customization Uuid is: " + modelCustomizationUuid)
+
                        String cloudSiteId = execution.getVariable("lcpCloudRegionId")
                        execution.setVariable("DUVAM_cloudSiteId", cloudSiteId)
-                       msoLogger.debug("Incoming Cloud Site Id is: " + cloudSiteId)
-                                       
+                       logger.debug("Incoming Cloud Site Id is: " + cloudSiteId)
+
                        String tenantId = execution.getVariable("tenantId")
                        execution.setVariable("DUVAM_tenantId", tenantId)
-                       msoLogger.debug("Incoming Tenant Id is: " + tenantId)
-                               
+                       logger.debug("Incoming Tenant Id is: " + tenantId)
+
                        String globalSubscriberId = execution.getVariable("globalSubscriberId")
                        if (globalSubscriberId == null) {
                                globalSubscriberId = ""
                        }
                        execution.setVariable("DUVAM_globalSubscriberId", globalSubscriberId)
-                       msoLogger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
-                       
+                       logger.debug("Incoming Global Subscriber Id is: " + globalSubscriberId)
+
                        execution.setVariable("DUVAM_moduleCount", 0)
                        execution.setVariable("DUVAM_nextModule", 0)
-                       
-                       
+
+
                }catch(BpmnError b){
-                       msoLogger.debug("Rethrowing MSOWorkflowException")
+                       logger.debug("Rethrowing MSOWorkflowException")
                        throw b
                }catch(Exception e){
-                       msoLogger.debug(" Error Occured in DoUpdateVnfAndModules PreProcessRequest method!" + e.getMessage())
+                       logger.debug(" Error Occured in DoUpdateVnfAndModules PreProcessRequest method!" + e.getMessage())
                        exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in DoUpdateVnfAndModules PreProcessRequest")
 
                }
-               msoLogger.trace("COMPLETED DoUpdateVnfAndModules PreProcessRequest Process ")
-       }       
-       
+               logger.trace("COMPLETED DoUpdateVnfAndModules PreProcessRequest Process ")
+       }
+
        /**
         * Using the received vnfId and vfModuleId, query AAI to get the corresponding VNF info.
         * A 200 response is expected with the VNF info in the response body. Will find out the base module info.
@@ -146,54 +155,52 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                def method = getClass().getSimpleName() + '.queryAAIVfModule(' +
                        'execution=' + execution.getId() +
                        ')'
-               msoLogger.trace('Entered ' + method)
+               logger.trace('Entered ' + method)
 
                try {
                        def vnfId = execution.getVariable('vnfId')
-                       
-                       AaiUtil aaiUriUtil = new AaiUtil(this)
-                       String  aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution)
-                       msoLogger.debug('AAI URI is: ' + aai_uri)
 
-                       String endPoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + "?depth=1"
-                       msoLogger.debug("AAI endPoint: " + endPoint)
+                       AaiUtil aaiUriUtil = new AaiUtil(this)
+                       AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf(vnfId)).depth(Depth.ONE)
+                       String endPoint = aaiUriUtil.createAaiUri(uri)
+                       logger.debug("AAI endPoint: " + endPoint)
 
                        try {
-                               RESTConfig config = new RESTConfig(endPoint);
+                               HttpClient client = new HttpClientFactory().newXmlClient(new URL(endPoint), ONAPComponents.AAI)
+                               client.addAdditionalHeader('X-TransactionId', UUID.randomUUID().toString())
+                               client.addAdditionalHeader('X-FromAppId', 'MSO')
+                               client.addAdditionalHeader('Content-Type', 'application/xml')
+                               client.addAdditionalHeader('Accept','application/xml')
+
                                def responseData = ''
-                               def aaiRequestId = UUID.randomUUID().toString()
-                               RESTClient client = new RESTClient(config).
-                                       addHeader('X-TransactionId', aaiRequestId).
-                                       addHeader('X-FromAppId', 'MSO').
-                                       addHeader('Content-Type', 'application/xml').
-                                       addHeader('Accept','application/xml');
-                               msoLogger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
-                               APIResponse response = client.httpGet()
-                               msoLogger.debug("createVfModule - invoking httpGet() to AAI")
-
-                               responseData = response.getResponseBodyAsString()
+
+                               logger.debug('sending GET to AAI endpoint \'' + endPoint + '\'')
+                               Response response = client.get()
+                               logger.debug("createVfModule - invoking httpGet() to AAI")
+
+                               responseData = response.readEntity(String.class)
                                if (responseData != null) {
-                                       msoLogger.debug("Received generic VNF data: " + responseData)
+                                       logger.debug("Received generic VNF data: " + responseData)
 
                                }
 
-                               msoLogger.debug("createVfModule - queryAAIVfModule Response: " + responseData)
-                               msoLogger.debug("createVfModule - queryAAIVfModule ResponseCode: " + response.getStatusCode())
+                               logger.debug("createVfModule - queryAAIVfModule Response: " + responseData)
+                               logger.debug("createVfModule - queryAAIVfModule ResponseCode: " + response.getStatus())
 
-                               execution.setVariable('DUVAM_queryAAIVfModuleResponseCode', response.getStatusCode())
+                               execution.setVariable('DUVAM_queryAAIVfModuleResponseCode', response.getStatus())
                                execution.setVariable('DUVAM_queryAAIVfModuleResponse', responseData)
-                               msoLogger.debug('Response code:' + response.getStatusCode())
-                               msoLogger.debug('Response:' + System.lineSeparator() + responseData)
+                               logger.debug('Response code:' + response.getStatus())
+                               logger.debug('Response:' + System.lineSeparator() + responseData)
                                //Map<String, String>[] vfModules = new HashMap<String,String>[]
                                def vfModulesList = new ArrayList<Map<String,String>>()
                                def vfModules = null
                                def vfModuleBaseEntry = null
-                               if (response.getStatusCode() == 200) {
+                               if (response.getStatus() == 200) {
                                        // Parse the VNF record from A&AI to find base module info
-                                       msoLogger.debug('Parsing the VNF data to find base module info')
+                                       logger.debug('Parsing the VNF data to find base module info')
                                        if (responseData != null) {
                                                def vfModulesText = utils.getNodeXml(responseData, "vf-modules")
-                                               msoLogger.debug("vModulesText: " + vfModulesText)
+                                               logger.debug("vModulesText: " + vfModulesText)
                                                if (vfModulesText != null && !vfModulesText.trim().isEmpty()) {
                                                        def xmlVfModules= new XmlSlurper().parseText(vfModulesText)
                                                        vfModules = xmlVfModules.'**'.findAll {it.name() == "vf-module"}
@@ -201,7 +208,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                                                        int vfModulesSize = 0
                                                        for (i in 0..vfModules.size()-1) {
                                                                def vfModuleXml = groovy.xml.XmlUtil.serialize(vfModules[i])
-                                                       
+
                                                                Map<String, String> vfModuleEntry = new HashMap<String, String>()
                                                                def vfModuleId = utils.getNodeText(vfModuleXml, "vf-module-id")
                                                                vfModuleEntry.put("vfModuleId", vfModuleId)
@@ -213,20 +220,20 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                                                                vfModuleEntry.put("modelUuid", modelUuid)
                                                                def modelCustomizationUuid = utils.getNodeText(vfModuleXml, "model-customization-id")
                                                                vfModuleEntry.put("modelCustomizationUuid", modelCustomizationUuid)
-                                                                                                               
+
                                                                def isBaseVfModule = utils.getNodeText(vfModuleXml, "is-base-vf-module")
                                                                vfModuleEntry.put("isBaseVfModule", isBaseVfModule)
-                                                               
+
                                                                String volumeGroupId = ''
-                                                               
-                                                               msoLogger.debug("Next module!")
+
+                                                               logger.debug("Next module!")
                                                                def vfModuleRelationships = vfModules[i].'**'.findAll {it.name() == 'relationship-data'}
                                                                if (vfModuleRelationships.size() > 0) {
-                                                                       for (j in 0..vfModuleRelationships.size()-1) {                                                                          
+                                                                       for (j in 0..vfModuleRelationships.size()-1) {
                                                                                if (vfModuleRelationships[j] != null) {
-                                                                       
-                                                                                       def relationshipKey = vfModuleRelationships[j].'**'.findAll {it.name() == 'relationship-key'}                                                                                   
-                                                                               
+
+                                                                                       def relationshipKey = vfModuleRelationships[j].'**'.findAll {it.name() == 'relationship-key'}
+
                                                                                        if (relationshipKey[0] == 'volume-group.volume-group-id') {
                                                                                                def relationshipValue = vfModuleRelationships[j].'**'.findAll {it.name() == 'relationship-value'}
                                                                                                volumeGroupId = relationshipValue[0]
@@ -235,101 +242,104 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                                                                                }
                                                                        }
                                                                }
-                                                               
+
                                                                vfModuleEntry.put("volumeGroupId", volumeGroupId)
-                                                               msoLogger.debug("volumeGroupId is: " + volumeGroupId)
+                                                               logger.debug("volumeGroupId is: " + volumeGroupId)
 
                                                                // Save base vf module to add it to the start of the list later
-                                                               if (isBaseVfModule == "true") {                                                                 
+                                                               if (isBaseVfModule == "true") {
                                                                        vfModuleBaseEntry = vfModuleEntry
                                                                }
-                                                               else {                                          
+                                                               else {
                                                                        vfModulesList.add(vfModuleEntry)
                                                                }
                                                        }
                                                        // Start the list with the base module if any
                                                        if (vfModuleBaseEntry != null) {
                                                                vfModulesList.add(0, vfModuleBaseEntry)
-                                                       }                                       
+                                                       }
                                                }
-                                               
-                                       }                                       
+
+                                       }
                                }
                                else {
-                                       msoLogger.debug('Response code from AAI GET is: ' + response.getStatusCode())
+                                       logger.debug('Response code from AAI GET is: ' + response.getStatusCode())
                                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Response code from AAI GET is: ' + response.getStatusCode())
                                }
                                execution.setVariable("DUVAM_vfModules", vfModulesList)
                        } catch (Exception ex) {
-                               ex.printStackTrace()
-                               msoLogger.debug('Exception occurred while executing AAI GET:' + ex.getMessage())
+                               logger.debug('Exception occurred while executing AAI GET: {}', ex.getMessage(), ex)
                                exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'AAI GET Failed:' + ex.getMessage())
                        }
-                       msoLogger.trace('Exited ' + method)
+                       logger.trace('Exited ' + method)
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception e) {
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Caught exception in ' + method, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
+                       logger.error(LoggingAnchor.FIVE, MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(),
+                                       'Caught exception in ' + method, "BPMN",
+                                       ErrorCode.UnknownError.getValue(), "Exception is:\n" + e);
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModule(): ' + e.getMessage())
                }
        }
-       
+
        public void prepareNextModuleToUpdate(DelegateExecution execution){
 
                execution.setVariable("prefix", Prefix)
-               msoLogger.trace("STARTED prepareNextModuleToUpdate ")
-               
+               logger.trace("STARTED prepareNextModuleToUpdate ")
+
                try {
                        int i = execution.getVariable("DUVAM_nextModule")
                        def vfModules = execution.getVariable("DUVAM_vfModules")
                        def vfModule = vfModules[i]
-                       
+
                        def vfModuleId = vfModule.get("vfModuleId")
                        execution.setVariable("DUVAM_vfModuleId", vfModuleId)
-                       
+
                        def vfModuleName = vfModule.get("vfModuleName")
                        execution.setVariable("DUVAM_vfModuleName", vfModuleName)
-                       
+
                        def isBaseVfModule = vfModule.get("isBaseVfModule")
                        execution.setVariable("DUVAM_isBaseVfModule", isBaseVfModule)
-                       
+
                        String modelInvariantUuid = vfModule.get("modelInvariantUuid")
-                       msoLogger.debug("ModelInvariantUuid: " + modelInvariantUuid)                    
-                       
+                       logger.debug("ModelInvariantUuid: " + modelInvariantUuid)
+
                        def volumeGroupId = vfModule.get("volumeGroupId")
                        execution.setVariable("DUVAM_volumeGroupId", volumeGroupId)
 
                        execution.setVariable("DUVAM_volumeGroupName", "")
-                       
+
                        VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition")
                        List<ModuleResource> moduleResources = vnfResource.getVfModules()
-                       
+
                        if (moduleResources != null && !moduleResources.isEmpty()) {
-                       
-                               for (j in 0..moduleResources.size()-1) {                                
+
+                               for (j in 0..moduleResources.size()-1) {
                                        ModelInfo modelInfo = moduleResources[j].getModelInfo()
                                        String modelInvariantUuidFromDecomposition = modelInfo.getModelInvariantUuid()
-                                       msoLogger.debug("modelInvariantUuidFromDecomposition: " + modelInvariantUuidFromDecomposition)
-                                       
+                                       logger.debug("modelInvariantUuidFromDecomposition: " + modelInvariantUuidFromDecomposition)
+
                                        if (modelInvariantUuid.equals(modelInvariantUuidFromDecomposition)) {
                                                String vfModuleModelInfo = modelInfo.toJsonString()
                                                String vfModuleModelInfoValue = jsonUtil.getJsonValue(vfModuleModelInfo, "modelInfo")
                                                execution.setVariable("DUVAM_vfModuleModelInfo", vfModuleModelInfoValue)
-                                               msoLogger.debug("vfModuleModelInfo: " + vfModuleModelInfoValue)
+                                               logger.debug("vfModuleModelInfo: " + vfModuleModelInfoValue)
                                                break
                                        }
-                                       
+
                                }
-                       }                       
-                       
+                       }
+
                }catch(Exception e){
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Exception Occured Processing preProcessAddOnModule. Exception is:\n" + e, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
+                       logger.error(LoggingAnchor.FIVE, MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(),
+                                       "Exception Occured Processing preProcessAddOnModule. Exception is:\n" + e, "BPMN",
+                                       ErrorCode.UnknownError.getValue(), "Exception is:\n" + e);
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occurred during prepareNextModuleToUpdate Method:\n" + e.getMessage())
                }
-               msoLogger.trace("COMPLETED prepareNextModuleToUpdate ")
+               logger.trace("COMPLETED prepareNextModuleToUpdate ")
        }
-       
-       
+
+
        /**
         * Prepare a Request for invoking the UpdateAAIGenericVnf subflow.
         *
@@ -340,26 +350,26 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                        'execution=' + execution.getId() +
                        ')'
 
-               msoLogger.trace('Entered ' + method)
-               try {                   
+               logger.trace('Entered ' + method)
+
+               try {
                        def vnfId = execution.getVariable('vnfId')
                        VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition")
                        ModelInfo vnfDecompModelInfo = vnfResource.getModelInfo()
                        String vnfModelInfo = execution.getVariable("vnfModelInfo")
                        String modelUuid = execution.getVariable("DUVAM_modelUuid")
                        if (modelUuid == null || modelUuid.isEmpty()) {
-                               modelUuid = vnfDecompModelInfo.getModelUuid()                   
+                               modelUuid = vnfDecompModelInfo.getModelUuid()
                        }
                        String modelCustomizationUuid = execution.getVariable("DUVAM_modelCustomizationUuid")
                        if (modelCustomizationUuid == null || modelCustomizationUuid.isEmpty()) {
                                modelCustomizationUuid = vnfDecompModelInfo.getModelCustomizationUuid()
-                       }                               
+                       }
                        String nfType = vnfResource.getNfType()
                        String nfTypeString = ''
                        if (nfType != null && !nfType.isEmpty()) {
                                nfTypeString = "<nf-type>" + nfType + "</nf-type>"
-                       }                       
+                       }
                        String nfRole = vnfResource.getNfRole()
                        String nfRoleString = ''
                        if (nfRole != null && !nfRole.isEmpty()) {
@@ -374,8 +384,8 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                        String nfNamingCodeString = ''
                        if (nfNamingCode != null && !nfNamingCode.isEmpty()) {
                                nfNamingCodeString = "<nf-naming-code>" + nfNamingCode + "</nf-naming-code>"
-                       }                       
+                       }
+
                        String updateAAIGenericVnfRequest = """
                                        <UpdateAAIGenericVnfRequest>
                                                <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
@@ -389,19 +399,21 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                                """
                                updateAAIGenericVnfRequest = utils.formatXml(updateAAIGenericVnfRequest)
                                execution.setVariable('DUVAM_updateAAIGenericVnfRequest', updateAAIGenericVnfRequest)
-                               msoLogger.debug("updateAAIGenericVnfRequest : " + updateAAIGenericVnfRequest)
-                               msoLogger.debug('Request for UpdateAAIGenericVnf:\n' + updateAAIGenericVnfRequest)
-                       msoLogger.trace('Exited ' + method)
+                               logger.debug("updateAAIGenericVnfRequest : " + updateAAIGenericVnfRequest)
+                               logger.debug('Request for UpdateAAIGenericVnf:\n' + updateAAIGenericVnfRequest)
+
+
+                       logger.trace('Exited ' + method)
                } catch (BpmnError e) {
                        throw e;
                } catch (Exception e) {
-                       msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, 'Caught exception in ' + method, "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + e);
+                       logger.error(LoggingAnchor.FIVE, MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(),
+                                       'Caught exception in ' + method, "BPMN",
+                                       ErrorCode.UnknownError.getValue(), "Exception is:\n" + e);
                        exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in prepUpdateAAIGenericVnf(): ' + e.getMessage())
                }
        }
-       
+
        /**
         * APP-C Call - placeholder.
         *
@@ -412,6 +424,6 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor {
                        'execution=' + execution.getId() +
                        ')'
 
-               msoLogger.trace('Entered ' + method)    
+               logger.trace('Entered ' + method)
        }
 }