overlay-vpn 11/18911/1
authorZhuoyao Huang <10112215@zte.com.cn>
Sat, 14 Oct 2017 11:51:20 +0000 (19:51 +0800)
committerZhuoyao Huang <10112215@zte.com.cn>
Sat, 14 Oct 2017 12:14:17 +0000 (20:14 +0800)
change input parameters' names and action-type for overlay-vpn

Change-Id: I232410e4e6056bd4253d7e66ad4b895d2052583a
Issue-ID:SO-181
Signed-off-by: Zhuoyao Huang <10112215@zte.com.cn>
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/SdncServiceTopologyOperationTask.java
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/AbstractBuilder.java
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/NetworkRpcInputEntityBuilder.java
bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/client/builder/ServiceRpcInputEntityBuilder.java

index 0f38409..4495e87 100644 (file)
@@ -22,16 +22,19 @@ package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask;
 
 import org.apache.commons.lang3.StringUtils;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.json.JSONObject;
 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.bpmn.core.PropertyConfiguration;
+import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.GenericResourceApi;
 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.HashMap;
 import java.util.Map;
 
 /**
@@ -41,7 +44,7 @@ public abstract class AbstractSdncOperationTask 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 static final String SDCADAPTOR_INPUTS = "resourceParameters";
     private RequestsDatabase requestsDB = RequestsDatabase.getInstance();
 
 
@@ -51,7 +54,7 @@ public abstract class AbstractSdncOperationTask extends BaseTask {
     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);
+        Map<String, String> inputs = getInputs(execution);
         updateProgress(execution, null, null, "30", "getGenericResourceApiClient finished!");
         try {
             sendRestrequestAndHandleResponse(execution, inputs, genericResourceApiClient);
@@ -63,6 +66,15 @@ public abstract class AbstractSdncOperationTask extends BaseTask {
         }
     }
 
+    protected Map<String, String> getInputs(DelegateExecution execution) {
+        Map<String, String> inputs = new HashMap<>();
+        String json = (String) execution.getVariable(SDCADAPTOR_INPUTS);
+        JSONObject jsonObject = new JSONObject(json);
+        JSONObject paras = jsonObject.getJSONObject("additionalParamForNs");
+        paras.keySet().stream().forEach(key -> inputs.put(key, paras.getString((String) key)));
+        return inputs;
+    }
+
     public abstract void sendRestrequestAndHandleResponse(DelegateExecution execution,
                                                           Map<String, String> inputs,
                                                           GenericResourceApi genericResourceApiClient) throws Exception;
@@ -93,15 +105,16 @@ public abstract class AbstractSdncOperationTask extends BaseTask {
 
     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);
+        Map<String, String> properties = PropertyConfiguration.getInstance().getProperties("mso.bpmn.urn.properties");
+        String msbIp = getString(properties, "msb.address", DEFAULT_MSB_IP);
+        int msbPort = Integer.valueOf(getString(properties, "msb.port", String.valueOf(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);
+    private String getString(Map<String, String> properties, String name, String defaultValue) {
+        String vlaue = properties.get(name);
         try {
             if (!StringUtils.isBlank(vlaue)) {
                 return vlaue;
index b5f312d..d6ccc8b 100644 (file)
@@ -40,9 +40,12 @@ public class SdncServiceTopologyOperationTask extends AbstractSdncOperationTask
     public void sendRestrequestAndHandleResponse(DelegateExecution execution,
                                                  Map<String, String> inputs,
                                                  GenericResourceApi genericResourceApiClient) throws Exception {
+        updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!");
         ServiceRpcInputEntityBuilder builder = new ServiceRpcInputEntityBuilder();
         RpcServiceTopologyOperationInputEntity inputEntity = builder.build(execution, inputs);
+        updateProgress(execution, null, null, "50", "RequestBody build finished!");
         RpcServiceTopologyOperationOutputEntity outputEntity = genericResourceApiClient.postServiceTopologyOperation(inputEntity).execute().body();
+        updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!");
         saveOutput(execution, outputEntity);
     }
 
index 41fa8f2..0634da7 100644 (file)
@@ -22,7 +22,6 @@ package org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builde
 
 import org.apache.commons.lang3.StringUtils;
 import org.camunda.bpm.engine.delegate.DelegateExecution;
-import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncUnderlayVpnPreprocessTask;
 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.OnapModelInformationEntity;
 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.ParamEntity;
 import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.RequestInformationEntity;
@@ -41,6 +40,10 @@ import java.util.UUID;
  * Created by 10112215 on 2017/9/20.
  */
 public abstract class AbstractBuilder<IN, OUT> {
+
+     public static final String OPERATION_TYPE = "operationType";
+     public static final String RESOURCE_TYPE = "resourceType";
+
      public static enum RequestAction {
           CreateNetworkInstance(0, "CreateNetworkInstance"),
           ActivateNetworkInstance(1, "ActivateNetworkInstance"),
@@ -56,7 +59,9 @@ public abstract class AbstractBuilder<IN, OUT> {
           CreateContrailRouteInstance(11, "CreateContrailRouteInstance"),
           DeleteContrailRouteInstance(12, "DeleteContrailRouteInstance"),
           CreateSecurityZoneInstance(13, "CreateSecurityZoneInstance"),
-          DeleteSecurityZoneInstance(14, "DeleteSecurityZoneInstance");
+          DeleteSecurityZoneInstance(14, "DeleteSecurityZoneInstance"),
+          ActivateDCINetworkInstance(15, "ActivateDCINetworkInstance"),
+          DeActivateDCINetworkInstance(16, "DeActivateDCINetworkInstance");
 
           String name;
           int value;
@@ -110,25 +115,55 @@ public abstract class AbstractBuilder<IN, OUT> {
 
      protected String getRequestActoin(DelegateExecution execution) {
           String action = /*RequestInformation.*/RequestAction.CreateNetworkInstance.name();
-          String operType = getOperType(execution);
+          String operType = (String) execution.getVariable(OPERATION_TYPE);
+          String resourceType = ((String) execution.getVariable(RESOURCE_TYPE)).toLowerCase();
           if (!StringUtils.isBlank(operType)) {
                if (RequestsDbConstant.OperationType.DELETE.equals(operType)) {
-                    action = /*RequestInformation.*/RequestAction.DeleteNetworkInstance.name();
+                    if (isOverlay(resourceType)) {
+                         action = /*RequestInformation.*/RequestAction.DeActivateDCINetworkInstance.name();
+                    } else if (isUnderlay(resourceType)) {
+                         action = /*RequestInformation.*/RequestAction.DeleteNetworkInstance.name();
+                    } else {
+                         action = /*RequestInformation.*/RequestAction.DeleteServiceInstance.name();
+                    }
                } else if (RequestsDbConstant.OperationType.CREATE.equals(operType)) {
-                    action = /*RequestInformation.*/RequestAction.CreateNetworkInstance.name();
+                    if (isOverlay(resourceType)) {
+                         action = /*RequestInformation.*/RequestAction.ActivateDCINetworkInstance.name();
+                    } else if (isUnderlay(resourceType)) {
+                         action = /*RequestInformation.*/RequestAction.CreateNetworkInstance.name();
+                    } else {
+                         action = /*RequestInformation.*/RequestAction.CreateServiceInstance.name();
+                    }
                }
           }
           return action;
      }
 
-     protected String getOperationType(DelegateExecution execution) {
+     private boolean isOverlay(String resourceType) {
+          return !StringUtils.isBlank(resourceType) && resourceType.contains("overlay");
+     }
+
+     private boolean isUnderlay(String resourceType) {
+          return !StringUtils.isBlank(resourceType) && resourceType.contains("underlay");
+     }
+
+     protected String getSvcAction(DelegateExecution execution) {
           String action = /*SdncRequestHeader.*/SvcAction.Create.name();
-          String operType = getOperType(execution);
+          String operType = (String) execution.getVariable(OPERATION_TYPE);
+          String resourceType = ((String) execution.getVariable(RESOURCE_TYPE)).toLowerCase();
           if (!StringUtils.isBlank(operType)) {
                if (RequestsDbConstant.OperationType.DELETE.equals(operType)) {
-                    action = /*SdncRequestHeader.*/SvcAction.Delete.name();
+                    if (isOverlay(resourceType)) {
+                         action = /*SdncRequestHeader.*/SvcAction.Deactivate.name();
+                    } else {
+                         action = /*SdncRequestHeader.*/SvcAction.Delete.name();
+                    }
                } else if (RequestsDbConstant.OperationType.CREATE.equals(operType)) {
-                    action = /*SdncRequestHeader.*/SvcAction.Create.name();
+                    if (isOverlay(resourceType)) {
+                         action = /*SdncRequestHeader.*/SvcAction.Activate.name();
+                    } else {
+                         action = /*SdncRequestHeader.*/SvcAction.Create.name();
+                    }
                }
           }
           return action;
@@ -144,10 +179,6 @@ public abstract class AbstractBuilder<IN, OUT> {
           return requestId;
      }
 
-     protected String getOperType(DelegateExecution execution) {
-          return (String) execution.getVariable(SdncUnderlayVpnPreprocessTask.RESOURCE_OPER_TYPE);
-     }
-
      protected OnapModelInformationEntity getOnapModelInformationEntity(DelegateExecution execution) {
           OnapModelInformationEntity onapModelInformationEntity = new OnapModelInformationEntity();
           {
index a1e47df..94838ed 100644 (file)
@@ -60,7 +60,7 @@ public class NetworkRpcInputEntityBuilder extends AbstractBuilder<Map<String, St
         SdncRequestHeaderEntity sdncRequestHeaderEntity = new SdncRequestHeaderEntity();
         {
             sdncRequestHeaderEntity.setSvcRequestId(getRequestId(execution));
-            sdncRequestHeaderEntity.setSvcAction(getOperationType(execution));
+            sdncRequestHeaderEntity.setSvcAction(getSvcAction(execution));
         }
         networkTopologyOperationInputEntity.setSdncRequestHeader(sdncRequestHeaderEntity);
     }
index 5cb9272..7867358 100644 (file)
@@ -76,7 +76,7 @@ public class ServiceRpcInputEntityBuilder extends AbstractBuilder<Map<String, St
         SdncRequestHeaderEntity sdncRequestHeaderEntity = new SdncRequestHeaderEntity();
         {
             sdncRequestHeaderEntity.setSvcRequestId(getRequestId(execution));
-            sdncRequestHeaderEntity.setSvcAction(getOperationType(execution));
+            sdncRequestHeaderEntity.setSvcAction(getSvcAction(execution));
         }
         serviceTopologyOperationInputEntity.setSdncRequestHeader(sdncRequestHeaderEntity);
     }