import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
+import java.util.List;
import java.util.UUID;
import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled)
String msg = ""
}
- public void preProcessVFCDelete (Execution execution) {
+ public void preProcessVFCDelete (DelegateExecution execution) {
}
- public void postProcessVFCDelete(Execution execution, String response, String method) {
+ public void postProcessVFCDelete(DelegateExecution execution, String response, String method) {
}
- public void preProcessSDNCDelete (Execution execution) {
+ public void preProcessSDNCDelete (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** preProcessSDNCDelete *****", isDebugEnabled)
String msg = ""
utils.log("INFO"," *****Exit preProcessSDNCDelete *****", isDebugEnabled)
}
- public void postProcessSDNCDelete(Execution execution, String response, String method) {
+ public void postProcessSDNCDelete(DelegateExecution execution, String response, String method) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessSDNC " + method + " *****", isDebugEnabled)
utils.log("INFO"," *** Exit postProcessSDNC " + method + " ***", isDebugEnabled)
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled)
String msg = ""
boolean foundInAAI = execution.getVariable("GENGS_FoundIndicator")
String serviceType = ""
- if(foundInAAI == true){
+ if(foundInAAI){
utils.log("INFO","Found Service-instance in AAI", isDebugEnabled)
String siData = execution.getVariable("GENGS_service")
else
{
utils.log("INFO", "SI Data" + siData, isDebugEnabled)
- serviceType = utils.getNodeText1(siData,"service-type")
- execution.setVariable("serviceType", serviceType)
- execution.setVariable("serviceRole", utils.getNodeText1(siData,"service-role"))
- String orchestrationStatus = utils.getNodeText1(siData,"orchestration-status")
-
//Confirm there are no related service instances (vnf/network or volume)
if (utils.nodeExists(siData, "relationship-list")) {
utils.log("INFO", "SI Data relationship-list exists:", isDebugEnabled)
}
}
}
- execution.setVariable("serviceRelationShip", jArray)
+ execution.setVariable("serviceRelationShip", jArray.toString())
}
}
}else{
boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator")
- if(succInAAI != true){
+ if(!succInAAI){
utils.log("INFO","Error getting Service-instance from AAI", + serviceInstanceId, isDebugEnabled)
WorkflowException workflowException = execution.getVariable("WorkflowException")
utils.logAudit("workflowException: " + workflowException)
utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled)
}
- public void postProcessAAIDEL(Execution execution) {
+ public void postProcessAAIDEL(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** postProcessAAIDEL ***** ", isDebugEnabled)
String msg = ""
try {
String serviceInstanceId = execution.getVariable("serviceInstanceId")
boolean succInAAI = execution.getVariable("GENDS_SuccessIndicator")
- if(succInAAI != true){
+ if(!succInAAI){
msg = "Error deleting Service-instance in AAI" + serviceInstanceId
utils.log("INFO", msg, isDebugEnabled)
WorkflowException workflowException = execution.getVariable("WorkflowException")
utils.log("INFO"," *** Exit postProcessAAIDEL *** ", isDebugEnabled)
}
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled)
resourceTemplateUUIDs = resourceTemplateUUIDs + it.resourceInstanceId + ":"
}
}
- execution.setVariable("URN_mso_openecomp_adapters_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+ execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
String payload =
"""<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
}
utils.log("INFO", " ======== END preResourceDelete Process ======== ", isDebugEnabled)
}
+
+ public void sequenceResource(execution){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+
+ utils.log("INFO", " ======== STARTED sequenceResource Process ======== ", isDebugEnabled)
+ List<String> nsResources = new ArrayList<String>()
+ List<String> wanResources = new ArrayList<String>()
+ List<String> resourceSequence = new ArrayList<String>()
+
+ String serviceRelationShip = execution.getVariable("serviceRelationShip")
+
+
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+ List relationShipList = jsonSlurper.parseText(serviceRelationShip)
+
+ if (relationShipList != null) {
+ relationShipList.each {
+ if(StringUtils.containsIgnoreCase(it.resourceType, "overlay") || StringUtils.containsIgnoreCase(it.resourceType, "underlay")){
+ wanResources.add(it.resourceType)
+ }else{
+ nsResources.add(it.resourceType)
+ }
+ }
+ }
+ resourceSequence.addAll(wanResources)
+ resourceSequence.addAll(nsResources)
+ String isContainsWanResource = wanResources.isEmpty() ? "false" : "true"
+ execution.setVariable("isContainsWanResource", isContainsWanResource)
+ execution.setVariable("currentResourceIndex", 0)
+ execution.setVariable("resourceSequence", resourceSequence)
+ utils.log("INFO", "resourceSequence: " + resourceSequence, isDebugEnabled)
+ execution.setVariable("wanResources", wanResources)
+ utils.log("INFO", " ======== END sequenceResource Process ======== ", isDebugEnabled)
+ }
+
+ public void getCurrentResource(execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", "======== Start getCurrentResoure Process ======== ", isDebugEnabled)
+ def currentIndex = execution.getVariable("currentResourceIndex")
+ List<String> resourceSequence = execution.getVariable("resourceSequence")
+ List<String> wanResources = execution.getVariable("wanResources")
+ String resourceName = resourceSequence.get(currentIndex)
+ execution.setVariable("resourceType",resourceName)
+ if(wanResources.contains(resourceName)){
+ execution.setVariable("controllerInfo", "SDN-C")
+ }else{
+ execution.setVariable("controllerInfo", "VF-C")
+ }
+ utils.log("INFO", "======== COMPLETED getCurrentResoure Process ======== ", isDebugEnabled)
+ }
+
+ public void parseNextResource(execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", "======== Start parseNextResource Process ======== ", isDebugEnabled)
+ def currentIndex = execution.getVariable("currentResourceIndex")
+ def nextIndex = currentIndex + 1
+ execution.setVariable("currentResourceIndex", nextIndex)
+ List<String> resourceSequence = execution.getVariable("resourceSequence")
+ if(nextIndex >= resourceSequence.size()){
+ execution.setVariable("allResourceFinished", "true")
+ }else{
+ execution.setVariable("allResourceFinished", "false")
+ }
+ utils.log("INFO", "======== COMPLETED parseNextResource Process ======== ", isDebugEnabled)
+ }
+
}
\ No newline at end of file