From eb6d3d34320cb233ab68ee1e7621a3030b7f63bd Mon Sep 17 00:00:00 2001 From: Priyadharshini Date: Thu, 27 Aug 2020 04:05:09 -0700 Subject: Implement so-oof-adapter to handle OOF Callback - Add NSI/NST selection callback for Networkslicing Issue-ID: SO-3205 Signed-off-by: Priyadharshini Change-Id: Ica88d503495949ecce8b897c3a990fbdaa5d4f0e --- .../bpmn/common/scripts/DoHandleOofRequest.groovy | 103 +++++ .../onap/so/bpmn/common/scripts/OofUtils.groovy | 36 +- .../oof/adapter/beans/payload/OofRequest.java | 49 +++ .../scripts/CreateSliceService.groovy | 76 ++-- .../scripts/DoCreateSliceServiceOption.groovy | 70 +--- .../main/resources/process/CreateSliceService.bpmn | 454 +++++++++++---------- .../subprocess/DoCreateSliceServiceOption.bpmn | 220 +++++----- .../resources/subprocess/DoHandleOofRequest.bpmn | 122 ++++++ 8 files changed, 702 insertions(+), 428 deletions(-) create mode 100644 bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy create mode 100644 bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/oof/adapter/beans/payload/OofRequest.java create mode 100644 bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoHandleOofRequest.bpmn (limited to 'bpmn') diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy new file mode 100644 index 0000000000..ebc5f4ac58 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy @@ -0,0 +1,103 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2020 Wipro Limited. 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.common.scripts + +import javax.ws.rs.core.Response + +import org.apache.commons.lang3.StringUtils +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.onap.logging.filter.base.ONAPComponents +import org.onap.so.bpmn.core.UrnPropertiesReader +import org.onap.so.bpmn.core.json.JsonUtils +import org.onap.so.client.HttpClient +import org.onap.so.client.HttpClientFactory +import org.onap.so.client.oof.adapter.beans.payload.OofRequest +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import com.fasterxml.jackson.databind.ObjectMapper + + +import static org.onap.so.bpmn.common.scripts.GenericUtils.* + + +class DoHandleOofRequest extends AbstractServiceTaskProcessor { + + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtil = new JsonUtils() + private static final Logger logger = LoggerFactory.getLogger(DoHandleOofRequest.class) + + @Override + public void preProcessRequest(DelegateExecution execution) { + logger.debug("In Preprocess Oof Request Handler") + String apiPath = execution.getVariable("apiPath") + if (isBlank(apiPath)) { + String msg = "Cannot process OOF adapter call : API PATH is null" + exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) + } + + //msoRequestId is used for correlation + String requestId = execution.getVariable("correlator") + if (isBlank(requestId)) { + String msg = "Cannot process OOF adapter call : correlator is null" + exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) + } + + String messageType = execution.getVariable("messageType") + if (isBlank(messageType)) { + String msg = "Cannot process OOF adapter call : messageType is null" + exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) + } + + String timeout = execution.getVariable("timeout") + if (isBlank(timeout)) { + timeout = UrnPropertiesReader.getVariable("mso.adapters.oof.timeout", execution); + if (isBlank(timeout)) { + logger.debug("Setting OOF timeout to default : PT30M") + timeout = "PT30M" + } + } + + Object requestDetails = execution.getVariable("oofRequest") + OofRequest oofRequestPayload = new OofRequest() + oofRequestPayload.setApiPath(apiPath) + oofRequestPayload.setRequestDetails(requestDetails) + ObjectMapper objectMapper = new ObjectMapper() + String requestJson = objectMapper.writeValueAsString(oofRequestPayload) + execution.setVariable("oofRequestPayload", requestJson) + } + + public void callOofAdapter(DelegateExecution execution) { + logger.debug("Start callOofAdapter") + String requestId = execution.getVariable("msoRequestId") + String oofAdapterEndpoint = UrnPropertiesReader.getVariable("mso.adapters.oof.endpoint", execution) + String basicAuthCred = execution.getVariable("BasicAuthHeaderValue") + URL requestUrl = new URL(oofAdapterEndpoint) + String oofRequest = execution.getVariable("oofRequestPayload") + logger.debug("oofRequest : " + oofRequest) + HttpClient httpClient = new HttpClientFactory().newJsonClient(requestUrl, ONAPComponents.EXTERNAL) + Response httpResponse = httpClient.post(oofRequest) + int responseCode = httpResponse.getStatus() + logger.debug("OOF sync response code is: " + responseCode) + if(responseCode != 200){ + exceptionUtil.buildAndThrowWorkflowException(execution, responseCode, "Received a Bad Sync Response from OOF.") + } + } + +} diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy index 69dfacd9bc..2c96e7d3bb 100644 --- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy +++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy @@ -22,42 +22,28 @@ package org.onap.so.bpmn.common.scripts -import com.fasterxml.jackson.databind.ObjectMapper +import static org.onap.so.bpmn.common.scripts.GenericUtils.* + +import javax.ws.rs.core.UriBuilder + import org.camunda.bpm.engine.delegate.DelegateExecution -import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor -import org.onap.so.bpmn.common.scripts.ExceptionUtil import org.onap.so.bpmn.common.util.OofInfraUtils import org.onap.so.bpmn.core.UrnPropertiesReader +import org.onap.so.bpmn.core.domain.AllottedResource import org.onap.so.bpmn.core.domain.HomingSolution import org.onap.so.bpmn.core.domain.ModelInfo import org.onap.so.bpmn.core.domain.Resource -import org.onap.so.bpmn.core.domain.AllottedResource import org.onap.so.bpmn.core.domain.ServiceDecomposition import org.onap.so.bpmn.core.domain.ServiceInstance import org.onap.so.bpmn.core.domain.Subscriber import org.onap.so.bpmn.core.domain.VnfResource import org.onap.so.bpmn.core.json.JsonUtils -import org.onap.so.client.HttpClient -import org.onap.so.client.HttpClientFactory import org.onap.so.db.catalog.beans.CloudSite import org.onap.so.db.catalog.beans.HomingInstance -import org.onap.logging.filter.base.ONAPComponents; -import org.springframework.http.HttpEntity -import org.springframework.http.HttpHeaders -import org.springframework.http.HttpMethod -import org.springframework.http.ResponseEntity -import org.springframework.http.client.BufferingClientHttpRequestFactory -import org.springframework.http.client.HttpComponentsClientHttpRequestFactory -import org.springframework.web.client.RestTemplate -import org.springframework.web.util.UriComponentsBuilder import org.slf4j.Logger import org.slf4j.LoggerFactory -import javax.ws.rs.core.MediaType -import javax.ws.rs.core.Response -import javax.ws.rs.core.UriBuilder - -import static org.onap.so.bpmn.common.scripts.GenericUtils.* +import com.fasterxml.jackson.databind.ObjectMapper class OofUtils { private static final Logger logger = LoggerFactory.getLogger( OofUtils.class); @@ -530,10 +516,11 @@ class OofUtils { return UriBuilder.fromPath("").host(msbHost).port(msbPort).scheme("http").build().toString() } - public String buildSelectNSTRequest(String requestId, Map profileInfo) { + public String buildSelectNSTRequest(String requestId,String messageType, Map profileInfo) { def transactionId = requestId logger.debug( "transactionId is: " + transactionId) - String callbackUrl = "http://0.0.0.0:9000/callback/" + String correlator = requestId + String callbackUrl = UrnPropertiesReader.getVariable("mso.adapters.oof.callback.endpoint") + "/" + messageType + "/" + correlator ObjectMapper objectMapper = new ObjectMapper() String json = objectMapper.writeValueAsString(profileInfo) StringBuilder response = new StringBuilder() @@ -554,11 +541,12 @@ class OofUtils { return response.toString() } - public String buildSelectNSIRequest(String requestId, String nstInfo, Map profileInfo){ + public String buildSelectNSIRequest(String requestId, String nstInfo,String messageType, Map profileInfo){ def transactionId = requestId logger.debug( "transactionId is: " + transactionId) - String callbackUrl = "http://0.0.0.0:9000/callback/" + String correlator = requestId + String callbackUrl = UrnPropertiesReader.getVariable("mso.adapters.oof.callback.endpoint") + "/" + messageType + "/" + correlator ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(profileInfo); StringBuilder response = new StringBuilder(); diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/oof/adapter/beans/payload/OofRequest.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/oof/adapter/beans/payload/OofRequest.java new file mode 100644 index 0000000000..9d81332ed7 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/oof/adapter/beans/payload/OofRequest.java @@ -0,0 +1,49 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2020 Wipro Limited. 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.client.oof.adapter.beans.payload; + +public class OofRequest { + + private String apiPath; + + private Object requestDetails; + + public String getApiPath() { + return apiPath; + } + + public void setApiPath(String apiPath) { + this.apiPath = apiPath; + } + + public Object getRequestDetails() { + return requestDetails; + } + + public void setRequestDetails(Object requestDetails) { + this.requestDetails = requestDetails; + } + + @Override + public String toString() { + return "OofRequest [apiPath=" + apiPath + ", requestDetails=" + requestDetails + "]"; + } + +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy index 15a0f34482..389f0a089c 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy @@ -178,60 +178,36 @@ public class CreateSliceService extends AbstractServiceTaskProcessor { logger.debug("Finish preProcessRequest") } - public void getNSTSelection(DelegateExecution execution) { - logger.debug("Start getNSTSelection") + public void prepareSelectNSTRequest(DelegateExecution execution) { + logger.debug("Start prepareSelectNSTRequest") String requestId = execution.getVariable("msoRequestId") + String messageType = "NSTSelectionResponse" Map serviceProfile = execution.getVariable("serviceProfile") - String oofUrl = UrnPropertiesReader.getVariable("mso.oof.endpoint", execution) - - def authHeader = "" - String basicAuth = UrnPropertiesReader.getVariable("mso.oof.auth", execution) - String msokey = UrnPropertiesReader.getVariable("mso.msoKey", execution) - - String basicAuthValue = utils.encrypt(basicAuth, msokey) - if (basicAuthValue != null) { - logger.debug( "Obtained BasicAuth username and password for OOF: " + basicAuthValue) - try { - authHeader = utils.getBasicAuth(basicAuthValue, msokey) - execution.setVariable("BasicAuthHeaderValue", authHeader) - } catch (Exception ex) { - logger.debug( "Unable to encode username and password string: " + ex) - exceptionUtil.buildAndThrowWorkflowException(execution, 401, "Internal Error - Unable to " + - "encode username and password string") - } - } else { - logger.debug( "Unable to obtain BasicAuth - BasicAuth value null") - exceptionUtil.buildAndThrowWorkflowException(execution, 401, "Internal Error - BasicAuth " + - "value null") - } - - URL requestUrl = new URL(oofUrl + "/api/oof/v1/selection/nst") - String oofRequest = oofUtils.buildSelectNSTRequest(requestId, serviceProfile) - HttpClient httpClient = new HttpClientFactory().newJsonClient(requestUrl, ONAPComponents.OOF) - httpClient.addAdditionalHeader("Authorization", authHeader) - Response httpResponse = httpClient.post(oofRequest) - - int responseCode = httpResponse.getStatus() - logger.debug("OOF sync response code is: " + responseCode) - - if(responseCode != 200){ - exceptionUtil.buildAndThrowWorkflowException(execution, responseCode, "Received a Bad Sync Response from OOF.") - } - - Map nstSolution - try { - Map resMap = httpResponse.readEntity(Map.class) - List> nstSolutions = (List>) resMap.get("solutions") - nstSolution = nstSolutions.get(0) - execution.setVariable("nstSolution", nstSolution) - } catch (Exception ex) { - logger.debug( "Failed to get NST solution suggested by OOF.") - exceptionUtil.buildAndThrowWorkflowException(execution, 401, "Failed to get NST solution suggested by OOF.") - } - - logger.debug("Finish getNSTSelection") + execution.setVariable("nstSelectionUrl", "/api/oof/v1/selection/nst") + execution.setVariable("nstSelection_messageType",messageType) + execution.setVariable("nstSelection_correlator",requestId) + String timeout = UrnPropertiesReader.getVariable("mso.adapters.oof.timeout", execution); + execution.setVariable("nstSelection_timeout",timeout) + String oofRequest = oofUtils.buildSelectNSTRequest(requestId,messageType, serviceProfile) + execution.setVariable("nstSelection_oofRequest",oofRequest) + logger.debug("Finish prepareSelectNSTRequest") } + + public void processNSTSolutions(DelegateExecution execution) { + Map nstSolution + try { + logger.debug("Start processing NSTSolutions") + Map resMap = objectMapper.readValue(execution.getVariable("nstSelection_oofResponse"),Map.class) + List> nstSolutions = (List>) resMap.get("solutions") + nstSolution = nstSolutions.get(0) + execution.setVariable("nstSolution", nstSolution) + } catch (Exception ex) { + logger.debug( "Failed to get NST solution suggested by OOF.") + exceptionUtil.buildAndThrowWorkflowException(execution, 401, "Failed to get NST solution suggested by OOF.") + } + + } public void prepareDecomposeService(DelegateExecution execution) { logger.debug("Start prepareDecomposeService") diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy index ec9596e7f3..9b78afba03 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceOption.groovy @@ -64,38 +64,16 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{ } - void getNSIOptionfromOOF(DelegateExecution execution) { + void prepareSelectNSIRequest(DelegateExecution execution) { String urlString = UrnPropertiesReader.getVariable("mso.oof.endpoint", execution) logger.debug( "get NSI option OOF Url: " + urlString) boolean isNSISuggested = true execution.setVariable("isNSISuggested",isNSISuggested) - - //Prepare auth for OOF - Begin - def authHeader = "" - String basicAuth = UrnPropertiesReader.getVariable("mso.oof.auth", execution) - String msokey = UrnPropertiesReader.getVariable("mso.msoKey", execution) - - String basicAuthValue = utils.encrypt(basicAuth, msokey) - if (basicAuthValue != null) { - logger.debug( "Obtained BasicAuth username and password for OOF: " + basicAuthValue) - try { - authHeader = utils.getBasicAuth(basicAuthValue, msokey) - execution.setVariable("BasicAuthHeaderValue", authHeader) - } catch (Exception ex) { - logger.debug( "Unable to encode username and password string: " + ex) - exceptionUtil.buildAndThrowWorkflowException(execution, 401, "Internal Error - Unable to " + - "encode username and password string") - } - } else { - logger.debug( "Unable to obtain BasicAuth - BasicAuth value null") - exceptionUtil.buildAndThrowWorkflowException(execution, 401, "Internal Error - BasicAuth " + - "value null") - } - //Prepare auth for OOF - End - String requestId = execution.getVariable("msoRequestId") + String messageType = "NSISelectionResponse" + Map profileInfo = execution.getVariable("serviceProfile") Map nstSolution = execution.getVariable("nstSolution") logger.debug("Get NST selection from OOF: " + nstSolution.toString()) @@ -104,36 +82,21 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{ "modelVersionId":"${nstSolution.UUID}", "modelName":"${nstSolution.NSTName}" }""" - - String oofRequest = oofUtils.buildSelectNSIRequest(requestId, nstInfo, profileInfo) - logger.debug("Sending request to OOF: " + oofRequest) - - //send request to get NSI option - Begin - URL url = new URL(urlString+"/api/oof/selection/nsi/v1") - HttpClient httpClient = new HttpClientFactory().newJsonClient(url, ONAPComponents.OOF) - httpClient.addAdditionalHeader("Authorization", authHeader) - Response httpResponse = httpClient.post(oofRequest) - - processOOFResponse(httpResponse, execution) - - //解析sliceProfile - logger.debug("start parseServiceProfile") - parseServiceProfile(execution) - logger.debug("end parseServiceProfile") + + execution.setVariable("nsiSelectionUrl", "/api/oof/selection/nsi/v1") + execution.setVariable("nsiSelection_messageType",messageType) + execution.setVariable("nsiSelection_correlator",requestId) + String timeout = UrnPropertiesReader.getVariable("mso.adapters.oof.timeout", execution); + execution.setVariable("nsiSelection_timeout",timeout) + String oofRequest = oofUtils.buildSelectNSIRequest(requestId, nstInfo,messageType, profileInfo) + execution.setVariable("nsiSelection_oofRequest",oofRequest) + logger.debug("Sending request to OOF: " + oofRequest) } - private void processOOFResponse(Response httpResponse, DelegateExecution execution) { + void processOOFResponse(Response httpResponse, DelegateExecution execution) { int responseCode = httpResponse.getStatus() - logger.debug("OOF sync response code is: " + responseCode) - - if (responseCode != 200) { - exceptionUtil.buildAndThrowWorkflowException(execution, responseCode, "Received a Bad Sync Response from OOF.") - logger.debug("Info: No NSI suggested by OOF") - } - SliceTaskParams sliceTaskParams = execution.getVariable("sliceTaskParams") - if (httpResponse.hasEntity()) { - String OOFResponse = httpResponse.readEntity(String.class) + String OOFResponse = execution.getVariable("nsiSelection_oofResponse") logger.debug("NSI OOFResponse is: " + OOFResponse) execution.setVariable("OOFResponse", OOFResponse) //This needs to be changed to derive a value when we add policy to decide the solution options. @@ -154,8 +117,11 @@ class DoCreateSliceServiceOption extends AbstractServiceTaskProcessor{ } execution.setVariable("sliceTaskParams", sliceTaskParams) logger.debug("sliceTaskParams: "+sliceTaskParams.convertToJson()) - } logger.debug("*** Completed options Call to OOF ***") + //解析sliceProfile + logger.debug("start parseServiceProfile") + parseServiceProfile(execution) + logger.debug("end parseServiceProfile") } private boolean hasSharedNSIsolutions( Map solutions){ diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSliceService.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSliceService.bpmn index f27794a389..27bd01bda9 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSliceService.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSliceService.bpmn @@ -1,5 +1,5 @@ - + SequenceFlow_03s744c @@ -34,12 +34,12 @@ css.processUserOptions(execution) def css = new CreateSliceService() css.processDecomposition(execution) - + SequenceFlow_046irye - SequenceFlow_1o23s0i + Flow_1l8mfej import org.onap.so.bpmn.infrastructure.scripts.* def css = new CreateSliceService() -css.getNSTSelection(execution) +css.prepareSelectNSTRequest(execution) @@ -176,7 +176,7 @@ css.prepareUpdateServiceOperationStatus(execution) SequenceFlow_1t19ips - SequenceFlow_1o23s0i + Flow_1u4srgq SequenceFlow_0q7yc2c import org.onap.so.bpmn.infrastructure.scripts.* def dcsi= new CreateSliceService() @@ -446,7 +446,6 @@ css.sendSyncResponse(execution) - SequenceFlow_0n4xku8 @@ -457,12 +456,205 @@ def css = new CreateSliceService() css.updateAAIOrchStatus(execution) + + + + + + + + + + + + Flow_1l8mfej + Flow_0vq2rmw + + + + Flow_0vq2rmw + Flow_1u4srgq + import org.onap.so.bpmn.infrastructure.scripts.* +def css = new CreateSliceService() +css.processNSTSolutions(execution) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -475,9 +667,6 @@ css.updateAAIOrchStatus(execution) - - - @@ -487,12 +676,6 @@ css.updateAAIOrchStatus(execution) - - - - - - @@ -514,9 +697,53 @@ css.updateAAIOrchStatus(execution) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -526,9 +753,6 @@ css.updateAAIOrchStatus(execution) - - - @@ -544,15 +768,6 @@ css.updateAAIOrchStatus(execution) - - - - - - - - - @@ -613,197 +828,18 @@ css.updateAAIOrchStatus(execution) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceOption.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceOption.bpmn index ad0732df4d..3ed1999d9a 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceOption.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceOption.bpmn @@ -1,17 +1,17 @@ - + SequenceFlow_1qo2pln - + SequenceFlow_0khtova - SequenceFlow_1utpplq + Flow_15c2jcx import org.onap.so.bpmn.infrastructure.scripts.* def dcso = new DoCreateSliceServiceOption() -dcso.getNSIOptionfromOOF(execution) +dcso.prepareSelectNSIRequest(execution) SequenceFlow_1qo2pln @@ -73,7 +73,6 @@ dcso.prepareNSSTDecompose(execution) SequenceFlow_0a5f5y6 - SequenceFlow_0d774n5 SequenceFlow_0wy6oag @@ -84,7 +83,7 @@ dcso.prepareNSSTDecompose(execution) #{(execution.getVariable("isNSISuggested" ) == true)} - SequenceFlow_1utpplq + Flow_07ustqm SequenceFlow_0piifl1 import org.onap.so.bpmn.infrastructure.scripts.* def dcso = new DoCreateSliceServiceOption() @@ -112,124 +111,159 @@ dcso.prepareNSTDecompose(execution) def dcso = new DoCreateSliceServiceOption() dcso.processDecomposition(execution) + + + + + + + + + + + Flow_15c2jcx + Flow_1mcx2ja + + + Flow_1mcx2ja + Flow_07ustqm + import org.onap.so.bpmn.infrastructure.scripts.* +def dcso = new DoCreateSliceServiceOption() +dcso.processOOFResponse(execution) + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - + + - - - - - - + + + + + + + + + + + - - - - - - - + - + - + - + - - - - - - - - - - - - - - - - - - - - + - - - - - + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoHandleOofRequest.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoHandleOofRequest.bpmn new file mode 100644 index 0000000000..7ca1a62312 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoHandleOofRequest.bpmn @@ -0,0 +1,122 @@ + + + + + Flow_1jorico + + + + Flow_1fbzzqg + Flow_013jfci + import org.onap.so.bpmn.common.scripts.* +def oofHandler = new DoHandleOofRequest() +oofHandler .callOofAdapter(execution) + + + + + Flow_1jorico + Flow_1fbzzqg + import org.onap.so.bpmn.common.scripts.* +def oofHandler = new DoHandleOofRequest() +oofHandler .preProcessRequest(execution) + + + + + Flow_072knve + + + + Flow_0ykpxpc + + + Flow_072knve + Flow_0ykpxpc + import org.onap.so.bpmn.common.scripts.* +ExceptionUtil ex = new ExceptionUtil() +ex.processJavaException(execution) + + + + + + + + + + + + + + Flow_013jfci + Flow_1nmoiqi + + + + Flow_1nmoiqi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit 1.2.3-korg