You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by sh...@apache.org on 2022/12/09 06:05:23 UTC

[rocketmq-eventbridge] 01/04: update network service

This is an automated email from the ASF dual-hosted git repository.

shenlin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-eventbridge.git

commit 6c4f6c1f6b662cf60aed904042bd8e75344e6c7d
Author: zh378814 <wb...@alibaba-inc.com>
AuthorDate: Thu Dec 8 13:27:09 2022 +0800

    update network service
---
 .../rpc/impl/network/NetworkServiceAPIImpl.java     | 10 ++++++++--
 .../domain/model/connection/ConnectionService.java  | 21 +++++++++++++++++++--
 .../connection/parameter/NetworkParameters.java     |  9 +++++++++
 .../domain/model/data/NetworkEntity.java            | 16 ++++++++++++++++
 .../eventbridge/domain/rpc/NetworkServiceAPI.java   |  8 ++++++--
 5 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/adapter/rpc/src/main/java/org/apache/rocketmq/eventbridge/adapter/rpc/impl/network/NetworkServiceAPIImpl.java b/adapter/rpc/src/main/java/org/apache/rocketmq/eventbridge/adapter/rpc/impl/network/NetworkServiceAPIImpl.java
index 9edd78e..5163aeb 100644
--- a/adapter/rpc/src/main/java/org/apache/rocketmq/eventbridge/adapter/rpc/impl/network/NetworkServiceAPIImpl.java
+++ b/adapter/rpc/src/main/java/org/apache/rocketmq/eventbridge/adapter/rpc/impl/network/NetworkServiceAPIImpl.java
@@ -17,18 +17,24 @@
 
 package org.apache.rocketmq.eventbridge.adapter.rpc.impl.network;
 
+import org.apache.rocketmq.eventbridge.domain.model.data.NetworkEntity;
 import org.apache.rocketmq.eventbridge.domain.rpc.NetworkServiceAPI;
 import org.springframework.stereotype.Component;
 
 @Component
 public class NetworkServiceAPIImpl implements NetworkServiceAPI {
     @Override
-    public Boolean createPrivateNetwork() {
+    public Boolean createPrivateNetwork(String accountId, String connectionId, String vpcId, String vSwitchIds, String securityGroupId) {
         return null;
     }
 
     @Override
-    public Boolean deletePrivateNetwork() {
+    public Boolean deletePrivateNetwork(String accountId, String networkServiceId) {
         return null;
     }
+
+    @Override
+    public NetworkEntity getNetwork(String accountId, String connectionId) {
+        return new NetworkEntity();
+    }
 }
diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
index 52d92e2..a0ed6da 100644
--- a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
@@ -29,8 +29,10 @@ import org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
 import org.apache.rocketmq.eventbridge.domain.model.connection.parameter.ApiKeyAuthParameters;
 import org.apache.rocketmq.eventbridge.domain.model.connection.parameter.AuthParameters;
 import org.apache.rocketmq.eventbridge.domain.model.connection.parameter.BasicAuthParameters;
+import org.apache.rocketmq.eventbridge.domain.model.connection.parameter.NetworkParameters;
 import org.apache.rocketmq.eventbridge.domain.model.connection.parameter.OAuthHttpParameters;
 import org.apache.rocketmq.eventbridge.domain.model.connection.parameter.OAuthParameters;
+import org.apache.rocketmq.eventbridge.domain.model.data.NetworkEntity;
 import org.apache.rocketmq.eventbridge.domain.repository.ApiDestinationRepository;
 import org.apache.rocketmq.eventbridge.domain.repository.ConnectionRepository;
 import org.apache.rocketmq.eventbridge.domain.rpc.NetworkServiceAPI;
@@ -74,7 +76,12 @@ public class ConnectionService extends AbstractResourceService {
         }
         if (connectionRepository.createConnection(connectionDTO)) {
             if (NetworkTypeEnum.PRIVATE_NETWORK.getNetworkType().equals(connectionDTO.getNetworkParameters().getNetworkType())) {
-                networkServiceAPI.createPrivateNetwork();
+                List<ConnectionDTO> connection = getConnection(connectionDTO.getAccountId(), connectionDTO.getConnectionName());
+                if (!CollectionUtils.isEmpty(connection)) {
+                    NetworkParameters networkParameters = connectionDTO.getNetworkParameters();
+                    networkServiceAPI.createPrivateNetwork(connectionDTO.getAccountId(), Integer.toString(connection.get(0).getId()), networkParameters.getVpcId(), networkParameters.getVswitcheId(), networkParameters.getSecurityGroupId());
+                }
+
             }
             return connectionDTO.getConnectionName();
         }
@@ -92,7 +99,7 @@ public class ConnectionService extends AbstractResourceService {
         List<ConnectionDTO> connection = getConnection(accountId, connectionName);
         ConnectionDTO connectionDTO = connection.get(0);
         if (NetworkTypeEnum.PRIVATE_NETWORK.getNetworkType().equals(connectionDTO.getNetworkParameters().getNetworkType())) {
-            networkServiceAPI.deletePrivateNetwork();
+            networkServiceAPI.deletePrivateNetwork(accountId, Integer.toString(connectionDTO.getId()));
         }
         connectionRepository.deleteConnection(accountId, connectionName);
         if (secretManagerAPI.querySecretName(secretManagerAPI.getSecretName(accountId, connectionName))) {
@@ -117,6 +124,16 @@ public class ConnectionService extends AbstractResourceService {
         if (connectionDTO == null) {
             throw new EventBridgeException(EventBridgeErrorCode.ConnectionNotExist, connectionName);
         }
+        for (ConnectionDTO connection : connectionDTO) {
+            if (NetworkTypeEnum.PRIVATE_NETWORK.getNetworkType().equals(connection.getNetworkParameters().getNetworkType())) {
+                NetworkEntity network = networkServiceAPI.getNetwork(accountId, connection.getAccountId());
+                NetworkParameters networkParameters = connection.getNetworkParameters();
+                networkParameters.setSocks5UserName(network.getSocks5UserName());
+                networkParameters.setSocks5Password(network.getSocks5Password());
+                networkParameters.setSocks5Endpoint(network.getSocks5Endpoint());
+                connection.setNetworkParameters(networkParameters);
+            }
+        }
         return connectionDTO;
     }
 
diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java
index ed7ca0d..f771056 100644
--- a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/parameter/NetworkParameters.java
@@ -40,4 +40,13 @@ public class NetworkParameters {
 
     @SerializedName("SecurityGroupId")
     private String securityGroupId;
+
+    @SerializedName("Socks5UserName")
+    private String socks5UserName;
+
+    @SerializedName("Socks5Password")
+    private String socks5Password;
+
+    @SerializedName("Socks5Endpoint")
+    private String socks5Endpoint;
 }
diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/data/NetworkEntity.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/data/NetworkEntity.java
new file mode 100644
index 0000000..c9ea40e
--- /dev/null
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/data/NetworkEntity.java
@@ -0,0 +1,16 @@
+package org.apache.rocketmq.eventbridge.domain.model.data;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class NetworkEntity {
+
+    private String socks5UserName;
+
+    private String socks5Password;
+
+    private String socks5Endpoint;
+
+}
diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/rpc/NetworkServiceAPI.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/rpc/NetworkServiceAPI.java
index c2d7018..77ada12 100644
--- a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/rpc/NetworkServiceAPI.java
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/rpc/NetworkServiceAPI.java
@@ -17,9 +17,13 @@
 
 package org.apache.rocketmq.eventbridge.domain.rpc;
 
+import org.apache.rocketmq.eventbridge.domain.model.data.NetworkEntity;
+
 public interface NetworkServiceAPI {
 
-    Boolean createPrivateNetwork();
+    Boolean createPrivateNetwork(String accountId, String connectionId, String vpcId, String vSwitchIds, String securityGroupId);
+
+    Boolean deletePrivateNetwork(String accountId, String connectionId);
 
-    Boolean deletePrivateNetwork();
+    NetworkEntity getNetwork(String accountId, String connectionId);
 }