a387756d7ccae05807defc81404e46a7483be910
[so.git] /
1 package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
2
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;
10
11 import java.util.Map;
12
13 /**
14  * Created by 10112215 on 2017/9/20.
15  */
16 public class SdncVlOperationTaskEntityImpl extends AbstractSdncVlOperationTask {
17     @Override
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);
28     }
29
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("");
40         }
41     }
42
43 }