fix updateProgress 23/23623/1 v1.1.0
authorZhuoyao Huang <10112215@zte.com.cn>
Wed, 15 Nov 2017 13:54:04 +0000 (21:54 +0800)
committerZhuoyao Huang <10112215@zte.com.cn>
Wed, 15 Nov 2017 14:05:45 +0000 (22:05 +0800)
Change-Id: I91d63cacc0d1a55c3b07703890adecd95ba9410d
Issue-ID:SO-181
Signed-off-by: Zhuoyao Huang <10112215@zte.com.cn>
bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java

index b94db49..7e957be 100644 (file)
@@ -110,7 +110,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
         String returnCode = apiResponse.getStatusCode()\r
         String apiResponseAsString = apiResponse.getResponseBodyAsString()\r
         String operationStatus = "error";\r
-        if(returnCode== "200"){\r
+        if(returnCode== "200" || returnCode== "202"){\r
             operationStatus = "finished"\r
         }\r
         execution.setVariable("operationStatus", operationStatus)\r
@@ -130,7 +130,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces
         String returnCode = apiResponse.getStatusCode()\r
         String aaiResponseAsString = apiResponse.getResponseBodyAsString()\r
         String jobId = "";\r
-        if(returnCode== "200"){\r
+        if(returnCode== "200" || returnCode== "202"){\r
             jobId =  jsonUtil.getJsonValue(aaiResponseAsString, "jobId")\r
         }\r
         execution.setVariable("jobId", jobId)   \r
index c6db924..823223f 100644 (file)
@@ -44,6 +44,7 @@ import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.Generic
 import org.openecomp.mso.logger.MessageEnum;
 import org.openecomp.mso.logger.MsoLogger;
 import org.openecomp.mso.requestsdb.RequestsDatabase;
+import org.openecomp.mso.requestsdb.RequestsDbConstant;
 import org.openecomp.mso.requestsdb.ResourceOperationStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -342,6 +343,8 @@ public abstract class AbstractSdncOperationTask extends BaseTask {
             logger.error("exception: AbstractSdncOperationTask.fail!:", e);
             e.printStackTrace();
             execution.setVariable("SDNCA_SuccessIndicator", false);
+            updateProgress(execution, RequestsDbConstant.Status.ERROR, null, "100", "sendRestrequestAndHandleResponse finished!");
+
         }
         logger.info("AbstractSdncOperationTask.execute end!");
     }
@@ -350,16 +353,18 @@ public abstract class AbstractSdncOperationTask extends BaseTask {
         logger.info("AbstractSdncOperationTask.getInputs begin!");
         Map<String, String> inputs = new HashMap<>();
         String json = (String) execution.getVariable(SDCADAPTOR_INPUTS);
-        JSONObject jsonObject = new JSONObject(json);
-        JSONObject paras = jsonObject.getJSONObject("additionalParamForNs");
-        Iterator<String> iterator = paras.keys();
-        while (iterator.hasNext()) {
-            String key = iterator.next();
-            inputs.put(key, paras.getString(key));
-        }
+        if (!StringUtils.isBlank(json)) {
+            JSONObject jsonObject = new JSONObject(json);
+            JSONObject paras = jsonObject.getJSONObject("additionalParamForNs");
+            Iterator<String> iterator = paras.keys();
+            while (iterator.hasNext()) {
+                String key = iterator.next();
+                inputs.put(key, paras.getString(key));
+            }
 /*        if (paras.keys().hasNext()) {
             paras.keySet().stream().forEach(key -> inputs.put(key, paras.getString((String) key)));
         }*/
+        }
         logger.info("AbstractSdncOperationTask.getInputs end!");
         return inputs;
     }
@@ -375,8 +380,10 @@ public abstract class AbstractSdncOperationTask extends BaseTask {
                                String statusDescription) {
         logger.info("AbstractSdncOperationTask.updateProgress begin!");
         String serviceId = (String) execution.getVariable("serviceId");
+        serviceId = StringUtils.isBlank(serviceId) ? (String) execution.getVariable("serviceInstanceId") : serviceId;
         String operationId = (String) execution.getVariable("operationId");
         String resourceTemplateUUID = (String) execution.getVariable("resourceUUID");
+        resourceTemplateUUID = StringUtils.isBlank(resourceTemplateUUID) ? (String) execution.getVariable("resourceTemplateId") : resourceTemplateUUID;
         try {
             ResourceOperationStatus resourceOperationStatus = getResourceOperationStatus(serviceId, operationId, resourceTemplateUUID);
             if (!StringUtils.isBlank(status)) {
index 34cb4f1..698f0c5 100644 (file)
@@ -52,10 +52,10 @@ public class SdncNetworkTopologyOperationTask extends AbstractSdncOperationTask
                                                  Map<String, String> inputs,
                                                  GenericResourceApi genericResourceApiClient) throws Exception {
         logger.info("SdncNetworkTopologyOperationTask.sendRestrequestAndHandleResponse begin!");
-        updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!");
+        updateProgress(execution, RequestsDbConstant.Status.PROCESSING, null, "40", "sendRestrequestAndHandleResponse begin!");
         NetworkRpcInputEntityBuilder builder = new NetworkRpcInputEntityBuilder();
         RpcNetworkTopologyOperationInputEntity inputEntity = builder.build(execution, inputs);
-        updateProgress(execution, null, null, "50", "RequestBody build finished!");
+        updateProgress(execution, RequestsDbConstant.Status.PROCESSING, null, "50", "RequestBody build finished!");
         RpcNetworkTopologyOperationOutputEntity outputEntity;
         if (!isSend2SdncDirectly()) {
             outputEntity = genericResourceApiClient.postNetworkTopologyOperation
@@ -92,7 +92,7 @@ public class SdncNetworkTopologyOperationTask extends AbstractSdncOperationTask
             String errorMessage = output.getOutput().getResponseMessage();
             WorkflowException workflowException = new WorkflowException(processKey, errorCode, errorMessage);
             execution.setVariable("SDNCA_SuccessIndicator", workflowException);
-            updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage);
+            updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), "100", errorMessage);
             logger.info("exception: SdncNetworkTopologyOperationTask.saveOutput fail!");
             throw new Exception("");
         }
index 119ac42..869c778 100644 (file)
@@ -20,6 +20,7 @@
 
 package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
 
+import org.apache.commons.lang3.StringUtils;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
 import org.openecomp.mso.bpmn.core.BaseTask;
 import org.openecomp.mso.requestsdb.RequestsDatabase;
@@ -40,8 +41,10 @@ public class SdncUnderlayVpnPreprocessTask extends BaseTask {
 
     private String getOperType(DelegateExecution execution) {
         String serviceId = (String) execution.getVariable("serviceId");
+        serviceId = StringUtils.isBlank(serviceId) ? (String) execution.getVariable("serviceInstanceId") : serviceId;
         String operationId = (String) execution.getVariable("operationId");
         String resourceTemplateUUID = (String) execution.getVariable("resourceUUID");
+        resourceTemplateUUID = StringUtils.isBlank(resourceTemplateUUID) ? (String) execution.getVariable("resourceTemplateId") : resourceTemplateUUID;
         ResourceOperationStatus resourceOperationStatus = requestsDB.getResourceOperationStatus(serviceId, operationId, resourceTemplateUUID);
         return resourceOperationStatus.getOperType();
     }