From b765948b3192e4e28c2d431afa647a839fda8a96 Mon Sep 17 00:00:00 2001 From: c00149107 Date: Thu, 21 Sep 2017 16:23:03 +0800 Subject: Add NS Create Task Add the details task of NS create workflow Change-Id: Ic3ee8c2659ae2cdc9b91b5eaf318dd655d87f711 Issue-ID:SO-57 Signed-off-by: c00149107 --- .../scripts/CreateGenericE2EServiceInstance.groovy | 160 -------------- .../DoCreateVFCNetworkServiceInstance.groovy | 135 ++++++++++++ .../DoCreateVFCNetworkServiceInstance.bpmn | 234 ++++++++++----------- 3 files changed, 249 insertions(+), 280 deletions(-) delete mode 100644 bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericE2EServiceInstance.groovy create mode 100644 bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstance.groovy (limited to 'bpmn') diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericE2EServiceInstance.groovy deleted file mode 100644 index 3302210416..0000000000 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericE2EServiceInstance.groovy +++ /dev/null @@ -1,160 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * OPENECOMP - SO - * ================================================================================ - * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved. - * ================================================================================ - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.mso.bpmn.infrastructure.scripts; - -import static org.apache.commons.lang3.StringUtils.*; -import groovy.xml.XmlUtil -import groovy.json.* -import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor -import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil -import org.openecomp.mso.bpmn.common.scripts.VidUtils -import org.openecomp.mso.bpmn.core.WorkflowException -import org.openecomp.mso.bpmn.core.json.JsonUtils -import org.openecomp.mso.rest.APIResponse - -import java.util.UUID; - -import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution -import org.apache.commons.lang3.* -import org.apache.commons.codec.binary.Base64; -import org.springframework.web.util.UriUtils - -/** - * This groovy class supports the CreateGenericE2EServiceInstance.bpmn process. - * flow for E2E ServiceInstance Create - */ -public class CreateGenericE2EServiceInstance extends AbstractServiceTaskProcessor { - - ExceptionUtil exceptionUtil = new ExceptionUtil() - - JsonUtils jsonUtil = new JsonUtils() - - VidUtils vidUtils = new VidUtils() - - /** - * Pre Process the BPMN Flow Request - * Inclouds: - * Deal with the parameters - * generate the service instance id - * generate the operation id - */ - public void preProcessRequest (Execution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - String msg = "" - utils.log("DEBUG", " *** preProcessRequest() *** ", isDebugEnabled) - try { - - String siRequest = execution.getVariable("bpmnRequest") - utils.logAudit(siRequest) - - String requestId = execution.getVariable("mso-request-id") - execution.setVariable("msoRequestId", requestId) - utils.log("DEBUG", "Input Request:" + siRequest + " reqId:" + requestId, isDebugEnabled) - - String serviceInstanceId = execution.getVariable("serviceInstanceId") - if (isBlank(serviceInstanceId)) { - serviceInstanceId = UUID.randomUUID().toString() - } - utils.log("DEBUG", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled) - serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8") - execution.setVariable("serviceInstanceId", serviceInstanceId) - - String operationId = execution.getVariable("operationId") - if (isBlank(operationId)) { - operationId = UUID.randomUUID().toString() - } - utils.log("DEBUG", "Generated new Service Instance Operation:" + operationId, isDebugEnabled) - serviceInstanceId = UriUtils.encode(operationId,"UTF-8") - execution.setVariable("operationId", operationId) - //subscriberInfo, TBD , there is no globalSubscriberId in R1 for E2E Service. - //requestInfo TBD , there is no requestDetails for R1 E2E service - - //TBD need to insert operationInfo to RequestDb - - //set service Instance Name - execution.setVariable("serviceInstanceName", jsonUtil.getJsonValue(siRequest, "service.name")) - execution.setVariable("serviceDescription", jsonUtil.getJsonValue(siRequest, "service.description")) - execution.setVariable("templateId", jsonUtil.getJsonValue(siRequest, "service.templateId")) - - //serviceParamters - String serviceParamters = jsonUtil.getJsonValue(siRequest, "service.parameters") - if (isBlank(serviceParamters)) { - msg = "Input service paramters is null" - utils.log("DEBUG", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) - } else - { - execution.setVariable("serviceParamters", serviceParamters) - } - - utils.log("DEBUG", "service parameters:" + serviceParamters, isDebugEnabled) - } catch (BpmnError e) { - throw e; - } catch (Exception ex){ - msg = "Exception in preProcessRequest " + ex.getMessage() - utils.log("DEBUG", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) - } - utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) - } - - /** - * send the sync response - * the response incloudes the instance id and the operation id - */ - public void sendSyncResponse(Execution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled) - - try { - String requestId = execution.getVariable("msoRequestId") - String serviceInstanceId = execution.getVariable("serviceInstanceId") - String operationId = execution.getVariable("operationId") - // RESTResponse for API Handler (APIH) Reply Task - String createServiceRestResponse = """{"service":{"serviceId":"${serviceInstanceId}","operationId":"${operationId}"}}""".trim() - utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + createServiceRestResponse, isDebugEnabled) - sendWorkflowResponse(execution, 202, createServiceRestResponse) - execution.setVariable("sentSyncResponse", true) - - } catch (Exception ex) { - String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage() - utils.log("DEBUG", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) - } - utils.log("DEBUG"," ***** Exit sendSyncResopnse *****", isDebugEnabled) - } - - public void preCreateRequest(Execution execution) { - } - - public void postConfigRequest(Execution execution) { - } - - public void preVFCRequest(Execution execution) { - } - - public void preAdaptorDataRequest(Execution execution) { - } - - public void preSDNCRequest(Execution execution) { - } -} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstance.groovy new file mode 100644 index 0000000000..2029d15d5c --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstance.groovy @@ -0,0 +1,135 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - SO + * ================================================================================ + * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved. + * ================================================================================ + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.bpmn.infrastructure.scripts; + +import static org.apache.commons.lang3.StringUtils.*; +import groovy.xml.XmlUtil +import groovy.json.* +import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.openecomp.mso.bpmn.common.scripts.VidUtils +import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.rest.APIResponse + +import java.util.UUID; + +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.runtime.Execution +import org.apache.commons.lang3.* +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.util.UriUtils + +/** + * This groovy class supports the CreateGenericE2EServiceInstance.bpmn process. + * flow for E2E ServiceInstance Create + */ +public class CreateGenericE2EServiceInstance extends AbstractServiceTaskProcessor { + + ExceptionUtil exceptionUtil = new ExceptionUtil() + + JsonUtils jsonUtil = new JsonUtils() + + VidUtils vidUtils = new VidUtils() + + /** + * Pre Process the BPMN Flow Request + * Inclouds: + * Deal with the parameters + * generate the service instance id + * generate the operation id + */ + public void preProcessRequest (Execution execution) { + /* def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + String msg = "" + utils.log("DEBUG", " *** preProcessRequest() *** ", isDebugEnabled) + try { + + String siRequest = execution.getVariable("bpmnRequest") + utils.logAudit(siRequest) + + String requestId = execution.getVariable("mso-request-id") + execution.setVariable("msoRequestId", requestId) + utils.log("DEBUG", "Input Request:" + siRequest + " reqId:" + requestId, isDebugEnabled) + + String serviceInstanceId = execution.getVariable("serviceInstanceId") + if (isBlank(serviceInstanceId)) { + serviceInstanceId = UUID.randomUUID().toString() + } + utils.log("DEBUG", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled) + serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8") + execution.setVariable("serviceInstanceId", serviceInstanceId) + + String operationId = execution.getVariable("operationId") + if (isBlank(operationId)) { + operationId = UUID.randomUUID().toString() + } + utils.log("DEBUG", "Generated new Service Instance Operation:" + operationId, isDebugEnabled) + serviceInstanceId = UriUtils.encode(operationId,"UTF-8") + execution.setVariable("operationId", operationId) + //subscriberInfo, TBD , there is no globalSubscriberId in R1 for E2E Service. + //requestInfo TBD , there is no requestDetails for R1 E2E service + + //TBD need to insert operationInfo to RequestDb + + //set service Instance Name + execution.setVariable("serviceInstanceName", jsonUtil.getJsonValue(siRequest, "service.name")) + execution.setVariable("serviceDescription", jsonUtil.getJsonValue(siRequest, "service.description")) + execution.setVariable("templateId", jsonUtil.getJsonValue(siRequest, "service.templateId")) + + //serviceParamters + String serviceParamters = jsonUtil.getJsonValue(siRequest, "service.parameters") + if (isBlank(serviceParamters)) { + msg = "Input service paramters is null" + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) + } else + { + execution.setVariable("serviceParamters", serviceParamters) + } + + utils.log("DEBUG", "service parameters:" + serviceParamters, isDebugEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception ex){ + msg = "Exception in preProcessRequest " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)*/ + } + + + public void createNetworkService(Execution execution) { + } + + public void instantiateNetworkService(Execution execution) { + } + + public void queryNSProgress(Execution execution) { + } + + public void timeDelay(Execution execution) { + } + + public void finishNSCreate(Execution execution) { + } +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVFCNetworkServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVFCNetworkServiceInstance.bpmn index 4fc1fc6907..58eb1f04f2 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVFCNetworkServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVFCNetworkServiceInstance.bpmn @@ -1,100 +1,108 @@ - + - + SequenceFlow_1qo2pln - - + + - + SequenceFlow_0khtova SequenceFlow_1uiz85h +def dcsi = new DoCreateVFCNetworkServiceInstance() +dcsi.createNetworkService(execution)]]> - + SequenceFlow_1qo2pln SequenceFlow_0khtova +def dcsi = new DoCreateVFCNetworkServiceInstance() +dcsi.preProcessRequest(execution)]]> - - SequenceFlow_1rt03zl + + createNSSuccess_SequenceFlow SequenceFlow_1ywe21t +def dcsi = new DoCreateVFCNetworkServiceInstance() +dcsi.instantiateNetworkService(execution)]]> - + SequenceFlow_1uiz85h - SequenceFlow_1rt03zl - SequenceFlow_0df541u + createNSSuccess_SequenceFlow + createNSFailed_SequenceFlow - - + + - - + + + + SequenceFlow_1ywe21t - SequenceFlow_0j7xo94 - SequenceFlow_1ui2n9l - - - - - - SequenceFlow_1jaltbk - SequenceFlow_0yegc4p - SequenceFlow_118dtip + instantiateFailed_SequenceFlow + instantiateSuccess_SequenceFlow - - - - SequenceFlow_118dtip - SequenceFlow_0hftgi6 - SequenceFlow_0omec46 + + + + + + + + + SequenceFlow_0xqo13p + operationFinished_SequenceFlow + operationProcessing_SequenceFlow - - - - - - SequenceFlow_0df541u + + + + + + + + + createNSFailed_SequenceFlow - SequenceFlow_0j7xo94 - - - SequenceFlow_0yegc4p + instantiateFailed_SequenceFlow SequenceFlow_0cq2q6g - - SequenceFlow_1ui2n9l - SequenceFlow_0omec46 - SequenceFlow_1jaltbk + + instantiateSuccess_SequenceFlow + SequenceFlow_1gsbpxj + SequenceFlow_0xqo13p +def dcsi = new DoCreateVFCNetworkServiceInstance() +dcsi.queryNSProgress(execution)]]> - - SequenceFlow_0hftgi6 + + operationFinished_SequenceFlow SequenceFlow_0cq2q6g +def dcsi = new DoCreateVFCNetworkServiceInstance() +dcsi.finishNSCreate(execution)]]> + + + operationProcessing_SequenceFlow + SequenceFlow_1gsbpxj + + + - + - + @@ -123,26 +131,26 @@ csi.preSDNCRequest(execution)]]> - + - + - + - + - + @@ -152,7 +160,7 @@ csi.preSDNCRequest(execution)]]> - + @@ -162,39 +170,18 @@ csi.preSDNCRequest(execution)]]> - + - + - - - - - - - - - - - - - - - - - - - - - - + @@ -203,39 +190,34 @@ csi.preSDNCRequest(execution)]]> - - - - - - - - - + - + + + - + - - - + + + + - + - - + + - + - + - + @@ -244,24 +226,36 @@ csi.preSDNCRequest(execution)]]> - - - - - - - + - + - + - - + + + + + + + + + + + + + + + + + + + + -- cgit 1.2.3-korg