* ================================================================================
* 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
package org.onap.so.bpmn.infrastructure.scripts
-import org.apache.commons.lang3.*
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.onap.so.bpmn.common.scripts.AaiUtil;
+import org.camunda.bpm.engine.delegate.DelegateExecution
+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.logging.filter.base.ErrorCode
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.WorkflowException
+import org.onap.so.logger.LoggingAnchor
import org.onap.so.logger.MessageEnum
-import org.onap.so.logger.MsoLogger
-import org.onap.so.rest.APIResponse
-
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
+
class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor {
- private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, CreateVfModuleVolumeInfraV1.class);
+ private static final Logger logger = LoggerFactory.getLogger( CreateVfModuleVolumeInfraV1.class);
public static final String prefix='CVMVINFRAV1_'
/**
execution.setVariable(prefix+'syncResponseSent', false)
String createVolumeIncoming = validateRequest(execution, 'vnfId')
- msoLogger.debug(createVolumeIncoming)
+ logger.debug(createVolumeIncoming)
try {
def jsonSlurper = new JsonSlurper()
Map reqMap = jsonSlurper.parseText(createVolumeIncoming)
setupVariables(execution, reqMap, isDebugEnabled)
- msoLogger.debug("XML request:\n" + createVolumeIncoming)
+ logger.debug("XML request:\n" + createVolumeIncoming)
}
catch(groovy.json.JsonException je) {
(new ExceptionUtil()).buildAndThrowWorkflowException(execution, 2500, 'Request is not a valid JSON document')
// volumeGroupId - is generated
String volumeGroupId = UUID.randomUUID()
execution.setVariable('volumeGroupId', volumeGroupId)
- msoLogger.debug("Generated volumeGroupId: " + volumeGroupId)
+ logger.debug("Generated volumeGroupId: " + volumeGroupId)
// volumeGroupName
def volGrpName = requestMap.requestDetails.requestInfo?.instanceName ?: ''
def lcpCloudRegionId = requestMap.requestDetails.cloudConfiguration.lcpCloudRegionId
execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
+ // cloudOwner
+ def cloudOwner = requestMap.requestDetails.cloudConfiguration.cloudOwner
+ execution.setVariable('cloudOwner', cloudOwner)
+
// tenant
def tenantId = requestMap.requestDetails.cloudConfiguration.tenantId
execution.setVariable('tenantId', tenantId)
// disableRollback (true or false)
def disableRollback = requestMap.requestDetails.requestInfo.suppressRollback
execution.setVariable('disableRollback', disableRollback)
- msoLogger.debug('disableRollback (suppressRollback) from request: ' + disableRollback)
+ logger.debug('disableRollback (suppressRollback) from request: ' + disableRollback)
}
String syncResponse = """{"requestReferences":{"instanceId":"${volumeGroupId}","requestId":"${requestId}"}}""".trim()
- msoLogger.debug("Sync Response: " + "\n" + syncResponse)
+ logger.debug("Sync Response: " + "\n" + syncResponse)
sendWorkflowResponse(execution, 200, syncResponse)
execution.setVariable(prefix+'syncResponseSent', true)
* @param isDebugEnabled
*/
public void buildWorkflowException(DelegateExecution execution, int errorCode, errorMessage, isDebugEnabled) {
- msoLogger.debug(errorMessage)
+ logger.debug(errorMessage)
(new ExceptionUtil()).buildWorkflowException(execution, 2500, errorMessage)
}
String buildDBRequestAsString = utils.formatXml(dbRequest)
execution.setVariable(prefix+"createDBRequest", buildDBRequestAsString)
- msoLogger.debug("DB Infra Request: " + buildDBRequestAsString)
+ logger.debug("DB Infra Request: " + buildDBRequestAsString)
}
def dbReturnCode = execution.getVariable(prefix+'dbReturnCode')
def createDBResponse = execution.getVariable(prefix+'createDBResponse')
- msoLogger.debug('DB return code: ' + dbReturnCode)
- msoLogger.debug('DB response: ' + createDBResponse)
+ logger.debug('DB return code: ' + dbReturnCode)
+ logger.debug('DB response: ' + createDBResponse)
def requestId = execution.getVariable("mso-request-id")
def source = execution.getVariable(prefix+'source')
execution.setVariable(prefix+'Success', true)
execution.setVariable(prefix+'CompleteMsoProcessRequest', xmlMsoCompletionRequest)
- msoLogger.debug(" Overall SUCCESS Response going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest)
+ logger.debug(" Overall SUCCESS Response going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest)
}
String xmlHandlerRequest = utils.formatXml(falloutHandlerRequest)
execution.setVariable(prefix+'FalloutHandlerRequest', xmlHandlerRequest)
- msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Overall Error Response going to FalloutHandler", "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "\n" + xmlHandlerRequest);
+ logger.error(LoggingAnchor.FIVE, MessageEnum.BPMN_GENERAL_EXCEPTION_ARG.toString(), "Overall Error Response " +
+ "going to FalloutHandler", "BPMN", ErrorCode.UnknownError.getValue(), "\n" + xmlHandlerRequest);
}
def request = execution.getVariable(prefix+"Request")
def serviceInstanceId = utils.getNodeText(request, "service-instance-id")
-
- AaiUtil aaiUtil = new AaiUtil(this)
- String aaiEndpoint = aaiUtil.getSearchNodesQueryEndpoint(execution)
-
- def String queryAAIRequest = aaiEndpoint + "?search-node-type=service-instance&filter=service-instance-id:EQUALS:" + serviceInstanceId
- msoLogger.debug("AAI query service instance request: " + queryAAIRequest)
-
- APIResponse response = aaiUtil.executeAAIGetCall(execution, queryAAIRequest)
-
- String returnCode = response.getStatusCode()
- String aaiResponseAsString = response.getResponseBodyAsString()
-
- msoLogger.debug("AAI query service instance return code: " + returnCode)
- msoLogger.debug("AAI query service instance response: " + aaiResponseAsString)
-
ExceptionUtil exceptionUtil = new ExceptionUtil()
+ try {
- if (returnCode=='200') {
- msoLogger.debug('Service instance ' + serviceInstanceId + ' found in AAI.')
- } else {
- if (returnCode=='404') {
+ AAIResourceUri uri = AAIUriFactory.createNodesUri(Types.SERVICE_INSTANCE.getFragment(serviceInstanceId))
+ if(getAAIClient().exists(uri)){
+ logger.debug('Service instance ' + serviceInstanceId + ' found in AAI.')
+ }else{
def message = 'Service instance ' + serviceInstanceId + ' was not found in AAI. Return code: 404.'
- msoLogger.debug(message)
+ logger.debug(message)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, message)
- } else {
- WorkflowException aWorkflowException = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
- throw new BpmnError("MSOWorkflowException")
}
+ }catch(BpmnError bpmnError){
+ throw bpmnError
+ }catch(Exception ex){
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, ex.getMessage())
}
}