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
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
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;
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!");
}
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;
}
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)) {
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
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("");
}
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;
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();
}