* ============LICENSE_END=========================================================
*/
-package com.att.bpm.scripts
+package org.openecomp.mso.bpmn.infrastructure.scripts
import javax.xml.parsers.DocumentBuilder
import org.apache.commons.lang3.*
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.runtime.Execution
-
import org.w3c.dom.Document
import org.w3c.dom.Element
import org.w3c.dom.Node
import org.w3c.dom.NodeList
-
import org.xml.sax.InputSource
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.common.scripts.VidUtils;
import org.openecomp.mso.bpmn.core.WorkflowException
import org.openecomp.mso.bpmn.core.json.JsonUtils;
if(deleteVnfRequest != null){
- String requestId = execution.getVariable("att-mso-request-id")
+ String requestId = execution.getVariable("mso-request-id")
execution.setVariable("DELVI_requestId", requestId)
String serviceInstanceId = execution.getVariable("serviceInstanceId")
String source = jsonUtil.getJsonValue(deleteVnfRequest, "requestDetails.requestInfo.source")
execution.setVariable("DELVI_source", source)
utils.log("DEBUG", "Incoming Source is: " + source, isDebugEnabled)
+
+ def cloudConfiguration = jsonUtil.getJsonValue(deleteVnfRequest, "requestDetails.cloudConfiguration")
+ execution.setVariable("DELVI_cloudConfiguration", cloudConfiguration)
+
+ boolean cascadeDelete = false
+ Boolean cascadeDeleteObj = jsonUtil.getJsonRawValue(deleteVnfRequest, "requestDetails.requestParameters.cascadeDelete")
+ if(cascadeDeleteObj!=null){
+ cascadeDelete = cascadeDeleteObj.booleanValue()
+ }
+ execution.setVariable("DELVI_cascadeDelete", cascadeDelete)
+ utils.log("DEBUG", "Incoming cascadeDelete is: " + cascadeDelete, isDebugEnabled)
//For Completion Handler & Fallout Handler
String requestInfo =
- """<request-info xmlns="http://ecomp.att.com/mso/infra/vnf-request/v1">
+ """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
<request-id>${requestId}</request-id>
<action>DELETE</action>
<source>${source}</source>
utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra SendSyncResponse Process ***", isDebugEnabled)
}
- public void processGetVnfResponse(Execution execution){
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- execution.setVariable("prefix",Prefix)
- utils.log("DEBUG", " *** STARTED DeleteVnfInfra processGetVnfResponse Process *** ", isDebugEnabled)
- try {
- String vnf = execution.getVariable("DELVI_genericVnf")
- String resourceVersion = utils.getNodeText1(vnf, "resource-version")
- execution.setVariable("DELVI_resourceVersion", resourceVersion)
-
- if(utils.nodeExists(vnf, "relationship")){
- InputSource source = new InputSource(new StringReader(vnf));
- DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = docFactory.newDocumentBuilder()
- Document vnfXml = docBuilder.parse(source)
-
- NodeList nodeList = vnfXml.getElementsByTagName("relationship")
- for (int x = 0; x < nodeList.getLength(); x++) {
- Node node = nodeList.item(x)
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element eElement = (Element) node
- def e = eElement.getElementsByTagName("related-to").item(0).getTextContent()
- if(e.equals("volume-group") || e.equals("l3-network") || e.equals("vserver")){
- utils.log("DEBUG", "Generic Vnf still has relationship to OpenStack.", isDebugEnabled)
- execution.setVariable("DELVI_vnfInUse", true)
- }else{
- utils.log("DEBUG", "Relationship NOT related to OpenStack", isDebugEnabled)
- }
- }
- }
- }
-
- if(utils.nodeExists(vnf, "vf-module")){
- execution.setVariable("DELVI_vnfInUse", true)
- utils.log("DEBUG", "Generic Vnf still has vf-modules.", isDebugEnabled)
- }
-
-
- } catch (Exception ex) {
- utils.log("DEBUG", "Error Occured in DeleteVnfInfra processGetVnfResponse Process " + ex.getMessage(), isDebugEnabled)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in DeleteVnfInfra processGetVnfResponse Process")
-
- }
- utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra processGetVnfResponse Process ***", isDebugEnabled)
- }
-
public void prepareCompletionHandlerRequest(Execution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String vnfId = execution.getVariable("DELVI_vnfId")
String request =
- """<aetgt:MsoCompletionRequest xmlns:aetgt="http://ecomp.att.com/mso/workflow/schema/v1"
- xmlns:ns="http://ecomp.att.com/mso/request/types/v1">
+ """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
+ xmlns:ns="http://org.openecomp/mso/request/types/v1">
${requestInfo}
<status-message>Vnf has been deleted successfully.</status-message>
<vnfId>${vnfId}</vnfId>