1 package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
3 import org.camunda.bpm.engine.delegate.DelegateExecution;
4 import org.openecomp.mso.bpmn.core.WorkflowException;
5 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.GenericResourceApi;
6 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder.NetworkRpcInputEntityBuilder;
7 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcInputEntity;
8 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcOutputEntity;
9 import org.openecomp.mso.requestsdb.RequestsDbConstant;
14 * Created by 10112215 on 2017/9/20.
16 public class SdncVlOperationTaskEntityImpl extends AbstractSdncVlOperationTask {
18 public void sendRestrequestAndHandleResponse(DelegateExecution execution,
19 Map<String, String> inputs,
20 GenericResourceApi genericResourceApiClient) throws Exception {
21 updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!");
22 NetworkRpcInputEntityBuilder builder = new NetworkRpcInputEntityBuilder();
23 NetworkRpcInputEntity body = builder.build(inputs);
24 updateProgress(execution, null, null, "50", "RequestBody build finished!");
25 NetworkRpcOutputEntity networkRpcOutputEntiy = genericResourceApiClient.postNetworkTopologyPeration(body).execute().body();
26 updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
27 saveOutput(execution, networkRpcOutputEntiy);
30 private void saveOutput(DelegateExecution execution, NetworkRpcOutputEntity output) throws Exception {
31 String responseCode = output.getOutput().getResponseCode();
32 if (!responseCode.equals("200")) {
33 String processKey = getProcessKey(execution);
34 int errorCode = Integer.valueOf(responseCode);
35 String errorMessage = output.getOutput().getEsponseMessage();
36 WorkflowException workflowException = new WorkflowException(processKey, errorCode, errorMessage);
37 execution.setVariable("SDNCA_SuccessIndicator", workflowException);
38 updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage);
39 throw new Exception("");