underlay vpn 79/14579/2
authorZhuoyao Huang <huang.zhuoyao@zte.com.cn>
Fri, 22 Sep 2017 11:22:42 +0000 (19:22 +0800)
committerZhuoyao Huang <10112215@zte.com.cn>
Fri, 22 Sep 2017 12:13:20 +0000 (20:13 +0800)
Change-Id: I3eafc44ca701f02921dfe14a2714948cd1c21c2d
Issue-ID: SO-88
Signed-off-by: Zhuoyao Huang <10112215@zte.com.cn>
22 files changed:
bpmn/MSOInfrastructureBPMN/pom.xml
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncVlOperationTask.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnOperationClient.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncVlOperationTaskEntityImpl.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/GenericResourceApi.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilder.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilder.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/EcompModelInformationEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/InputEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkInformationEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkInputPaarametersEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRequestInputEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkResponseInformationEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRpcInputEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRpcOutputEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/OutputEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ParamEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/RequestInformationEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/SdncRequestHeaderEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ServiceInformationEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ServiceResponseInformationEntity.java [new file with mode: 0644]
bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUnderVpnOperation_java.bpmn [new file with mode: 0644]

index 24c8546..d57b1cf 100644 (file)
        <artifactId>resteasy-jackson2-provider</artifactId>\r
        <version>3.0.11.Final</version>\r
     </dependency>\r
+\r
+               <dependency>\r
+                       <groupId>org.onap.msb.java-sdk</groupId>\r
+                       <artifactId>msb-java-sdk</artifactId>\r
+                       <version>1.0.0-SNAPSHOT</version>\r
+               </dependency>\r
+\r
+               <!--for yang tools-->\r
+<!--           <dependency>\r
+                       <groupId>org.openecomp.so</groupId>\r
+                       <artifactId>common</artifactId>\r
+                       <version>1.1.0-SNAPSHOT</version>\r
+               </dependency>-->\r
+\r
+               <dependency>\r
+                       <groupId>org.onap.sdnc.northbound</groupId>\r
+                       <artifactId>generic-resource-api.model</artifactId>\r
+                       <version>1.2.0</version>\r
+               </dependency>\r
        </dependencies>\r
 </project>\r
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncVlOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/AbstractSdncVlOperationTask.java
new file mode 100644 (file)
index 0000000..8b26d01
--- /dev/null
@@ -0,0 +1,114 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
+
+import org.apache.commons.lang3.StringUtils;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.onap.msb.sdk.httpclient.RestServiceCreater;
+import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.GenericResourceApi;
+import org.openecomp.mso.bpmn.core.BaseTask;
+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 java.util.Map;
+
+/**
+ * Created by 10112215 on 2017/9/16.
+ */
+public abstract class AbstractSdncVlOperationTask extends BaseTask {
+
+    private static final String DEFAULT_MSB_IP = "127.0.0.1";
+    private static final int DEFAULT_MSB_Port = 10081;
+    private static final String SDCADAPTOR_INPUTS = "SDCADAPTOR_INPUTS";
+    private RequestsDatabase requestsDB = RequestsDatabase.getInstance();
+
+
+    private static MsoLogger logger = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL);
+
+    @Override
+    public void execute(DelegateExecution execution) {
+        GenericResourceApi genericResourceApiClient = getGenericResourceApiClient(execution);
+        updateProgress(execution, RequestsDbConstant.Status.PROCESSING, null, "10", "execute begin!");
+        Map<String, String> inputs = (Map<String, String>) execution.getVariable(SDCADAPTOR_INPUTS);
+        updateProgress(execution, null, null, "30", "getGenericResourceApiClient finished!");
+        try {
+            sendRestrequestAndHandleResponse(execution, inputs, genericResourceApiClient);
+            execution.setVariable("SDNCA_SuccessIndicator", true);
+            updateProgress(execution, RequestsDbConstant.Status.FINISHED, null, RequestsDbConstant.Progress.ONE_HUNDRED, "execute finished!");
+        } catch (Exception e) {
+            e.printStackTrace();
+            execution.setVariable("SDNCA_SuccessIndicator", false);
+        }
+    }
+
+    public abstract void sendRestrequestAndHandleResponse(DelegateExecution execution,
+                                                          Map<String, String> inputs,
+                                                          GenericResourceApi genericResourceApiClient) throws Exception;
+
+    public void updateProgress(DelegateExecution execution,
+                               String status,
+                               String errorCode,
+                               String progress,
+                               String statusDescription) {
+        String serviceId = (String) execution.getVariable("serviceId");
+        String operationId = (String) execution.getVariable("operationId");
+        String resourceTemplateUUID = (String) execution.getVariable("resourceTemplateUUID");
+        ResourceOperationStatus resourceOperationStatus = requestsDB.getResourceOperationStatus(serviceId, operationId, resourceTemplateUUID);
+        if (!StringUtils.isBlank(status)) {
+            resourceOperationStatus.setStatus(status);
+        }
+        if (!StringUtils.isBlank(errorCode)) {
+            resourceOperationStatus.setErrorCode(errorCode);
+        }
+        if (!StringUtils.isBlank(progress)) {
+            resourceOperationStatus.setProgress(progress);
+        }
+        if (!StringUtils.isBlank(statusDescription)) {
+            resourceOperationStatus.setStatusDescription(statusDescription);
+        }
+        requestsDB.updateResOperStatus(resourceOperationStatus);
+    }
+
+    private GenericResourceApi getGenericResourceApiClient(DelegateExecution execution) {
+        updateProgress(execution, null, null, "20", "getGenericResourceApiClient begin!");
+        String msbIp = getString(execution, "MSB_IP", DEFAULT_MSB_IP);
+        int msbPort = getInteger(execution, "MSB_Port", DEFAULT_MSB_Port);
+        MSBServiceClient msbClient = new MSBServiceClient(msbIp, msbPort);
+        RestServiceCreater restServiceCreater = new RestServiceCreater(msbClient);
+        return restServiceCreater.createService(GenericResourceApi.class);
+    }
+
+    private String getString(DelegateExecution execution, String name, String defaultValue) {
+        String vlaue = (String) execution.getVariable(name);
+        try {
+            if (!StringUtils.isBlank(vlaue)) {
+                return vlaue;
+            }
+        } catch (Exception e) {
+            System.out.println(e);
+            logger.error(MessageEnum.GENERAL_EXCEPTION, " getMsbIp catch exception: ", "", this.getTaskName(), MsoLogger.ErrorCode.UnknownError, e.getClass().toString());
+        } finally {
+            return defaultValue;
+        }
+    }
+
+    private Integer getInteger(DelegateExecution execution, String name, Integer defaultValue) {
+        Integer vlaue = (Integer) execution.getVariable(name);
+        try {
+            if (vlaue != null && vlaue instanceof Integer) {
+                return vlaue;
+            }
+        } catch (Exception e) {
+            System.out.println(e);
+            logger.error(MessageEnum.GENERAL_EXCEPTION, " getMsbIp catch exception: ", "", this.getTaskName(), MsoLogger.ErrorCode.UnknownError, e.getClass().toString());
+        } finally {
+            return defaultValue;
+        }
+    }
+
+    public String getProcessKey(DelegateExecution execution) {
+        return execution.getProcessEngineServices().getRepositoryService().getProcessDefinition(execution.getProcessDefinitionId()).getKey();
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnOperationClient.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnOperationClient.java
new file mode 100644 (file)
index 0000000..1a7f9dc
--- /dev/null
@@ -0,0 +1,101 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
+
+import org.apache.commons.lang3.StringUtils;
+import org.onap.msb.sdk.httpclient.RestServiceCreater;
+import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.GenericResourceApi;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder.NetworkRpcInputEntityBuilder;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcInputEntity;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcOutputEntity;
+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 java.util.Map;
+
+/**
+ * Created by 10112215 on 2017/9/21.
+ */
+public class SdncUnderlayVpnOperationClient {
+
+    private static final String DEFAULT_MSB_IP = "127.0.0.1";
+    private static final int DEFAULT_MSB_Port = 10081;
+    private RequestsDatabase requestsDB = RequestsDatabase.getInstance();
+
+    private String serviceId;
+    private String operationId;
+    private String resourceTemplateUUID;
+
+
+    private static MsoLogger logger = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL);
+
+    public boolean excute(String msbIp,
+                       int msbPort,
+                       Map<String, String> inputs,
+                       String serviceId_i,
+                       String operationId_i,
+                       String resourceTemplateUUID_i){
+        serviceId = serviceId_i;
+        operationId = operationId_i;
+        resourceTemplateUUID = resourceTemplateUUID_i;
+        GenericResourceApi genericResourceApiClient = getGenericResourceApiClient(msbIp, msbPort);
+        updateProgress(RequestsDbConstant.Status.PROCESSING, null, "10", "execute begin!");
+        return sendRestrequestAndHandleResponse(inputs, genericResourceApiClient);
+    }
+
+    public boolean sendRestrequestAndHandleResponse(Map<String, String> inputs, GenericResourceApi genericResourceApiClient){
+        updateProgress(null, null, "40", "sendRestrequestAndHandleResponse begin!");
+        NetworkRpcInputEntityBuilder builder = new NetworkRpcInputEntityBuilder();
+        NetworkRpcInputEntity body = builder.build(inputs);
+        updateProgress(null, null, "50", "RequestBody build finished!");
+        NetworkRpcOutputEntity networkRpcOutputEntiy = null;
+        try {
+            networkRpcOutputEntiy = genericResourceApiClient.postNetworkTopologyPeration(body).execute().body();
+        } catch (Exception e) {
+            e.printStackTrace();
+            updateProgress(RequestsDbConstant.Status.ERROR, null, null, "sendRestrequestAndHandleResponse exception:" + e.getMessage());
+            return false;
+        }
+        updateProgress(null, null, "90", "sendRestrequestAndHandleResponse finished!");
+        saveOutput(networkRpcOutputEntiy);
+        updateProgress(RequestsDbConstant.Status.FINISHED, null, RequestsDbConstant.Progress.ONE_HUNDRED, "execute finished!");
+        return true;
+    }
+
+    private GenericResourceApi getGenericResourceApiClient(String msbIp, int msbPort) {
+        if (StringUtils.isBlank(msbIp)) {
+            msbIp = DEFAULT_MSB_IP;
+        }
+        if (msbPort <= 0) {
+            msbPort = DEFAULT_MSB_Port;
+        }
+        MSBServiceClient msbClient = new MSBServiceClient(msbIp, msbPort);
+        RestServiceCreater restServiceCreater = new RestServiceCreater(msbClient);
+        return restServiceCreater.createService(GenericResourceApi.class);
+    }
+
+    public void updateProgress(String status,
+                               String errorCode,
+                               String progress,
+                               String statusDescription) {
+        ResourceOperationStatus resourceOperationStatus = requestsDB.getResourceOperationStatus(serviceId, operationId, resourceTemplateUUID);
+        if (!StringUtils.isBlank(status)) {
+            resourceOperationStatus.setStatus(status);
+        }
+        if (!StringUtils.isBlank(errorCode)) {
+            resourceOperationStatus.setErrorCode(errorCode);
+        }
+        if (!StringUtils.isBlank(progress)) {
+            resourceOperationStatus.setProgress(progress);
+        }
+        if (!StringUtils.isBlank(statusDescription)) {
+            resourceOperationStatus.setStatusDescription(statusDescription);
+        }
+        requestsDB.updateResOperStatus(resourceOperationStatus);
+    }
+
+    private void saveOutput(NetworkRpcOutputEntity output) {
+
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncVlOperationTaskEntityImpl.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncVlOperationTaskEntityImpl.java
new file mode 100644 (file)
index 0000000..a387756
--- /dev/null
@@ -0,0 +1,43 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.openecomp.mso.bpmn.core.WorkflowException;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.GenericResourceApi;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder.NetworkRpcInputEntityBuilder;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcInputEntity;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcOutputEntity;
+import org.openecomp.mso.requestsdb.RequestsDbConstant;
+
+import java.util.Map;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class SdncVlOperationTaskEntityImpl extends AbstractSdncVlOperationTask {
+    @Override
+    public void sendRestrequestAndHandleResponse(DelegateExecution execution,
+                                                 Map<String, String> inputs,
+                                                 GenericResourceApi genericResourceApiClient) throws Exception {
+        updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!");
+        NetworkRpcInputEntityBuilder builder = new NetworkRpcInputEntityBuilder();
+        NetworkRpcInputEntity body = builder.build(inputs);
+        updateProgress(execution, null, null, "50", "RequestBody build finished!");
+        NetworkRpcOutputEntity networkRpcOutputEntiy = genericResourceApiClient.postNetworkTopologyPeration(body).execute().body();
+        updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
+        saveOutput(execution, networkRpcOutputEntiy);
+    }
+
+    private void saveOutput(DelegateExecution execution, NetworkRpcOutputEntity output) throws Exception {
+        String responseCode = output.getOutput().getResponseCode();
+        if (!responseCode.equals("200")) {
+            String processKey = getProcessKey(execution);
+            int errorCode = Integer.valueOf(responseCode);
+            String errorMessage = output.getOutput().getEsponseMessage();
+            WorkflowException workflowException = new WorkflowException(processKey, errorCode, errorMessage);
+            execution.setVariable("SDNCA_SuccessIndicator", workflowException);
+            updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage);
+            throw new Exception("");
+        }
+    }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/GenericResourceApi.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/GenericResourceApi.java
new file mode 100644 (file)
index 0000000..91142a0
--- /dev/null
@@ -0,0 +1,25 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client;
+
+import okhttp3.RequestBody;
+import okhttp3.ResponseBody;
+import org.onap.msb.sdk.httpclient.annotaion.ServiceHttpEndPoint;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcInputEntity;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.NetworkRpcOutputEntity;
+import retrofit2.Call;
+import retrofit2.http.Body;
+import retrofit2.http.POST;
+
+/**
+ * Created by 10112215 on 2017/9/16.
+ */
+@ServiceHttpEndPoint(serviceName = "sdnc", serviceVersion = "v1")
+public interface GenericResourceApi {
+
+    @POST("/restconf/operations/GENERIC-RESOURCE-API:network-topology-operation")
+    Call<ResponseBody> postNetworkTopologyPeration(@Body RequestBody input);
+
+    @POST("/restconf/operations/GENERIC-RESOURCE-API:network-topology-operation")
+    Call<NetworkRpcOutputEntity> postNetworkTopologyPeration(@Body NetworkRpcInputEntity input);
+
+}
+
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilder.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilder.java
new file mode 100644 (file)
index 0000000..2075de9
--- /dev/null
@@ -0,0 +1,8 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public interface AbstractBuilder<IN, OUT> {
+     OUT build(IN input) throws Exception;
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilder.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilder.java
new file mode 100644 (file)
index 0000000..bcac56a
--- /dev/null
@@ -0,0 +1,95 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder;
+
+import org.apache.commons.lang3.StringUtils;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class NetworkRpcInputEntityBuilder implements AbstractBuilder<Map<String, String>, NetworkRpcInputEntity> {
+
+    public static final String SVC_REQUEST_ID = "MSO";
+    public static final String SDC_ACTION = "SDC_ACTION";
+    public static final RequestInformation.RequestAction REQUEST_ACTION = RequestInformation.RequestAction.CreateNetworkInstance;
+
+    protected NetworkRpcInputEntity getSdncEntityInput(Map<String, String> inputs) {
+        NetworkRpcInputEntity networkRpcInputEntity = new NetworkRpcInputEntity();
+        InputEntity inputEntity = new InputEntity();
+        {
+            loadSdncRequestHeaderEntity(inputs, inputEntity);
+            loadRequestInformationEntity(inputEntity);
+
+            ServiceInformationEntity serviceInformationEntity = new ServiceInformationEntity();
+            String serviceId = inputs.get("serviceId");
+            serviceInformationEntity.setServiceId(serviceId);
+
+
+            loadNetwrokRequestInputEntity(inputs, inputEntity);
+        }
+        networkRpcInputEntity.setInput(inputEntity);
+        return networkRpcInputEntity;
+    }
+
+    private void loadNetwrokRequestInputEntity(Map<String, String> inputs, InputEntity inputEntity) {
+        NetworkRequestInputEntity networkRequestInputEntity = new NetworkRequestInputEntity();
+        {
+            NetworkInputPaarametersEntity networkInputPaarametersEntity = new NetworkInputPaarametersEntity();
+            {
+                List<ParamEntity> paramEntityList = getParamEntities(inputs);
+                networkInputPaarametersEntity.setParamList(paramEntityList);
+            }
+
+        }
+        inputEntity.setNetworkRequestInput(networkRequestInputEntity);
+    }
+
+    private List<ParamEntity> getParamEntities(Map<String, String> inputs) {
+        List<ParamEntity> paramEntityList = new ArrayList<>();
+        if (inputs != null && !inputs.isEmpty()) {
+            inputs.keySet().forEach(key -> {
+                ParamEntity paramEntity = new ParamEntity();
+                paramEntity.setName(key);
+                paramEntity.setValue(inputs.get(key));
+                paramEntityList.add(paramEntity);
+            });
+        }
+        return paramEntityList;
+    }
+
+    private void loadRequestInformationEntity(InputEntity inputEntity) {
+        RequestInformationEntity requestInformationEntity = new RequestInformationEntity();
+        {
+            requestInformationEntity.setRequestId(SVC_REQUEST_ID);
+            requestInformationEntity.setRequestAction(REQUEST_ACTION.name());
+        }
+        inputEntity.setRequestInformation(requestInformationEntity);
+    }
+
+    private void loadSdncRequestHeaderEntity(Map<String, String> inputs, InputEntity inputEntity) {
+        SdncRequestHeaderEntity sdncRequestHeaderEntity = new SdncRequestHeaderEntity();
+        {
+            sdncRequestHeaderEntity.setSvcRequestId(SVC_REQUEST_ID);
+            String action = inputs.get(SDC_ACTION);
+            if (!StringUtils.isBlank(action)) {
+                if (action.toLowerCase().contains("delete")) {
+                    action = SdncRequestHeader.SvcAction.Delete.name();
+                } else if (action.toLowerCase().contains("create")) {
+                    action = SdncRequestHeader.SvcAction.Create.name();
+                }
+            }
+            sdncRequestHeaderEntity.setSvcAction(action);
+        }
+        inputEntity.setSdncRequestHeader(sdncRequestHeaderEntity);
+    }
+
+    @Override
+    public NetworkRpcInputEntity build(Map<String, String> input) {
+        return null;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/EcompModelInformationEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/EcompModelInformationEntity.java
new file mode 100644 (file)
index 0000000..20e6eb1
--- /dev/null
@@ -0,0 +1,63 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class EcompModelInformationEntity {
+    @JsonProperty("model-invariant-uuid")
+    private String modelInvariantUuid;
+
+    @JsonProperty("model-customization-uuid")
+    private String modelCustomizationUuid;
+
+    @JsonProperty("model-uuid")
+    private String modelUuid;
+
+    @JsonProperty("model-version")
+    private String modelVersion;
+
+    @JsonProperty("model-name")
+    private String modelName;
+
+    public String getModelInvariantUuid() {
+        return modelInvariantUuid;
+    }
+
+    public void setModelInvariantUuid(String modelInvariantUuid) {
+        this.modelInvariantUuid = modelInvariantUuid;
+    }
+
+    public String getModelCustomizationUuid() {
+        return modelCustomizationUuid;
+    }
+
+    public void setModelCustomizationUuid(String modelCustomizationUuid) {
+        this.modelCustomizationUuid = modelCustomizationUuid;
+    }
+
+    public String getModelUuid() {
+        return modelUuid;
+    }
+
+    public void setModelUuid(String modelUuid) {
+        this.modelUuid = modelUuid;
+    }
+
+    public String getModelVersion() {
+        return modelVersion;
+    }
+
+    public void setModelVersion(String modelVersion) {
+        this.modelVersion = modelVersion;
+    }
+
+    public String getModelName() {
+        return modelName;
+    }
+
+    public void setModelName(String modelName) {
+        this.modelName = modelName;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/InputEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/InputEntity.java
new file mode 100644 (file)
index 0000000..71cb268
--- /dev/null
@@ -0,0 +1,63 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class InputEntity {
+    @JsonProperty("sdnc-request-header")
+    private SdncRequestHeaderEntity sdncRequestHeader;
+
+    @JsonProperty("request-information")
+    private RequestInformationEntity requestInformation;
+
+    @JsonProperty("service-information")
+    private ServiceInformationEntity serviceInformation;
+
+    @JsonProperty("network-information")
+    private NetworkInformationEntity networkInformation;
+
+    @JsonProperty("network-request-input")
+    private NetworkRequestInputEntity networkRequestInput;
+
+    public SdncRequestHeaderEntity getSdncRequestHeader() {
+        return sdncRequestHeader;
+    }
+
+    public void setSdncRequestHeader(SdncRequestHeaderEntity sdncRequestHeader) {
+        this.sdncRequestHeader = sdncRequestHeader;
+    }
+
+    public RequestInformationEntity getRequestInformation() {
+        return requestInformation;
+    }
+
+    public void setRequestInformation(RequestInformationEntity requestInformation) {
+        this.requestInformation = requestInformation;
+    }
+
+    public ServiceInformationEntity getServiceInformation() {
+        return serviceInformation;
+    }
+
+    public void setServiceInformation(ServiceInformationEntity serviceInformation) {
+        this.serviceInformation = serviceInformation;
+    }
+
+    public NetworkInformationEntity getNetworkInformation() {
+        return networkInformation;
+    }
+
+    public void setNetworkInformation(NetworkInformationEntity networkInformation) {
+        this.networkInformation = networkInformation;
+    }
+
+    public NetworkRequestInputEntity getNetworkRequestInput() {
+        return networkRequestInput;
+    }
+
+    public void setNetworkRequestInput(NetworkRequestInputEntity networkRequestInput) {
+        this.networkRequestInput = networkRequestInput;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkInformationEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkInformationEntity.java
new file mode 100644 (file)
index 0000000..ea4715d
--- /dev/null
@@ -0,0 +1,41 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class NetworkInformationEntity {
+    @JsonProperty("network-id")
+    private String networkId;
+
+    @JsonProperty("network-type")
+    private String networkType;
+
+    @JsonProperty("ecomp-model-information")
+    private EcompModelInformationEntity ecompModelInformation;
+
+    public String getNetworkId() {
+        return networkId;
+    }
+
+    public void setNetworkId(String networkId) {
+        this.networkId = networkId;
+    }
+
+    public String getNetworkType() {
+        return networkType;
+    }
+
+    public void setNetworkType(String networkType) {
+        this.networkType = networkType;
+    }
+
+    public EcompModelInformationEntity getEcompModelInformation() {
+        return ecompModelInformation;
+    }
+
+    public void setEcompModelInformation(EcompModelInformationEntity ecompModelInformation) {
+        this.ecompModelInformation = ecompModelInformation;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkInputPaarametersEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkInputPaarametersEntity.java
new file mode 100644 (file)
index 0000000..c70980d
--- /dev/null
@@ -0,0 +1,21 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.util.List;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class NetworkInputPaarametersEntity {
+    public List<ParamEntity> getParamList() {
+        return paramList;
+    }
+
+    public void setParamList(List<ParamEntity> paramList) {
+        this.paramList = paramList;
+    }
+
+    @JsonProperty("param")
+    private List<ParamEntity> paramList;
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRequestInputEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRequestInputEntity.java
new file mode 100644 (file)
index 0000000..19b64c2
--- /dev/null
@@ -0,0 +1,63 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class NetworkRequestInputEntity {
+    @JsonProperty("network-name")
+    private String networkName;
+
+    @JsonProperty("tenant")
+    private String tenant;
+
+    @JsonProperty("aic-cloud-region")
+    private String aicCloudRegion;
+
+    @JsonProperty("aic-clli")
+    private String aicClli;
+
+    public String getNetworkName() {
+        return networkName;
+    }
+
+    public void setNetworkName(String networkName) {
+        this.networkName = networkName;
+    }
+
+    public String getTenant() {
+        return tenant;
+    }
+
+    public void setTenant(String tenant) {
+        this.tenant = tenant;
+    }
+
+    public String getAicCloudRegion() {
+        return aicCloudRegion;
+    }
+
+    public void setAicCloudRegion(String aicCloudRegion) {
+        this.aicCloudRegion = aicCloudRegion;
+    }
+
+    public String getAicClli() {
+        return aicClli;
+    }
+
+    public void setAicClli(String aicClli) {
+        this.aicClli = aicClli;
+    }
+
+    public NetworkInputPaarametersEntity getNetworkInputPaarameters() {
+        return networkInputPaarameters;
+    }
+
+    public void setNetworkInputPaarameters(NetworkInputPaarametersEntity networkInputPaarameters) {
+        this.networkInputPaarameters = networkInputPaarameters;
+    }
+
+    @JsonProperty("network-input-parameters")
+    private NetworkInputPaarametersEntity networkInputPaarameters;
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkResponseInformationEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkResponseInformationEntity.java
new file mode 100644 (file)
index 0000000..c7ebf7d
--- /dev/null
@@ -0,0 +1,30 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/22.
+ */
+public class NetworkResponseInformationEntity {
+    @JsonProperty("instance-id")
+    private String instanceId;
+
+    @JsonProperty("object-path")
+    private String objectPath;
+
+    public String getInstanceId() {
+        return instanceId;
+    }
+
+    public void setInstanceId(String instanceId) {
+        this.instanceId = instanceId;
+    }
+
+    public String getObjectPath() {
+        return objectPath;
+    }
+
+    public void setObjectPath(String objectPath) {
+        this.objectPath = objectPath;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRpcInputEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRpcInputEntity.java
new file mode 100644 (file)
index 0000000..0453924
--- /dev/null
@@ -0,0 +1,19 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class NetworkRpcInputEntity {
+    public InputEntity getInput() {
+        return input;
+    }
+
+    public void setInput(InputEntity input) {
+        this.input = input;
+    }
+
+    @JsonProperty("input")
+    private InputEntity input = null;
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRpcOutputEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/NetworkRpcOutputEntity.java
new file mode 100644 (file)
index 0000000..fa29ec9
--- /dev/null
@@ -0,0 +1,19 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class NetworkRpcOutputEntity {
+    public OutputEntity getOutput() {
+        return output;
+    }
+
+    public void setOutput(OutputEntity output) {
+        this.output = output;
+    }
+
+    @JsonProperty("output")
+    private OutputEntity output;
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/OutputEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/OutputEntity.java
new file mode 100644 (file)
index 0000000..48fb9f1
--- /dev/null
@@ -0,0 +1,74 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/22.
+ */
+public class OutputEntity {
+    @JsonProperty("svc-request-id")
+    private String svcRequestId;
+
+    @JsonProperty("response-code")
+    private String responseCode;
+
+    @JsonProperty("esponse-message")
+    private String esponseMessage;
+
+    @JsonProperty("ack-final-indicator")
+    private String ackFinalIndicator;
+
+    @JsonProperty("network-response-information")
+    private NetworkResponseInformationEntity networkResponseInformation;
+
+    @JsonProperty("service-response-information")
+    private ServiceResponseInformationEntity serviceResponseInformation;
+
+    public String getSvcRequestId() {
+        return svcRequestId;
+    }
+
+    public void setSvcRequestId(String svcRequestId) {
+        this.svcRequestId = svcRequestId;
+    }
+
+    public String getResponseCode() {
+        return responseCode;
+    }
+
+    public void setResponseCode(String responseCode) {
+        this.responseCode = responseCode;
+    }
+
+    public String getEsponseMessage() {
+        return esponseMessage;
+    }
+
+    public void setEsponseMessage(String esponseMessage) {
+        this.esponseMessage = esponseMessage;
+    }
+
+    public String getAckFinalIndicator() {
+        return ackFinalIndicator;
+    }
+
+    public void setAckFinalIndicator(String ackFinalIndicator) {
+        this.ackFinalIndicator = ackFinalIndicator;
+    }
+
+    public NetworkResponseInformationEntity getNetworkResponseInformation() {
+        return networkResponseInformation;
+    }
+
+    public void setNetworkResponseInformation(NetworkResponseInformationEntity networkResponseInformation) {
+        this.networkResponseInformation = networkResponseInformation;
+    }
+
+    public ServiceResponseInformationEntity getServiceResponseInformation() {
+        return serviceResponseInformation;
+    }
+
+    public void setServiceResponseInformation(ServiceResponseInformationEntity serviceResponseInformation) {
+        this.serviceResponseInformation = serviceResponseInformation;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ParamEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ParamEntity.java
new file mode 100644 (file)
index 0000000..5188be7
--- /dev/null
@@ -0,0 +1,30 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class ParamEntity {
+    @JsonProperty("name")
+    private String name;
+
+    @JsonProperty("value")
+    private String value;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/RequestInformationEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/RequestInformationEntity.java
new file mode 100644 (file)
index 0000000..38f2291
--- /dev/null
@@ -0,0 +1,74 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class RequestInformationEntity {
+    public String getRequestId() {
+        return requestId;
+    }
+
+    public void setRequestId(String requestId) {
+        this.requestId = requestId;
+    }
+
+    public String getRequestAction() {
+        return requestAction;
+    }
+
+    public void setRequestAction(String requestAction) {
+        this.requestAction = requestAction;
+    }
+
+    public String getSource() {
+        return source;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    public String getNotificationUrl() {
+        return notificationUrl;
+    }
+
+    public void setNotificationUrl(String notificationUrl) {
+        this.notificationUrl = notificationUrl;
+    }
+
+    public String getOrderUnmber() {
+        return orderUnmber;
+    }
+
+    public void setOrderUnmber(String orderUnmber) {
+        this.orderUnmber = orderUnmber;
+    }
+
+    public String getOrerVersion() {
+        return orerVersion;
+    }
+
+    public void setOrerVersion(String orerVersion) {
+        this.orerVersion = orerVersion;
+    }
+
+    @JsonProperty("request-id")
+    private String requestId;
+
+    @JsonProperty("request-action")
+    private String requestAction;
+
+    @JsonProperty("source")
+    private String source;
+
+    @JsonProperty("notification-url")
+    private String notificationUrl;
+
+    @JsonProperty("order-number")
+    private String orderUnmber;
+
+    @JsonProperty("order-version")
+    private String orerVersion;
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/SdncRequestHeaderEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/SdncRequestHeaderEntity.java
new file mode 100644 (file)
index 0000000..6c64b76
--- /dev/null
@@ -0,0 +1,42 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class SdncRequestHeaderEntity {
+    @JsonProperty("svc-request-id")
+    private String svcRequestId;
+
+    @JsonProperty("svc-action")
+    private String svcAction;
+
+    @JsonProperty("svc-notification-url")
+    private String svcNotificationUrl;
+
+    public String getSvcRequestId() {
+        return svcRequestId;
+    }
+
+    public void setSvcRequestId(String svcRequestId) {
+        this.svcRequestId = svcRequestId;
+    }
+
+    public String getSvcAction() {
+        return svcAction;
+    }
+
+    public void setSvcAction(String svcAction) {
+        this.svcAction = svcAction;
+    }
+
+    public String getSvcNotificationUrl() {
+        return svcNotificationUrl;
+    }
+
+    public void setSvcNotificationUrl(String svcNotificationUrl) {
+        this.svcNotificationUrl = svcNotificationUrl;
+    }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ServiceInformationEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ServiceInformationEntity.java
new file mode 100644 (file)
index 0000000..1ae78f2
--- /dev/null
@@ -0,0 +1,74 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/20.
+ */
+public class ServiceInformationEntity {
+    @JsonProperty("service-id")
+    private String serviceId;
+
+    @JsonProperty("subscription-service-type")
+    private String subscriptionServiceType;
+
+    @JsonProperty("ecomp-model-information")
+    private EcompModelInformationEntity ecompModelInformation;
+
+    @JsonProperty("service-instance-id")
+    private String serviceInstanceId;
+
+    @JsonProperty("global-customer-id")
+    private String globalCustomerId;
+
+    @JsonProperty("subscriber-name")
+    private String subscriberName;
+
+    public String getServiceId() {
+        return serviceId;
+    }
+
+    public void setServiceId(String serviceId) {
+        this.serviceId = serviceId;
+    }
+
+    public String getSubscriptionServiceType() {
+        return subscriptionServiceType;
+    }
+
+    public void setSubscriptionServiceType(String subscriptionServiceType) {
+        this.subscriptionServiceType = subscriptionServiceType;
+    }
+
+    public EcompModelInformationEntity getEcompModelInformation() {
+        return ecompModelInformation;
+    }
+
+    public void setEcompModelInformation(EcompModelInformationEntity ecompModelInformation) {
+        this.ecompModelInformation = ecompModelInformation;
+    }
+
+    public String getServiceInstanceId() {
+        return serviceInstanceId;
+    }
+
+    public void setServiceInstanceId(String serviceInstanceId) {
+        this.serviceInstanceId = serviceInstanceId;
+    }
+
+    public String getGlobalCustomerId() {
+        return globalCustomerId;
+    }
+
+    public void setGlobalCustomerId(String globalCustomerId) {
+        this.globalCustomerId = globalCustomerId;
+    }
+
+    public String getSubscriberName() {
+        return subscriberName;
+    }
+
+    public void setSubscriberName(String subscriberName) {
+        this.subscriberName = subscriberName;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ServiceResponseInformationEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/entity/ServiceResponseInformationEntity.java
new file mode 100644 (file)
index 0000000..de028d6
--- /dev/null
@@ -0,0 +1,30 @@
+package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Created by 10112215 on 2017/9/22.
+ */
+public class ServiceResponseInformationEntity {
+    @JsonProperty("instance-id")
+    private String instanceId;
+
+    @JsonProperty("object-path")
+    private String objectPath;
+
+    public String getInstanceId() {
+        return instanceId;
+    }
+
+    public void setInstanceId(String instanceId) {
+        this.instanceId = instanceId;
+    }
+
+    public String getObjectPath() {
+        return objectPath;
+    }
+
+    public void setObjectPath(String objectPath) {
+        this.objectPath = objectPath;
+    }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUnderVpnOperation_java.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUnderVpnOperation_java.bpmn
new file mode 100644 (file)
index 0000000..b8e79a2
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
+  <bpmn:process id="Process_1" isExecutable="true">
+    <bpmn:startEvent id="StartEvent_1">
+      <bpmn:outgoing>SequenceFlow_0trm4dk</bpmn:outgoing>
+    </bpmn:startEvent>
+    <bpmn:exclusiveGateway id="ExclusiveGateway_0vvnd7x" name="is response ok?" default="SequenceFlow_083crve">
+      <bpmn:incoming>SequenceFlow_11dtpnr</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_1amfirn</bpmn:outgoing>
+      <bpmn:outgoing>SequenceFlow_083crve</bpmn:outgoing>
+    </bpmn:exclusiveGateway>
+    <bpmn:endEvent id="EndEvent_14p1b2x">
+      <bpmn:incoming>SequenceFlow_1amfirn</bpmn:incoming>
+    </bpmn:endEvent>
+    <bpmn:endEvent id="EndEvent_0urwhzh">
+      <bpmn:incoming>SequenceFlow_083crve</bpmn:incoming>
+      <bpmn:errorEventDefinition />
+    </bpmn:endEvent>
+    <bpmn:sequenceFlow id="SequenceFlow_0trm4dk" sourceRef="StartEvent_1" targetRef="Task_0brg0a4" />
+    <bpmn:sequenceFlow id="SequenceFlow_11dtpnr" sourceRef="Task_0brg0a4" targetRef="ExclusiveGateway_0vvnd7x" />
+    <bpmn:sequenceFlow id="SequenceFlow_1amfirn" name="ok" sourceRef="ExclusiveGateway_0vvnd7x" targetRef="EndEvent_14p1b2x">
+      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("SendSdncResult")=='ok'}]]></bpmn:conditionExpression>
+    </bpmn:sequenceFlow>
+    <bpmn:sequenceFlow id="SequenceFlow_083crve" name="error" sourceRef="ExclusiveGateway_0vvnd7x" targetRef="EndEvent_0urwhzh" />
+    <bpmn:serviceTask id="Task_0brg0a4" name="call sdnc network operation" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncVlOperationTaskEntityImpl">
+      <bpmn:incoming>SequenceFlow_0trm4dk</bpmn:incoming>
+      <bpmn:outgoing>SequenceFlow_11dtpnr</bpmn:outgoing>
+    </bpmn:serviceTask>
+  </bpmn:process>
+  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
+      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+        <dc:Bounds x="175" y="193" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="148" y="229" width="90" height="20" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="ExclusiveGateway_0vvnd7x_di" bpmnElement="ExclusiveGateway_0vvnd7x" isMarkerVisible="true">
+        <dc:Bounds x="561" y="186" width="50" height="50" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="546" y="240" width="80" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="EndEvent_14p1b2x_di" bpmnElement="EndEvent_14p1b2x">
+        <dc:Bounds x="740" y="193" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="758" y="233" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape id="EndEvent_0d0rf7s_di" bpmnElement="EndEvent_0urwhzh">
+        <dc:Bounds x="740" y="347" width="36" height="36" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="758" y="387" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge id="SequenceFlow_0trm4dk_di" bpmnElement="SequenceFlow_0trm4dk">
+        <di:waypoint xsi:type="dc:Point" x="211" y="211" />
+        <di:waypoint xsi:type="dc:Point" x="340" y="211" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="275.5" y="190" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_11dtpnr_di" bpmnElement="SequenceFlow_11dtpnr">
+        <di:waypoint xsi:type="dc:Point" x="440" y="211" />
+        <di:waypoint xsi:type="dc:Point" x="561" y="211" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="500.5" y="190" width="0" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_1amfirn_di" bpmnElement="SequenceFlow_1amfirn">
+        <di:waypoint xsi:type="dc:Point" x="611" y="211" />
+        <di:waypoint xsi:type="dc:Point" x="740" y="211" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="669" y="190" width="13" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge id="SequenceFlow_083crve_di" bpmnElement="SequenceFlow_083crve">
+        <di:waypoint xsi:type="dc:Point" x="586" y="236" />
+        <di:waypoint xsi:type="dc:Point" x="586" y="365" />
+        <di:waypoint xsi:type="dc:Point" x="740" y="365" />
+        <bpmndi:BPMNLabel>
+          <dc:Bounds x="588" y="295" width="26" height="12" />
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNShape id="ServiceTask_035xqek_di" bpmnElement="Task_0brg0a4">
+        <dc:Bounds x="340" y="171" width="100" height="80" />
+      </bpmndi:BPMNShape>
+    </bpmndi:BPMNPlane>
+  </bpmndi:BPMNDiagram>
+</bpmn:definitions>