* ================================================================================
* 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 javax.ws.rs.core.UriBuilder
-
+import javax.xml.parsers.DocumentBuilder
+import javax.xml.parsers.DocumentBuilderFactory
import org.apache.commons.lang3.*
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.delegate.DelegateExecution
import org.onap.so.client.aai.entities.uri.AAIResourceUri
import org.onap.so.client.aai.entities.uri.AAIUriFactory
import org.onap.so.client.aai.entities.AAIResultWrapper
+import org.onap.so.client.aai.entities.Relationships
import org.onap.so.client.graphinventory.entities.uri.Depth
import org.onap.so.constants.Defaults
-import org.onap.so.logger.MsoLogger
-import org.onap.so.rest.APIResponse;
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
import org.springframework.web.util.UriUtils
+import org.w3c.dom.Document
+import org.w3c.dom.Element
+import org.w3c.dom.NamedNodeMap
+import org.w3c.dom.Node
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource
import org.onap.aai.domain.yang.VpnBinding
+import org.onap.aai.domain.yang.L3Network
+import org.onap.aai.domain.yang.L3Networks
+import org.onap.aai.domain.yang.NetworkPolicy
+import org.onap.aai.domain.yang.RouteTableReference
import org.onap.aai.domain.yang.RouteTarget
-
+import org.onap.aai.domain.yang.Subnet
import com.fasterxml.jackson.jaxrs.util.EndpointAsBeanProperty
import javax.ws.rs.NotFoundException
*
*/
public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor {
- private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoCreateNetworkInstance.class);
+ private static final Logger logger = LoggerFactory.getLogger( DoCreateNetworkInstance.class);
String Prefix="CRENWKI_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
public void preProcessRequest (DelegateExecution execution) {
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside preProcessRequest() of " + className + ".groovy")
+ logger.trace("Inside preProcessRequest() of " + className + ".groovy")
try {
// initialize flow variables
// JSON format request is sent, create xml
try {
def prettyJson = JsonOutput.prettyPrint(networkRequest.toString())
- msoLogger.debug(" Incoming message formatted . . . : " + '\n' + prettyJson)
+ logger.debug(" Incoming message formatted . . . : " + '\n' + prettyJson)
networkRequest = vidUtils.createXmlNetworkRequestInfra(execution, networkRequest)
} catch (Exception ex) {
String dataErrorMessage = " Invalid json format Request - " + ex.getMessage()
- msoLogger.debug(dataErrorMessage)
+ logger.debug(dataErrorMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
}
} else {
networkRequest = utils.formatXml(networkRequest)
execution.setVariable(Prefix + "networkRequest", networkRequest)
- msoLogger.debug(Prefix + "networkRequest - " + '\n' + networkRequest)
+ logger.debug(Prefix + "networkRequest - " + '\n' + networkRequest)
// validate 'backout-on-failure' to override 'mso.rollback'
boolean rollbackEnabled = networkUtils.isRollbackEnabled(execution, networkRequest)
execution.setVariable(Prefix + "rollbackEnabled", rollbackEnabled)
- msoLogger.debug(Prefix + "rollbackEnabled - " + rollbackEnabled)
+ logger.debug(Prefix + "rollbackEnabled - " + rollbackEnabled)
String networkInputs = utils.getNodeXml(networkRequest, "network-inputs", false).replace("tag0:","").replace(":tag0","")
execution.setVariable(Prefix + "networkInputs", networkInputs)
- msoLogger.debug(Prefix + "networkInputs - " + '\n' + networkInputs)
+ logger.debug(Prefix + "networkInputs - " + '\n' + networkInputs)
// prepare messageId
String messageId = execution.getVariable("testMessageId") // for testing
if (messageId == null || messageId == "") {
messageId = UUID.randomUUID()
- msoLogger.debug(Prefix + "messageId, random generated: " + messageId)
+ logger.debug(Prefix + "messageId, random generated: " + messageId)
} else {
- msoLogger.debug(Prefix + "messageId, pre-assigned: " + messageId)
+ logger.debug(Prefix + "messageId, pre-assigned: " + messageId)
}
execution.setVariable(Prefix + "messageId", messageId)
String source = utils.getNodeText(networkRequest, "source")
execution.setVariable(Prefix + "source", source)
- msoLogger.debug(Prefix + "source - " + source)
+ logger.debug(Prefix + "source - " + source)
// validate cloud region
String lcpCloudRegionId = utils.getNodeText(networkRequest, "aic-cloud-region")
if ((lcpCloudRegionId == null) || (lcpCloudRegionId == "") || (lcpCloudRegionId == "null")) {
String dataErrorMessage = "Missing value/element: 'lcpCloudRegionId' or 'cloudConfiguration' or 'aic-cloud-region'."
- msoLogger.debug(" Invalid Request - " + dataErrorMessage)
+ logger.debug(" Invalid Request - " + dataErrorMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
}
String serviceInstanceId = utils.getNodeText(networkRequest, "service-instance-id")
if ((serviceInstanceId == null) || (serviceInstanceId == "") || (serviceInstanceId == "null")) {
String dataErrorMessage = "Missing value/element: 'serviceInstanceId'."
- msoLogger.debug(" Invalid Request - " + dataErrorMessage)
+ logger.debug(" Invalid Request - " + dataErrorMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
}
} catch (IOException ex) {
String exceptionMessage = "Exception Encountered in DoCreateNetworkInstance, PreProcessRequest() - "
String dataErrorMessage = exceptionMessage + " Unable to encode PO/SDNC user/password string - " + ex.getMessage()
- msoLogger.debug(dataErrorMessage)
+ logger.debug(dataErrorMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
}
// Set variables for Generic Get Sub Flow use
execution.setVariable(Prefix + "serviceInstanceId", serviceInstanceId)
- msoLogger.debug(Prefix + "serviceInstanceId - " + serviceInstanceId)
+ logger.debug(Prefix + "serviceInstanceId - " + serviceInstanceId)
execution.setVariable("GENGS_type", "service-instance")
- msoLogger.debug("GENGS_type - " + "service-instance")
- msoLogger.debug(" Url for SDNC adapter: " + UrnPropertiesReader.getVariable("mso.adapters.sdnc.endpoint",execution))
+ logger.debug("GENGS_type - " + "service-instance")
+ logger.debug(" Url for SDNC adapter: " + UrnPropertiesReader.getVariable("mso.adapters.sdnc.endpoint",execution))
String sdncVersion = execution.getVariable("sdncVersion")
- msoLogger.debug("sdncVersion? : " + sdncVersion)
+ logger.debug("sdncVersion? : " + sdncVersion)
// build 'networkOutputs'
String networkId = utils.getNodeText(networkRequest, "network-id")
<network-name>${MsoUtils.xmlEscape(networkName)}</network-name>
</network-outputs>"""
execution.setVariable(Prefix + "networkOutputs", networkOutputs)
- msoLogger.debug(Prefix + "networkOutputs - " + '\n' + networkOutputs)
+ logger.debug(Prefix + "networkOutputs - " + '\n' + networkOutputs)
execution.setVariable(Prefix + "networkId", networkId)
execution.setVariable(Prefix + "networkName", networkName)
sendSyncError(execution)
// caught exception
String exceptionMessage = "Exception Encountered in PreProcessRequest() of " + className + ".groovy ***** : " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
throw e;
}catch (Exception ex){
String msg = "Exception in getServiceInstance. " + ex.getMessage()
- msoLogger.debug(msg)
+ logger.debug(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTQueryAAINetworkName() of DoCreateNetworkInstance ***** " )
-
- // get variables
- String networkInputs = execution.getVariable(Prefix + "networkInputs")
- String networkName = utils.getNodeText(networkInputs, "network-name")
- networkName = UriUtils.encode(networkName,"UTF-8")
+ logger.debug(" ***** Inside callRESTQueryAAINetworkName() of DoCreateNetworkInstance ***** " )
- // Prepare AA&I url with network-name
- String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
- AaiUtil aaiUriUtil = new AaiUtil(this)
-
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L3_NETWORK)
- uri.queryParam("network-name", networkName)
- String queryAAINameRequest = aaiUriUtil.createAaiUri(uri)
-
- execution.setVariable(Prefix + "queryNameAAIRequest", queryAAINameRequest)
- msoLogger.debug(Prefix + "queryNameAAIRequest - " + "\n" + queryAAINameRequest)
-
- try {
- APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryAAINameRequest)
- String returnCode = response.getStatusCode()
- execution.setVariable(Prefix + "aaiNameReturnCode", returnCode)
- msoLogger.debug(" ***** AAI Query Name Response Code : " + returnCode)
-
- String aaiResponseAsString = response.getResponseBodyAsString()
- msoLogger.debug(" ***** AAI Query Name Response : " +'\n'+ aaiResponseAsString)
-
- if (returnCode=='200') {
- execution.setVariable(Prefix + "queryNameAAIResponse", aaiResponseAsString)
- execution.setVariable(Prefix + "isAAIqueryNameGood", true)
- String orchestrationStatus = ""
- try {
- // response is NOT empty
- orchestrationStatus = utils.getNodeText(aaiResponseAsString, "orchestration-status")
- execution.setVariable(Prefix + "orchestrationStatus", orchestrationStatus.toUpperCase())
- msoLogger.debug(Prefix + "orchestrationStatus - " + orchestrationStatus.toUpperCase())
- execution.setVariable("orchestrationStatus", orchestrationStatus)
-
- } catch (Exception ex) {
- // response is empty
- execution.setVariable(Prefix + "orchestrationStatus", orchestrationStatus)
- msoLogger.debug(Prefix + "orchestrationStatus - " + orchestrationStatus)
- }
-
- } else {
- if (returnCode=='404') {
- msoLogger.debug(" QueryAAINetworkName return code = '404' (Not Found). Proceed with the Create !!! ")
-
- } else {
- // aai all errors
- String dataErrorMessage = "Unexpected Error Response from QueryAAINetworkName - " + returnCode
- msoLogger.debug(dataErrorMessage)
- exceptionUtil.buildWorkflowException(execution, 2500, dataErrorMessage)
+ try{
+ // get variables
+ String networkInputs = execution.getVariable(Prefix + "networkInputs")
+ String networkName = utils.getNodeText(networkInputs, "network-name")
- }
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L3_NETWORK).queryParam("network-name", networkName)
+ L3Networks networks = client.get(uri, NotFoundException.class).asBean(L3Networks.class).get()
+ L3Network network = networks.getL3Network().get(0)
- }
+ execution.setVariable(Prefix + "isAAIqueryNameGood", true)
+ String orchestrationStatus = network.getOrchestrationStatus()
+ execution.setVariable(Prefix + "orchestrationStatus", orchestrationStatus.toUpperCase())
+ logger.debug(Prefix + "orchestrationStatus - " + orchestrationStatus.toUpperCase())
+ execution.setVariable("orchestrationStatus", orchestrationStatus)
- msoLogger.debug(Prefix + "isAAIqueryNameGood? : " + execution.getVariable(Prefix + "isAAIqueryNameGood"))
+ logger.debug(Prefix + "isAAIqueryNameGood? : " + execution.getVariable(Prefix + "isAAIqueryNameGood"))
- } catch (BpmnError e) {
- throw e;
+ } catch (NotFoundException e) {
+ logger.debug(" QueryAAINetworkName return code = '404' (Not Found). Proceed with the Create !!! ")
} catch (Exception ex) {
// try error
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow - callRESTQueryAAINetworkName() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTQueryAAICloudRegion() of DoCreateNetworkInstance ***** " )
+ logger.debug(" ***** Inside callRESTQueryAAICloudRegion() of DoCreateNetworkInstance ***** " )
try {
String networkInputs = execution.getVariable(Prefix + "networkInputs")
} else {
String dataErrorMessage = "QueryAAICloudRegion Unsuccessful. Return Code: " + execution.getVariable(Prefix + "queryCloudRegionReturnCode")
- msoLogger.debug(dataErrorMessage)
+ logger.debug(dataErrorMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
}
- msoLogger.debug(" is Cloud Region Good: " + execution.getVariable(Prefix + "isCloudRegionGood"))
+ logger.debug(" is Cloud Region Good: " + execution.getVariable(Prefix + "isCloudRegionGood"))
} catch (BpmnError e) {
throw e;
} catch (Exception ex) {
// try error
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow - callRESTQueryAAICloudRegion() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTQueryAAINetworkId() of DoCreateNetworkInstance ***** " )
+ logger.debug(" ***** Inside callRESTQueryAAINetworkId() of DoCreateNetworkInstance ***** " )
try {
// get variables
networkId = utils.getNodeText(networkResponseInformation, "instance-id")
} catch (Exception ex) {
String dataErrorMessage = " SNDC Response network validation for 'instance-id' (network-id) failed: Empty <network-response-information>"
- msoLogger.debug(dataErrorMessage)
+ logger.debug(dataErrorMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
}
}
if (networkId == null || networkId == "null") {
String dataErrorMessage = "SNDC Response did not contains 'instance-id' or 'network-id' element, or the value is null."
- msoLogger.debug(dataErrorMessage)
+ logger.debug(dataErrorMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
} else {
- msoLogger.debug(" SNDC Response network validation for 'instance-id' (network-id)' is good: " + networkId)
+ logger.debug(" SNDC Response network validation for 'instance-id' (network-id)' is good: " + networkId)
}
String networkName = utils.getNodeText(assignSDNCResponse, "network-name")
execution.setVariable(Prefix + "networkName", networkName)
- networkId = UriUtils.encode(networkId,"UTF-8")
-
- AaiUtil aaiUriUtil = new AaiUtil(this)
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
- uri.depth(Depth.ALL)
- String queryIdAAIRequest = aaiUriUtil.createAaiUri(uri)
-
- execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest)
- msoLogger.debug(Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest)
-
- APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryIdAAIRequest)
- String returnCode = response.getStatusCode()
- execution.setVariable(Prefix + "aaiIdReturnCode", returnCode)
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId).depth(Depth.ONE)
+ L3Network network = client.get(uri, NotFoundException.class).asBean(L3Network.class).get()
- msoLogger.debug(" ***** AAI Response Code : " + returnCode)
+ execution.setVariable(Prefix + "queryIdAAIResponse", network)
- String aaiResponseAsString = response.getResponseBodyAsString()
-
- if (returnCode=='200') {
- execution.setVariable(Prefix + "queryIdAAIResponse", aaiResponseAsString)
- msoLogger.debug(" QueryAAINetworkId Success REST Response - " + "\n" + aaiResponseAsString)
-
- String netId = utils.getNodeText(aaiResponseAsString, "network-id")
- execution.setVariable(Prefix + "networkId", netId)
- String netName = utils.getNodeText(aaiResponseAsString, "network-name")
- execution.setVariable(Prefix + "networkName", netName)
-
- } else {
- if (returnCode=='404') {
- String dataErrorMessage = "Response Error from QueryAAINetworkId is 404 (Not Found)."
- msoLogger.debug(" AAI Query Failed. " + dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- } else {
- if (aaiResponseAsString.contains("RESTFault")) {
- WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
- execution.setVariable("WorkflowException", exceptionObject)
- throw new BpmnError("MSOWorkflowException")
-
- } else {
- // aai all errors
- String dataErrorMessage = "Unexpected Response from QueryAAINetworkId - " + returnCode
- msoLogger.debug("Unexpected Response from QueryAAINetworkId - " + dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- }
- }
- }
+ String netId = network.getNetworkId()
+ execution.setVariable(Prefix + "networkId", netId)
+ String netName = network.getNetworkName()
+ execution.setVariable(Prefix + "networkName", netName)
- } catch (BpmnError e) {
- throw e;
+ } catch (NotFoundException e) {
+ String dataErrorMessage = "Response Error from QueryAAINetworkId is 404 (Not Found)."
+ logger.debug(" AAI Query Failed. " + dataErrorMessage)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
} catch (Exception ex) {
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTQueryAAINetworkId() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTReQueryAAINetworkId() of DoCreateNetworkInstance ***** " )
+ logger.debug(" ***** Inside callRESTReQueryAAINetworkId() of DoCreateNetworkInstance ***** " )
try {
// get variables
String networkId = execution.getVariable(Prefix + "networkId")
String netId = networkId
- networkId = UriUtils.encode(networkId,"UTF-8")
-
- // Prepare AA&I url
- AaiUtil aaiUriUtil = new AaiUtil(this)
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
- uri.depth(Depth.ALL)
- String requeryIdAAIRequest = aaiUriUtil.createAaiUri(uri)
-
- execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest)
- msoLogger.debug(Prefix + "requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest)
- APIResponse response = aaiUriUtil.executeAAIGetCall(execution, requeryIdAAIRequest)
- String returnCode = response.getStatusCode()
- execution.setVariable(Prefix + "aaiRequeryIdReturnCode", returnCode)
- msoLogger.debug(" ***** AAI ReQuery Response Code : " + returnCode)
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId).depth(Depth.ONE)
+ L3Network network = client.get(uri, NotFoundException.class).asBean(L3Network.class).get()
- String aaiResponseAsString = response.getResponseBodyAsString()
+ execution.setVariable(Prefix + "aaiRequeryIdReturnCode", "200")
+ execution.setVariable(Prefix + "requeryIdAAIResponse", network)
- if (returnCode=='200') {
- execution.setVariable(Prefix + "requeryIdAAIResponse", aaiResponseAsString)
- msoLogger.debug(" ReQueryAAINetworkId Success REST Response - " + "\n" + aaiResponseAsString)
-
- String netName = utils.getNodeText(aaiResponseAsString, "network-name")
- String networkOutputs =
- """<network-outputs>
+ String netName = network.getNetworkName()
+ String networkOutputs =
+ """<network-outputs>
<network-id>${MsoUtils.xmlEscape(netId)}</network-id>
<network-name>${MsoUtils.xmlEscape(netName)}</network-name>
</network-outputs>"""
- execution.setVariable(Prefix + "networkOutputs", networkOutputs)
- msoLogger.debug(" networkOutputs - " + '\n' + networkOutputs)
-
- } else {
- if (returnCode=='404') {
- String dataErrorMessage = "Response Error from ReQueryAAINetworkId is 404 (Not Found)."
- msoLogger.debug(" AAI ReQuery Failed. - " + dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- } else {
- if (aaiResponseAsString.contains("RESTFault")) {
- WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
- execution.setVariable("WorkflowException", exceptionObject)
- throw new BpmnError("MSOWorkflowException")
-
- } else {
- // aai all errors
- String dataErrorMessage = "Unexpected Response from ReQueryAAINetworkId - " + returnCode
- msoLogger.debug(dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
+ execution.setVariable(Prefix + "networkOutputs", networkOutputs)
+ logger.debug(" networkOutputs - " + '\n' + networkOutputs)
- }
- }
- }
- } catch (BpmnError e) {
- throw e;
+ } catch (NotFoundException e) {
+ String dataErrorMessage = "Response Error from ReQueryAAINetworkId is 404 (Not Found)."
+ logger.debug(" AAI ReQuery Failed. - " + dataErrorMessage)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
} catch (Exception ex) {
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTReQueryAAINetworkId() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTQueryAAINetworkVpnBinding() of DoCreateNetworkInstance ***** " )
+ logger.debug(" ***** Inside callRESTQueryAAINetworkVpnBinding() of DoCreateNetworkInstance ***** " )
try {
- // get variables
- String queryIdAAIResponse = execution.getVariable(Prefix + "queryIdAAIResponse").replace('<?xml version="1.0" encoding="UTF-8"?>', "")
- String relationship = networkUtils.getFirstNodeXml(queryIdAAIResponse, "relationship-list").trim().replace("tag0:","").replace(":tag0","")
- msoLogger.debug(" relationship - " + relationship)
-
- // Check if Vnf Binding is present, then build a List of vnfBinding
- List vpnBindingUri = networkUtils.getVnfBindingObject(relationship)
- int vpnCount = vpnBindingUri.size()
- execution.setVariable(Prefix + "vpnCount", vpnCount)
- msoLogger.debug(Prefix + "vpnCount - " + vpnCount)
-
- if (vpnCount > 0) {
- execution.setVariable(Prefix + "vpnBindings", vpnBindingUri)
- msoLogger.debug(" vpnBindingUri List - " + vpnBindingUri)
-
- String routeTargets = ""
- // AII loop call using list vpnBindings
- for(i in 0..vpnBindingUri.size()-1) {
- int counting = i+1
-
- String vpnBindingId = vpnBindingUri[i].substring(vpnBindingUri[i].indexOf("/vpn-binding/")+13, vpnBindingUri[i].length())
- if (vpnBindingId.charAt(vpnBindingId.length()-1) == '/') {
- vpnBindingId = vpnBindingId.substring(0, vpnBindingId.length()-1)
- }
-
- AAIResourcesClient resourceClient = new AAIResourcesClient()
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.VPN_BINDING, vpnBindingId)
- AAIResultWrapper wrapper = resourceClient.get(uri.depth(Depth.TWO), NotFoundException.class)
-
- Optional<VpnBinding> binding = wrapper.asBean(VpnBinding.class)
-
- String routeTarget = ""
- String routeRole = ""
- if(binding.get().getRouteTargets() != null) {
- List<RouteTarget> targets = binding.get().getRouteTargets().getRouteTarget()
- for(RouteTarget target : targets) {
- routeTarget = target.getGlobalRouteTarget()
- routeRole = target.getRouteTargetRole()
- routeTargets += "<routeTargets>" + '\n' +
- " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
- " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
- "</routeTargets>" + '\n'
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, execution.getVariable(Prefix + "networkId"))
+ Optional<Relationships> relationships = client.get(uri, NotFoundException.class).getRelationships()
+ if(relationships.isPresent()){
+ List<AAIResourceUri> uris = relationships.get().getRelatedAAIUris(AAIObjectType.VPN_BINDING)
+
+ logger.debug(Prefix + "vpnCount - " + uris.size())
+
+ if (uris.size() > 0) {
+ String routeTargets = ""
+ for(AAIResourceUri u : uris) {
+
+ AAIResultWrapper wrapper = client.get(u.depth(Depth.TWO), NotFoundException.class)
+ Optional<VpnBinding> binding = wrapper.asBean(VpnBinding.class)
+
+ String routeTarget = ""
+ String routeRole = ""
+ if(binding.get().getRouteTargets() != null) {
+ List<RouteTarget> targets = binding.get().getRouteTargets().getRouteTarget()
+ for(RouteTarget target : targets) {
+ routeTarget = target.getGlobalRouteTarget()
+ routeRole = target.getRouteTargetRole()
+ routeTargets += "<routeTargets>" + '\n' +
+ " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' +
+ " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' +
+ "</routeTargets>" + '\n'
+ }
}
- }
- } // end loop
+ } // end loop
- execution.setVariable(Prefix + "routeCollection", routeTargets)
- msoLogger.debug(Prefix + "routeCollection - " + '\n' + routeTargets)
+ execution.setVariable(Prefix + "routeCollection", routeTargets)
+ logger.debug(Prefix + "routeCollection - " + '\n' + routeTargets)
- } else {
- // reset return code to success
- execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
- AaiUtil aaiUriUtil = new AaiUtil(this)
- String schemaVersion = aaiUriUtil.getNamespace()
- String aaiStubResponse =
- """ <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
+ } else {
+ // reset return code to success
+ execution.setVariable(Prefix + "aaiQqueryVpnBindingReturnCode", "200")
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String schemaVersion = aaiUriUtil.getNamespace()
+ String aaiStubResponse =
+ """ <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
<vpn-binding xmlns="${schemaVersion}">
<global-route-target/>
</vpn-binding>
</rest:payload>"""
- String aaiStubResponseAsXml = utils.formatXml(aaiStubResponse)
- execution.setVariable(Prefix + "queryVpnBindingAAIResponse", aaiStubResponseAsXml)
- execution.setVariable(Prefix + "routeCollection", "<routeTargets/>")
- msoLogger.debug(" No vpnBinding, using this stub as response - " + '\n' + aaiStubResponseAsXml)
+ String aaiStubResponseAsXml = utils.formatXml(aaiStubResponse)
+ execution.setVariable(Prefix + "queryVpnBindingAAIResponse", aaiStubResponseAsXml)
+ execution.setVariable(Prefix + "routeCollection", "<routeTargets/>")
+ logger.debug(" No vpnBinding, using this stub as response - " + '\n' + aaiStubResponseAsXml)
+ }
}
} catch (NotFoundException e) {
- msoLogger.debug("Response Error from AAINetworkVpnBinding is 404 (Not Found).")
+ logger.debug("Response Error from AAINetworkVpnBinding is 404 (Not Found).")
exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Response Error from AAINetworkVpnBinding is 404 (Not Found).")
} catch (Exception ex) {
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTQueryAAINetworkVpnBinding() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTQueryAAINetworkPolicy() of DoCreateNetworkInstance ***** " )
+ logger.debug(" ***** Inside callRESTQueryAAINetworkPolicy() of DoCreateNetworkInstance ***** " )
try {
- // get variables
- String queryIdAAIResponse = execution.getVariable(Prefix + "queryIdAAIResponse").replace('<?xml version="1.0" encoding="UTF-8"?>', "")
- String relationship = networkUtils.getFirstNodeXml(queryIdAAIResponse, "relationship-list").trim().replace("tag0:","").replace(":tag0","")
- msoLogger.debug(" relationship - " + relationship)
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, execution.getVariable(Prefix + "networkId"))
+ Optional<Relationships> relationships = client.get(uri, NotFoundException.class).getRelationships()
+ if(relationships.isPresent()){
+ List<AAIResourceUri> uris = relationships.get().getRelatedAAIUris(AAIObjectType.NETWORK_POLICY)
- // Check if Network Policy is present, then build a List of network policy
- List networkPolicyUriList = networkUtils.getNetworkPolicyObject(relationship)
- int networkPolicyCount = networkPolicyUriList.size()
- execution.setVariable(Prefix + "networkPolicyCount", networkPolicyCount)
- msoLogger.debug(Prefix + "networkPolicyCount - " + networkPolicyCount)
+ execution.setVariable(Prefix + "networkPolicyCount", uris.size())
+ logger.debug(Prefix + "networkPolicyCount - " + uris.size())
- AaiUtil aaiUriUtil = new AaiUtil(this)
+ if (uris.size() > 0) {
- if (networkPolicyCount > 0) {
- execution.setVariable(Prefix + "networkPolicyUriList", networkPolicyUriList)
- msoLogger.debug(" networkPolicyUri List - " + networkPolicyUriList)
+ String networkPolicies = ""
+ // AII loop call using list vpnBindings
+ for(AAIResourceUri u : uris) {
- String networkPolicies = ""
- // AII loop call using list vpnBindings
- for (i in 0..networkPolicyUriList.size()-1) {
+ NetworkPolicy p = client.get(u, NotFoundException.class).asBean(NetworkPolicy.class).get()
- int counting = i+1
+ execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", "200")
- // Note: By default, the network policy url is found in 'related-link' of the response,
- // so, the default in URN mappings for this is set to "" (ie, space), unless forced to use the URN mapping.
+ String networkPolicy = p.getNetworkPolicyFqdn()
+ networkPolicies += "<policyFqdns>" + networkPolicy + "</policyFqdns>" + '\n'
- URI uri = UriBuilder.fromUri(networkPolicyUriList[i]).build()
+ } // end loop
- AAIResourceUri aaiUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.NETWORK_POLICY, uri)
- aaiUri.depth(Depth.ALL)
- String queryNetworkPolicyAAIRequest = aaiUriUtil.createAaiUri(aaiUri)
+ execution.setVariable(Prefix + "networkCollection", networkPolicies)
+ logger.debug(Prefix + "networkCollection - " + '\n' + networkPolicies)
- execution.setVariable(Prefix + "queryNetworkPolicyAAIRequest", queryNetworkPolicyAAIRequest)
- msoLogger.debug(Prefix + "queryNetworkPolicyAAIRequest, , NetworkPolicy #" + counting + " : " + "\n" + queryNetworkPolicyAAIRequest)
-
- APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryNetworkPolicyAAIRequest)
- String returnCode = response.getStatusCode()
- execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", returnCode)
- msoLogger.debug(" ***** AAI query network policy Response Code, NetworkPolicy #" + counting + " : " + returnCode)
-
- String aaiResponseAsString = response.getResponseBodyAsString()
-
- if (returnCode=='200') {
- execution.setVariable(Prefix + "queryNetworkPolicyAAIResponse", aaiResponseAsString)
- msoLogger.debug(" QueryAAINetworkPolicy Success REST Response, , NetworkPolicy #" + counting + " : " + "\n" + aaiResponseAsString)
-
- String networkPolicy = ""
- if (utils.nodeExists(aaiResponseAsString, "network-policy-fqdn")) {
- networkPolicy = utils.getNodeText(aaiResponseAsString, "network-policy-fqdn")
- networkPolicies += "<policyFqdns>" + networkPolicy + "</policyFqdns>" + '\n'
- }
-
- } else {
- if (returnCode=='404') {
- String dataErrorMessage = "Response Error from QueryAAINetworkPolicy is 404 (Not Found)."
- msoLogger.debug(dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- } else {
- if (aaiResponseAsString.contains("RESTFault")) {
- WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
- execution.setVariable("WorkflowException", exceptionObject)
- throw new BpmnError("MSOWorkflowException")
-
- } else {
- // aai all errors
- String dataErrorMessage = "Unexpected Response from QueryAAINetworkPolicy - " + returnCode
- msoLogger.debug(dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- }
- }
- }
-
- } // end loop
-
- execution.setVariable(Prefix + "networkCollection", networkPolicies)
- msoLogger.debug(Prefix + "networkCollection - " + '\n' + networkPolicies)
-
- } else {
- // reset return code to success
- execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", "200")
- String schemaVersion = aaiUriUtil.getNamespace()
- String aaiStubResponse =
- """ <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
+ } else {
+ // reset return code to success
+ execution.setVariable(Prefix + "aaiQqueryNetworkPolicyReturnCode", "200")
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String schemaVersion = aaiUriUtil.getNamespace()
+ String aaiStubResponse =
+ """ <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
<network-policy xmlns="${schemaVersion}">
<network-policy-fqdn/>
</network-policy>
</rest:payload>"""
- String aaiStubResponseAsXml = utils.formatXml(aaiStubResponse)
- execution.setVariable(Prefix + "queryNetworkPolicyAAIResponse", aaiStubResponseAsXml)
- execution.setVariable(Prefix + "networkCollection", "<policyFqdns/>")
- msoLogger.debug(" No net policies, using this stub as response - " + '\n' + aaiStubResponseAsXml)
+ String aaiStubResponseAsXml = utils.formatXml(aaiStubResponse)
+ execution.setVariable(Prefix + "queryNetworkPolicyAAIResponse", aaiStubResponseAsXml)
+ execution.setVariable(Prefix + "networkCollection", "<policyFqdns/>")
+ logger.debug(" No net policies, using this stub as response - " + '\n' + aaiStubResponseAsXml)
+ }
}
+ } catch (NotFoundException e) {
+ String dataErrorMessage = "Response Error from QueryAAINetworkPolicy is 404 (Not Found)."
+ logger.debug(dataErrorMessage)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
- } catch (BpmnError e) {
- throw e;
-
- } catch (Exception ex) {
- String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTQueryAAINetworkPolicy() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ } catch (Exception ex) {
+ String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTQueryAAINetworkPolicy() - " + ex.getMessage()
+ logger.debug(exceptionMessage)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
- }
+ }
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTQueryAAINetworkTableRef() of DoCreateNetworkInstance ***** " )
+ logger.debug(" ***** Inside callRESTQueryAAINetworkTableRef() of DoCreateNetworkInstance ***** " )
try {
- // get variables
- String queryIdAAIResponse = execution.getVariable(Prefix + "queryIdAAIResponse").replace('<?xml version="1.0" encoding="UTF-8"?>', "")
- String relationship = networkUtils.getFirstNodeXml(queryIdAAIResponse, "relationship-list").trim().replace("tag0:","").replace(":tag0","")
- msoLogger.debug(" relationship - " + relationship)
-
- // Check if Network TableREf is present, then build a List of network policy
- List networkTableRefUriList = networkUtils.getNetworkTableRefObject(relationship)
- int networkTableRefCount = networkTableRefUriList.size()
- execution.setVariable(Prefix + "networkTableRefCount", networkTableRefCount)
- msoLogger.debug(Prefix + "networkTableRefCount - " + networkTableRefCount)
- String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution)
- AaiUtil aaiUriUtil = new AaiUtil(this)
+ AAIResourcesClient client = new AAIResourcesClient()
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, execution.getVariable(Prefix + "networkId"))
+ Optional<Relationships> relationships = client.get(uri, NotFoundException.class).getRelationships()
+ if(relationships.isPresent()){
+ List<AAIResourceUri> uris = relationships.get().getRelatedAAIUris(AAIObjectType.ROUTE_TABLE_REFERENCE)
- if (networkTableRefCount > 0) {
- execution.setVariable(Prefix + "networkTableRefUriList", networkTableRefUriList)
- msoLogger.debug(" networkTableRefUri List - " + networkTableRefUriList)
+ execution.setVariable(Prefix + "networkTableRefCount", uris.size())
+ logger.debug(Prefix + "networkTableRefCount - " + uris.size())
- // AII loop call using list vpnBindings
- String networkTableRefs = ""
- for (i in 0..networkTableRefUriList.size()-1) {
- int counting = i+1
+ if (uris.size() > 0) {
- // prepare url using tableRef
- URI uri = UriBuilder.fromUri(networkTableRefUriList[i]).build()
+ // AII loop call using list vpnBindings
+ String networkTableRefs = ""
+ for(AAIResourceUri u : uris) {
- AAIResourceUri aaiUri = AAIUriFactory.createResourceFromExistingURI(AAIObjectType.ROUTE_TABLE_REFERENCE, uri)
- aaiUri.depth(Depth.ALL)
- String queryNetworkTableRefAAIRequest = aaiUriUtil.createAaiUri(aaiUri)
+ RouteTableReference rt = client.get(u, NotFoundException.class).asBean(RouteTableReference.class).get()
- execution.setVariable(Prefix + "queryNetworkTableRefAAIRequest", queryNetworkTableRefAAIRequest)
- msoLogger.debug(Prefix + "queryNetworkTableRefAAIRequest, , NetworkTableRef #" + counting + " : " + "\n" + queryNetworkTableRefAAIRequest)
+ String networkTableRef = rt.getRouteTableReferenceFqdn()
+ networkTableRefs += "<routeTableFqdns>" + networkTableRef + "</routeTableFqdns>" + '\n'
- APIResponse response = aaiUriUtil.executeAAIGetCall(execution, queryNetworkTableRefAAIRequest)
- String returnCode = response.getStatusCode()
- execution.setVariable(Prefix + "aaiQqueryNetworkTableRefReturnCode", returnCode)
- msoLogger.debug(" ***** AAI query network Table Reference Response Code, NetworkTableRef #" + counting + " : " + returnCode)
-
- String aaiResponseAsString = response.getResponseBodyAsString()
-
- if (returnCode=='200') {
- execution.setVariable(Prefix + "queryNetworkTableRefAAIResponse", aaiResponseAsString)
- msoLogger.debug(" QueryAAINetworkTableRef Success REST Response, , NetworkTableRef #" + counting + " : " + "\n" + aaiResponseAsString)
-
- String networkTableRef = ""
- if (utils.nodeExists(aaiResponseAsString, "route-table-reference-fqdn")) {
- networkTableRef = utils.getNodeText(aaiResponseAsString, "route-table-reference-fqdn")
- networkTableRefs += "<routeTableFqdns>" + networkTableRef + "</routeTableFqdns>" + '\n'
- }
-
- } else {
- if (returnCode=='404') {
- String dataErrorMessage = "Response Error from QueryAAINetworkTableRef is 404 (Not Found)."
- msoLogger.debug(dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- } else {
- if (aaiResponseAsString.contains("RESTFault")) {
- WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiResponseAsString, execution)
- execution.setVariable("WorkflowException", exceptionObject)
- throw new BpmnError("MSOWorkflowException")
-
- } else {
- // aai all errors
- String dataErrorMessage = "Unexpected Response from QueryAAINetworkTableRef - " + returnCode
- msoLogger.debug(dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
-
- }
- }
- }
- } // end loop
+ } // end loop
- execution.setVariable(Prefix + "tableRefCollection", networkTableRefs)
- msoLogger.debug(Prefix + "tableRefCollection - " + '\n' + networkTableRefs)
+ execution.setVariable(Prefix + "tableRefCollection", networkTableRefs)
+ logger.debug(Prefix + "tableRefCollection - " + '\n' + networkTableRefs)
- } else {
- // reset return code to success
- execution.setVariable(Prefix + "aaiQqueryNetworkTableRefReturnCode", "200")
- String schemaVersion = aaiUriUtil.getNamespace()
- String aaiStubResponse =
- """ <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
+ } else {
+ // reset return code to success
+ execution.setVariable(Prefix + "aaiQqueryNetworkTableRefReturnCode", "200")
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String schemaVersion = aaiUriUtil.getNamespace()
+ String aaiStubResponse =
+ """ <rest:payload contentType="text/xml" xmlns:rest="http://schemas.activebpel.org/REST/2007/12/01/aeREST.xsd">
<route-table-references xmlns="${schemaVersion}">
<route-table-reference-fqdn/>
</route-table-references>
</rest:payload>"""
- String aaiStubResponseAsXml = utils.formatXml(aaiStubResponse)
- execution.setVariable(Prefix + "queryNetworkTableRefAAIResponse", aaiStubResponseAsXml)
- execution.setVariable(Prefix + "tableRefCollection", "<routeTableFqdns/>")
- msoLogger.debug(" No net table references, using this stub as response - " + '\n' + aaiStubResponseAsXml)
+ String aaiStubResponseAsXml = utils.formatXml(aaiStubResponse)
+ execution.setVariable(Prefix + "queryNetworkTableRefAAIResponse", aaiStubResponseAsXml)
+ execution.setVariable(Prefix + "tableRefCollection", "<routeTableFqdns/>")
+ logger.debug(" No net table references, using this stub as response - " + '\n' + aaiStubResponseAsXml)
+ }
}
- } catch (BpmnError e) {
- throw e;
+ } catch (NotFoundException e) {
+ String dataErrorMessage = "Response Error from QueryAAINetworkTableRef is 404 (Not Found)."
+ logger.debug(dataErrorMessage)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
} catch (Exception ex) {
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTQueryAAINetworkTableRef() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.debug(" ***** Inside callRESTUpdateContrailAAINetwork() of DoCreateNetworkInstance ***** " )
+ logger.trace(" ***** Inside callRESTUpdateContrailAAINetwork() of DoCreateNetworkInstance ***** " )
try {
// get variables
String networkId = execution.getVariable(Prefix + "networkId")
- networkId = UriUtils.encode(networkId,"UTF-8")
- String requeryIdAAIResponse = execution.getVariable(Prefix + "requeryIdAAIResponse")
+ L3Network requeryIdAAIResponse = execution.getVariable(Prefix + "requeryIdAAIResponse")
String createNetworkResponse = execution.getVariable(Prefix + "createNetworkResponse")
- // Prepare url
- AaiUtil aaiUriUtil = new AaiUtil(this)
+ L3Network l3Network = new L3Network()
+ if (StringUtils.isBlank(requeryIdAAIResponse.getHeatStackId())) {
+ if (utils.nodeExists(createNetworkResponse, 'networkStackId')) {
+ l3Network.setHeatStackId(utils.getNodeText(createNetworkResponse, 'networkStackId'))
+ }
+ }
+ if (StringUtils.isBlank(requeryIdAAIResponse.getNeutronNetworkId())) {
+ if (utils.nodeExists(createNetworkResponse, 'neutronNetworkId')) {
+ l3Network.setNeutronNetworkId(utils.getNodeText(createNetworkResponse, 'neutronNetworkId'))
+ }
+ }
+ if (StringUtils.isBlank(requeryIdAAIResponse.getContrailNetworkFqdn())) {
+ if (utils.nodeExists(createNetworkResponse, 'networkFqdn')) {
+ l3Network.setContrailNetworkFqdn(utils.getNodeText(createNetworkResponse, 'networkFqdn'))
+ }
+ }
+
+ String status = utils.getNodeText(createNetworkResponse, 'orchestration-status')
+ if(status.equals("pending-create") || status.equals("PendingCreate")){
+ l3Network.setOrchestrationStatus("Created")
+ }else{
+ l3Network.setOrchestrationStatus("Active")
+ }
+ logger.debug("Updating l3-network in AAI" )
+
+ AAIResourcesClient client = new AAIResourcesClient()
AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId)
- uri.depth(Depth.ALL)
- String updateContrailAAIUrlRequest = aaiUriUtil.createAaiUri(uri)
-
- execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest)
- msoLogger.debug(Prefix + "updateContrailAAIUrlRequest - " + "\n" + updateContrailAAIUrlRequest)
-
- //Prepare payload (PUT)
- String schemaVersion = aaiUriUtil.getNamespaceFromUri(updateContrailAAIUrlRequest)
- String payload = networkUtils.ContrailNetworkCreatedUpdate(requeryIdAAIResponse, createNetworkResponse, schemaVersion)
- String payloadXml = utils.formatXml(payload)
- execution.setVariable(Prefix + "updateContrailAAIPayloadRequest", payloadXml)
- msoLogger.debug(" 'payload' to Update Contrail - " + "\n" + payloadXml)
-
- APIResponse response = aaiUriUtil.executeAAIPutCall(execution, updateContrailAAIUrlRequest, payloadXml)
-
- String returnCode = response.getStatusCode()
- execution.setVariable(Prefix + "aaiUpdateContrailReturnCode", returnCode)
- msoLogger.debug(" ***** AAI Update Contrail Response Code : " + returnCode)
- String aaiUpdateContrailResponseAsString = response.getResponseBodyAsString()
- if (returnCode=='200') {
- execution.setVariable(Prefix + "updateContrailAAIResponse", aaiUpdateContrailResponseAsString)
- msoLogger.debug(" AAI Update Contrail Success REST Response - " + "\n" + aaiUpdateContrailResponseAsString)
- // Point-of-no-return is set to false, rollback not needed.
- String rollbackEnabled = execution.getVariable(Prefix + "rollbackEnabled")
- if (rollbackEnabled == "true") {
- execution.setVariable(Prefix + "isPONR", false)
- } else {
- execution.setVariable(Prefix + "isPONR", true)
- }
- msoLogger.debug(Prefix + "isPONR" + ": " + execution.getVariable(Prefix + "isPONR"))
- } else {
- if (returnCode=='404') {
- String dataErrorMessage = " Response Error from UpdateContrailAAINetwork is 404 (Not Found)."
- msoLogger.debug(dataErrorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
+ client.update(uri, l3Network)
+
+ if(requeryIdAAIResponse.getSubnets() != null){
+ for(Subnet s:requeryIdAAIResponse.getSubnets().getSubnet()){
+ String subnetOrchStatus = s.getOrchestrationStatus()
+ String subnetId = s.getSubnetId()
+ Subnet subnet = new Subnet()
+ subnet.setNeutronSubnetId(networkUtils.extractNeutSubId(createNetworkResponse, subnetId))
+ if(subnetOrchStatus.equals("pending-create") || subnetOrchStatus.equals("PendingCreate") ){
+ subnet.setOrchestrationStatus("Created")
+ }else{
+ subnet.setOrchestrationStatus("Active")
+ }
+
+ logger.debug("Updating subnet in AAI" )
+ AAIResourceUri subUri = AAIUriFactory.createResourceUri(AAIObjectType.SUBNET, networkId, subnetId)
+ client.update(subUri, subnet)
- } else {
- if (aaiUpdateContrailResponseAsString.contains("RESTFault")) {
- WorkflowException exceptionObject = exceptionUtil.MapAAIExceptionToWorkflowException(aaiUpdateContrailResponseAsString, execution)
- execution.setVariable("WorkflowException", exceptionObject)
- throw new BpmnError("MSOWorkflowException")
-
- } else {
- // aai all errors
- String errorMessage = "Unexpected Response from UpdateContrailAAINetwork - " + returnCode
- msoLogger.debug(errorMessage)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, errorMessage)
- }
}
}
+ String rollbackEnabled = execution.getVariable(Prefix + "rollbackEnabled")
+ if (rollbackEnabled == "true") {
+ execution.setVariable(Prefix + "isPONR", false)
+ } else {
+ execution.setVariable(Prefix + "isPONR", true)
+ }
+ logger.debug(Prefix + "isPONR" + ": " + execution.getVariable(Prefix + "isPONR"))
+
} catch (BpmnError e) {
throw e;
-
+ } catch (NotFoundException e) {
+ String dataErrorMessage = " Response Error from UpdateContrailAAINetwork is 404 (Not Found)."
+ logger.debug(dataErrorMessage)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage)
} catch (Exception ex) {
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. callRESTUpdateContrailAAINetwork() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
-
}
-
}
public void prepareCreateNetworkRequest (DelegateExecution execution) {
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareCreateNetworkRequest() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareCreateNetworkRequest() of DoCreateNetworkInstance")
try {
String source = execution.getVariable(Prefix + "source")
String requestInput = execution.getVariable(Prefix + "networkRequest")
- String queryIdResponse = execution.getVariable(Prefix + "queryIdAAIResponse")
+ L3Network queryIdResponse = execution.getVariable(Prefix + "queryIdAAIResponse")
String cloudRegionId = execution.getVariable(Prefix + "cloudRegionPo")
String backoutOnFailure = execution.getVariable(Prefix + "rollbackEnabled")
buildDeleteNetworkRequestAsString = buildDeleteNetworkRequestAsString.replace(":w1aac13n0", "").replace("w1aac13n0:", "")
execution.setVariable(Prefix + "createNetworkRequest", buildDeleteNetworkRequestAsString)
- msoLogger.debug(Prefix + "createNetworkRequest - " + "\n" + buildDeleteNetworkRequestAsString)
+ logger.debug(Prefix + "createNetworkRequest - " + "\n" + buildDeleteNetworkRequestAsString)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareCreateNetworkRequest() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareSDNCRequest() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareSDNCRequest() of DoCreateNetworkInstance")
try {
// get variables
String sndcTopologyCreateRequesAsString = utils.formatXml(sndcTopologyCreateRequest)
execution.setVariable(Prefix + "assignSDNCRequest", sndcTopologyCreateRequesAsString)
- msoLogger.debug(Prefix + "assignSDNCRequest - " + "\n" + sndcTopologyCreateRequesAsString)
+ logger.debug(Prefix + "assignSDNCRequest - " + "\n" + sndcTopologyCreateRequesAsString)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareSDNCRequest() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareRpcSDNCRequest() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareRpcSDNCRequest() of DoCreateNetworkInstance")
try {
// get variables
String sndcTopologyCreateRequesAsString = utils.formatXml(sndcTopologyCreateRequest)
execution.setVariable(Prefix + "assignSDNCRequest", sndcTopologyCreateRequesAsString)
- msoLogger.debug(Prefix + "assignSDNCRequest - " + "\n" + sndcTopologyCreateRequesAsString)
+ logger.debug(Prefix + "assignSDNCRequest - " + "\n" + sndcTopologyCreateRequesAsString)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareRpcSDNCRequest() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareRpcSDNCActivateRequest() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareRpcSDNCActivateRequest() of DoCreateNetworkInstance")
try {
// get variables
String sndcTopologyCreateRequesAsString = utils.formatXml(sndcTopologyCreateRequest)
execution.setVariable(Prefix + "activateSDNCRequest", sndcTopologyCreateRequesAsString)
- msoLogger.debug(Prefix + "activateSDNCRequest - " + "\n" + sndcTopologyCreateRequesAsString)
+ logger.debug(Prefix + "activateSDNCRequest - " + "\n" + sndcTopologyCreateRequesAsString)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareRpcSDNCActivateRequest() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside validateNetworkResponse() of DoCreateNetworkInstance")
+ logger.trace("Inside validateNetworkResponse() of DoCreateNetworkInstance")
try {
String returnCode = execution.getVariable(Prefix + "networkReturnCode")
networkResponse="" // reset
}
- msoLogger.debug(" Network Adapter create responseCode: " + returnCode)
+ logger.debug(" Network Adapter create responseCode: " + returnCode)
String errorMessage = ""
if (returnCode == "200") {
execution.setVariable(Prefix + "isNetworkRollbackNeeded", true)
execution.setVariable(Prefix + "createNetworkResponse", networkResponse)
- msoLogger.debug(" Network Adapter create Success Response - " + "\n" + networkResponse)
+ logger.debug(" Network Adapter create Success Response - " + "\n" + networkResponse)
// prepare rollback data
String rollbackData = utils.getNodeXml(networkResponse, "rollback", false).replace("tag0:","").replace(":tag0","")
</rollbackNetworkRequest>"""
String rollbackNetworkXml = utils.formatXml(rollbackNetwork)
execution.setVariable(Prefix + "rollbackNetworkRequest", rollbackNetworkXml)
- msoLogger.debug(" Network Adapter rollback data - " + "\n" + rollbackNetworkXml)
+ logger.debug(" Network Adapter rollback data - " + "\n" + rollbackNetworkXml)
} else { // network error
if (returnCode.toInteger() > 399 && returnCode.toInteger() < 600) { //4xx, 5xx
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. validateCreateNetworkResponse() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside validateSDNCResponse() of DoCreateNetworkInstance")
+ logger.trace("Inside validateSDNCResponse() of DoCreateNetworkInstance")
String response = execution.getVariable(Prefix + "assignSDNCResponse")
boolean successIndicator = execution.getVariable("SDNCA_SuccessIndicator")
if (execution.getVariable(Prefix + "sdncResponseSuccess") == true) { // from sdnc util, Prefix+'sdncResponseSuccess'
execution.setVariable(Prefix + "isSdncRollbackNeeded", true)
- msoLogger.debug("Successfully Validated SDNC Response")
+ logger.debug("Successfully Validated SDNC Response")
} else {
- msoLogger.debug("Did NOT Successfully Validated SDNC Response")
+ logger.debug("Did NOT Successfully Validated SDNC Response")
throw new BpmnError("MSOWorkflowException")
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside validateRpcSDNCActivateResponse() of DoCreateNetworkInstance")
+ logger.trace("Inside validateRpcSDNCActivateResponse() of DoCreateNetworkInstance")
String response = execution.getVariable(Prefix + "activateSDNCResponse")
boolean successIndicator = execution.getVariable("SDNCA_SuccessIndicator")
if (execution.getVariable(Prefix + "sdncResponseSuccess") == true) { // from sdnc util, Prefix+'sdncResponseSuccess'
execution.setVariable(Prefix + "isSdncActivateRollbackNeeded", true)
- msoLogger.debug("Successfully Validated Rpc SDNC Activate Response")
+ logger.debug("Successfully Validated Rpc SDNC Activate Response")
} else {
- msoLogger.debug("Did NOT Successfully Validated Rpc SDNC Activate Response")
+ logger.debug("Did NOT Successfully Validated Rpc SDNC Activate Response")
throw new BpmnError("MSOWorkflowException")
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareSDNCRollbackRequest() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareSDNCRollbackRequest() of DoCreateNetworkInstance")
try {
// get variables
String sndcTopologyRollbackRequest = sdncAdapterUtils.sdncTopologyRequestV2(execution, createNetworkInput, serviceInstanceId, sdncCallback, "rollback", "NetworkActivateRequest", cloudRegionId, networkId, null, null)
String sndcTopologyRollbackRequestAsString = utils.formatXml(sndcTopologyRollbackRequest)
execution.setVariable(Prefix + "rollbackSDNCRequest", sndcTopologyRollbackRequestAsString)
- msoLogger.debug(" Preparing request for SDNC Topology 'rollback-NetworkActivateRequest' rollback . . . - " + "\n" + sndcTopologyRollbackRequestAsString)
+ logger.debug(" Preparing request for SDNC Topology 'rollback-NetworkActivateRequest' rollback . . . - " + "\n" + sndcTopologyRollbackRequestAsString)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareSDNCRollbackRequest() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareRpcSDNCRollbackRequest() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareRpcSDNCRollbackRequest() of DoCreateNetworkInstance")
try {
// get variables
String sndcTopologyRollbackRpcRequest = sdncAdapterUtils.sdncTopologyRequestRsrc(execution, createNetworkInput, serviceInstanceId, sdncCallback, "unassign", "DeleteNetworkInstance", cloudRegionId, networkId, null)
String sndcTopologyRollbackRpcRequestAsString = utils.formatXml(sndcTopologyRollbackRpcRequest)
execution.setVariable(Prefix + "rollbackSDNCRequest", sndcTopologyRollbackRpcRequestAsString)
- msoLogger.debug(" Preparing request for SDNC Topology 'unassign-DeleteNetworkInstance' rollback . . . - " + "\n" + sndcTopologyRollbackRpcRequestAsString)
+ logger.debug(" Preparing request for SDNC Topology 'unassign-DeleteNetworkInstance' rollback . . . - " + "\n" + sndcTopologyRollbackRpcRequestAsString)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareRpcSDNCRollbackRequest() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareRpcSDNCActivateRollback() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareRpcSDNCActivateRollback() of DoCreateNetworkInstance")
try {
String sndcTopologyRollbackRpcRequest = sdncAdapterUtils.sdncTopologyRequestRsrc(execution, createNetworkInput, serviceInstanceId, sdncCallback, "deactivate", "DeleteNetworkInstance", cloudRegionId, networkId, null)
String sndcTopologyRollbackRpcRequestAsString = utils.formatXml(sndcTopologyRollbackRpcRequest)
execution.setVariable(Prefix + "rollbackActivateSDNCRequest", sndcTopologyRollbackRpcRequestAsString)
- msoLogger.debug(" Preparing request for RPC SDNC Topology 'deactivate-DeleteNetworkInstance' rollback . . . - " + "\n" + sndcTopologyRollbackRpcRequestAsString)
+ logger.debug(" Preparing request for RPC SDNC Topology 'deactivate-DeleteNetworkInstance' rollback . . . - " + "\n" + sndcTopologyRollbackRpcRequestAsString)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareRpcSDNCActivateRollback() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareRollbackData() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareRollbackData() of DoCreateNetworkInstance")
try {
}
}
execution.setVariable("rollbackData", rollbackData)
- msoLogger.debug("** rollbackData : " + rollbackData)
+ logger.debug("** rollbackData : " + rollbackData)
execution.setVariable("WorkflowException", execution.getVariable(Prefix + "WorkflowException"))
- msoLogger.debug("** WorkflowException : " + execution.getVariable("WorkflowException"))
+ logger.debug("** WorkflowException : " + execution.getVariable("WorkflowException"))
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareRollbackData() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside postProcessResponse() of DoCreateNetworkInstance")
+ logger.trace("Inside postProcessResponse() of DoCreateNetworkInstance")
try {
// 2. Success: execution.getVariable("WorkflowException") == null (NULL)
// 3. WorkflowException: execution.getVariable("WorkflowException") != null (NOT NULL)
- msoLogger.debug(" ***** Is Exception Encountered (isException)? : " + execution.getVariable(Prefix + "isException"))
+ logger.debug(" ***** Is Exception Encountered (isException)? : " + execution.getVariable(Prefix + "isException"))
// successful flow
if (execution.getVariable(Prefix + "isException") == false) {
// set rollback data
prepareSuccessRollbackData(execution) // populate rollbackData
execution.setVariable("WorkflowException", null)
execution.setVariable(Prefix + "Success", true)
- msoLogger.debug(" ***** postProcessResponse(), GOOD !!!")
+ logger.debug(" ***** postProcessResponse(), GOOD !!!")
} else {
// inside sub-flow logic
execution.setVariable(Prefix + "Success", false)
execution.setVariable("rollbackData", null)
String exceptionMessage = " Exception encountered in MSO Bpmn. "
if (execution.getVariable("workflowException") != null) { // Output of Rollback flow.
- msoLogger.debug(" ***** workflowException: " + execution.getVariable("workflowException"))
+ logger.debug(" ***** workflowException: " + execution.getVariable("workflowException"))
WorkflowException wfex = execution.getVariable("workflowException")
exceptionMessage = wfex.getErrorMessage()
} else {
}
}
// going to the Main flow: a-la-carte or macro
- msoLogger.debug(" ***** postProcessResponse(), BAD !!!")
+ logger.debug(" ***** postProcessResponse(), BAD !!!")
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
throw new BpmnError("MSOWorkflowException")
}
} catch(BpmnError b){
- msoLogger.debug("Rethrowing MSOWorkflowException")
+ logger.debug("Rethrowing MSOWorkflowException")
throw b
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. postProcessResponse() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
throw new BpmnError("MSOWorkflowException")
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside prepareSuccessRollbackData() of DoCreateNetworkInstance")
+ logger.trace("Inside prepareSuccessRollbackData() of DoCreateNetworkInstance")
try {
}
execution.setVariable("rollbackData", rollbackData)
- msoLogger.debug("** 'rollbackData' for Full Rollback : " + rollbackData)
+ logger.debug("** 'rollbackData' for Full Rollback : " + rollbackData)
execution.setVariable("WorkflowException", null)
} catch (Exception ex) {
String exceptionMessage = " Bpmn error encountered in DoCreateNetworkInstance flow. prepareSuccessRollbackData() - " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
- msoLogger.trace("Inside setExceptionFlag() of DoCreateNetworkInstance")
+ logger.trace("Inside setExceptionFlag() of DoCreateNetworkInstance")
try {
} else {
execution.setVariable(Prefix + "WorkflowException", execution.getVariable("WorkflowException"))
}
- msoLogger.debug(Prefix + "WorkflowException - " +execution.getVariable(Prefix + "WorkflowException"))
+ logger.debug(Prefix + "WorkflowException - " +execution.getVariable(Prefix + "WorkflowException"))
} catch(Exception ex){
String exceptionMessage = "Bpmn error encountered in DoCreateNetworkInstance flow. setExceptionFlag(): " + ex.getMessage()
- msoLogger.debug(exceptionMessage)
+ logger.debug(exceptionMessage)
exceptionUtil.buildWorkflowException(execution, 7000, exceptionMessage)
}
execution.setVariable("prefix",Prefix)
try{
- msoLogger.debug( "Caught a Java Exception in " + Prefix)
- msoLogger.debug("Started processJavaException Method")
- msoLogger.debug("Variables List: " + execution.getVariables())
+ logger.debug( "Caught a Java Exception in " + Prefix)
+ logger.debug("Started processJavaException Method")
+ logger.debug("Variables List: " + execution.getVariables())
execution.setVariable("UnexpectedError", "Caught a Java Lang Exception - " + Prefix) // Adding this line temporarily until this flows error handling gets updated
exceptionUtil.buildWorkflowException(execution, 500, "Caught a Java Lang Exception")
}catch(Exception e){
- msoLogger.debug("Caught Exception during processJavaException Method: " + e)
+ logger.debug("Caught Exception during processJavaException Method: " + e)
execution.setVariable("UnexpectedError", "Exception in processJavaException method - " + Prefix) // Adding this line temporarily until this flows error handling gets updated
exceptionUtil.buildWorkflowException(execution, 500, "Exception in processJavaException method" + Prefix)
}
- msoLogger.debug( "Completed processJavaException Method in " + Prefix)
+ logger.debug( "Completed processJavaException Method in " + Prefix)
}
}