summaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-infrastructure-common
diff options
context:
space:
mode:
authormarios.iakovidis <marios.iakovidis@huawei.com>2019-04-11 12:15:14 +0300
committermarios.iakovidis <marios.iakovidis@huawei.com>2019-04-11 13:31:18 +0300
commitb179638916dd51a19668d91d4011c8aca54839c4 (patch)
treef444e1c1c9dbc1778df09c3a93dd7852009e03c6 /bpmn/so-bpmn-infrastructure-common
parent40396c8763a600059d025fb202802ac70d406b08 (diff)
Modify the SO to support BBS usecase
Modify the SO to support BBS usecase. Change-Id: I359380bcea9ff4ebb4e021b0425f727392ac590f Issue-ID: SO-1578 Signed-off-by: marios.iakovidis <marios.iakovidis@huawei.com>
Diffstat (limited to 'bpmn/so-bpmn-infrastructure-common')
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy84
1 files changed, 84 insertions, 0 deletions
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy
new file mode 100644
index 0000000000..90c2b923b0
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy
@@ -0,0 +1,84 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 Huawei Intellectual Property. 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.onap.so.bpmn.infrastructure.scripts
+
+import org.apache.commons.lang3.StringUtils
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.onap.so.bpmn.common.scripts.CatalogDbUtils
+import org.onap.so.bpmn.common.scripts.ExceptionUtil
+import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+
+public class HandlePNF extends AbstractServiceTaskProcessor{
+ private static final Logger logger = LoggerFactory.getLogger( HandlePNF.class);
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+ CatalogDbUtils cutils = new CatalogDbUtils()
+
+ @Override
+ void preProcessRequest(DelegateExecution execution) {
+ msoLogger.debug("Start preProcess for HandlePNF")
+
+ // set correlation ID
+ def resourceInput = execution.getVariable("resourceInput")
+ String serInput = jsonUtil.getJsonValue(resourceInput, "requestsInputs")
+ String correlationId = jsonUtil.getJsonValue(serInput, "service.parameters.requestInputs.ont_ont_pnf_name")
+ if (!StringUtils.isEmpty(correlationId)) {
+ execution.setVariable(ExecutionVariableNames.CORRELATION_ID, correlationId)
+ msoLogger.debug("Found correlation id : " + correlationId)
+ } else {
+ msoLogger.error("== correlation id is empty ==")
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "correlation id is not provided")
+ }
+
+ // next task will set the uuid
+ msoLogger.debug("exit preProcess for HandlePNF")
+ }
+
+ void postProcessRequest(DelegateExecution execution) {
+ msoLogger.debug("start postProcess for HandlePNF")
+
+ msoLogger.debug("exit postProcess for HandlePNF")
+ }
+
+ public void sendSyncResponse (DelegateExecution execution) {
+ msoLogger.debug(" *** sendSyncResponse *** ")
+
+ try {
+ String operationStatus = "finished"
+ // RESTResponse for main flow
+ String resourceOperationResp = """{"operationStatus":"${operationStatus}"}""".trim()
+ msoLogger.debug(" sendSyncResponse to APIH:" + "\n" + resourceOperationResp)
+ sendWorkflowResponse(execution, 202, resourceOperationResp)
+ execution.setVariable("sentSyncResponse", true)
+
+ } catch (Exception ex) {
+ String msg = "Exception in sendSyncResponse:" + ex.getMessage()
+ msoLogger.debug(msg)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ msoLogger.debug(" ***** Exit sendSyncResponse *****")
+ }
+}