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

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 23ecfae32ff Refactor ShardingSphereProxyEmbeddedContainer (#36644)
23ecfae32ff is described below

commit 23ecfae32ff1ed6b3e368042a28c608ca37709fc
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Sep 20 14:20:02 2025 +0800

    Refactor ShardingSphereProxyEmbeddedContainer (#36644)
    
    * Refactor ShardingSphereProxyEmbeddedContainer
    
    * Refactor ShardingSphereProxyEmbeddedContainer
    
    * Refactor ShardingSphereProxyEmbeddedContainer
---
 .../impl/ShardingSphereJdbcEmbeddedContainer.java  | 11 ++-
 .../impl/ShardingSphereProxyEmbeddedContainer.java | 82 +++++++++++-----------
 2 files changed, 45 insertions(+), 48 deletions(-)

diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereJdbcEmbeddedContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereJdbcEmbeddedContainer.java
index 4ec0475d8ee..7113c8d121e 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereJdbcEmbeddedContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereJdbcEmbeddedContainer.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.test.e2e.env.container.adapter.impl;
 
 import com.zaxxer.hikari.HikariDataSource;
+import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.test.e2e.env.container.EmbeddedITContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.adapter.AdapterContainer;
@@ -37,6 +38,7 @@ import java.util.concurrent.atomic.AtomicReference;
 /**
  * ShardingSphere JDBC embedded container.
  */
+@RequiredArgsConstructor
 public final class ShardingSphereJdbcEmbeddedContainer implements 
EmbeddedITContainer, AdapterContainer {
     
     private final StorageContainer storageContainer;
@@ -45,11 +47,6 @@ public final class ShardingSphereJdbcEmbeddedContainer 
implements EmbeddedITCont
     
     private final String configPath;
     
-    public ShardingSphereJdbcEmbeddedContainer(final StorageContainer 
storageContainer, final String configPath) {
-        this.configPath = configPath;
-        this.storageContainer = storageContainer;
-    }
-    
     @Override
     public void start() {
     }
@@ -63,7 +60,6 @@ public final class ShardingSphereJdbcEmbeddedContainer 
implements EmbeddedITCont
         return targetDataSourceProvider.get();
     }
     
-    @SneakyThrows(IOException.class)
     private DataSource createTargetDataSource() {
         HikariDataSource result = new HikariDataSource();
         
result.setDriverClassName("org.apache.shardingsphere.driver.ShardingSphereDriver");
@@ -74,7 +70,8 @@ public final class ShardingSphereJdbcEmbeddedContainer 
implements EmbeddedITCont
         return result;
     }
     
-    private String processFile(final String filePath, final Map<String, 
String> replacements) throws IOException {
+    @SneakyThrows(IOException.class)
+    private String processFile(final String filePath, final Map<String, 
String> replacements) {
         Path path = Paths.get(filePath);
         String content = new String(Files.readAllBytes(path));
         for (Entry<String, String> entry : replacements.entrySet()) {
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
index 88232f48544..cf35fc14424 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
@@ -98,32 +98,16 @@ public final class ShardingSphereProxyEmbeddedContainer 
implements EmbeddedITCon
         Collections.addAll(this.dependencies, dependencies);
     }
     
-    @Override
-    public DataSource getTargetDataSource(final String serverLists) {
-        DataSource dataSource = targetDataSourceProvider.get();
-        if (null == dataSource) {
-            DataSourceEnvironment dataSourceEnvironment = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
-            
targetDataSourceProvider.set(StorageContainerUtils.generateDataSource(dataSourceEnvironment.getURL(
-                    "127.0.0.1", 3307, config.getProxyDataSourceName()), 
ProxyContainerConstants.USER, ProxyContainerConstants.PASSWORD, 2));
-        }
-        return targetDataSourceProvider.get();
-    }
-    
-    @Override
-    public String getAbbreviation() {
-        return "proxy";
-    }
-    
     @Override
     public void start() {
         dependencies.forEach(Startable::start);
-        startInternalProxy();
+        startProxy();
         new JdbcConnectCheckingWaitStrategy(() -> 
getTargetDataSource(null).getConnection()).waitUntilReady(null);
     }
     
     @SneakyThrows({SQLException.class, IOException.class, SSLException.class, 
InterruptedException.class})
-    private void startInternalProxy() {
-        YamlProxyConfiguration yamlConfig = 
ProxyConfigurationLoader.load(getTempConfigDirectory().toString());
+    private void startProxy() {
+        YamlProxyConfiguration yamlConfig = 
ProxyConfigurationLoader.load(getTempConfigurationDirectory().toString());
         int port = 
Integer.parseInt(ConfigurationPropertyKey.PROXY_DEFAULT_PORT.getDefaultValue());
         new BootstrapInitializer().init(yamlConfig, port);
         ProxySSLContext.init();
@@ -132,7 +116,7 @@ public final class ShardingSphereProxyEmbeddedContainer 
implements EmbeddedITCon
         log.info("ShardingSphere-Proxy {} mode started successfully", 
ProxyContext.getInstance().getContextManager().getComputeNodeInstanceContext().getModeConfiguration().getType());
     }
     
-    private Path getTempConfigDirectory() throws IOException {
+    private Path getTempConfigurationDirectory() throws IOException {
         Map<String, String> networkAliasAndHostLinkMap = 
getNetworkAliasAndHostLinkMap();
         Map<String, String> storageConnectionInfoMap = 
getStorageConnectionInfoMap();
         Path result = createTempDirectory().toPath();
@@ -168,6 +152,32 @@ public final class ShardingSphereProxyEmbeddedContainer 
implements EmbeddedITCon
         return result;
     }
     
+    private Map<String, String> getStorageConnectionInfoMap() {
+        Map<String, String> result = new HashMap<>();
+        for (Startable each : dependencies) {
+            if (each instanceof NativeStorageContainer) {
+                
result.putAll(getStorageConnectionInfoMap((NativeStorageContainer) each));
+            }
+        }
+        result.put("username: " + StorageContainerConstants.OPERATION_USER, 
"username: " + E2ETestEnvironment.getInstance().getNativeStorageUsername());
+        result.put("password: " + 
StorageContainerConstants.OPERATION_PASSWORD, "password: " + 
E2ETestEnvironment.getInstance().getNativeStoragePassword());
+        return result;
+    }
+    
+    private Map<String, String> getStorageConnectionInfoMap(final 
NativeStorageContainer container) {
+        return container.getNetworkAliases().stream().collect(Collectors.toMap(
+                each -> each + ":" + container.getExposedPort(), each -> 
E2ETestEnvironment.getInstance().getNativeStorageHost() + ":" + 
E2ETestEnvironment.getInstance().getNativeStoragePort()));
+    }
+    
+    private File createTempDirectory() {
+        try {
+            Path result = SystemUtils.IS_OS_MAC ? 
Files.createTempDirectory(Paths.get(OS_MAC_TMP_DIR), 
E2E_PROXY_CONFIG_TMP_DIR_PREFIX) : 
Files.createTempDirectory(E2E_PROXY_CONFIG_TMP_DIR_PREFIX);
+            return result.toFile();
+        } catch (final IOException ex) {
+            return new File(E2E_PROXY_CONFIG_TMP_DIR_PREFIX + 
Base58.randomString(5));
+        }
+    }
+    
     private void writeDirectoryToTempFile(final String originalKey, final File 
file,
                                           final Map<String, String> 
aliasAndHostLinkMap, final Map<String, String> storageConnectionInfoMap, final 
Path tempDirectory) throws IOException {
         for (File each : file.listFiles()) {
@@ -196,30 +206,20 @@ public final class ShardingSphereProxyEmbeddedContainer 
implements EmbeddedITCon
         }
     }
     
-    private Map<String, String> getStorageConnectionInfoMap() {
-        Map<String, String> result = new HashMap<>();
-        for (Startable each : dependencies) {
-            if (each instanceof NativeStorageContainer) {
-                
result.putAll(getStorageConnectionInfoMap((NativeStorageContainer) each));
-            }
+    @Override
+    public DataSource getTargetDataSource(final String serverLists) {
+        DataSource dataSource = targetDataSourceProvider.get();
+        if (null == dataSource) {
+            DataSourceEnvironment dataSourceEnvironment = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
+            
targetDataSourceProvider.set(StorageContainerUtils.generateDataSource(dataSourceEnvironment.getURL(
+                    "127.0.0.1", 3307, config.getProxyDataSourceName()), 
ProxyContainerConstants.USER, ProxyContainerConstants.PASSWORD, 2));
         }
-        result.put("username: " + StorageContainerConstants.OPERATION_USER, 
"username: " + E2ETestEnvironment.getInstance().getNativeStorageUsername());
-        result.put("password: " + 
StorageContainerConstants.OPERATION_PASSWORD, "password: " + 
E2ETestEnvironment.getInstance().getNativeStoragePassword());
-        return result;
-    }
-    
-    private Map<String, String> getStorageConnectionInfoMap(final 
NativeStorageContainer container) {
-        return container.getNetworkAliases().stream().collect(Collectors.toMap(
-                each -> each + ":" + container.getExposedPort(), each -> 
E2ETestEnvironment.getInstance().getNativeStorageHost() + ":" + 
E2ETestEnvironment.getInstance().getNativeStoragePort()));
+        return targetDataSourceProvider.get();
     }
     
-    private File createTempDirectory() {
-        try {
-            Path result = SystemUtils.IS_OS_MAC ? 
Files.createTempDirectory(Paths.get(OS_MAC_TMP_DIR), 
E2E_PROXY_CONFIG_TMP_DIR_PREFIX) : 
Files.createTempDirectory(E2E_PROXY_CONFIG_TMP_DIR_PREFIX);
-            return result.toFile();
-        } catch (final IOException ex) {
-            return new File(E2E_PROXY_CONFIG_TMP_DIR_PREFIX + 
Base58.randomString(5));
-        }
+    @Override
+    public String getAbbreviation() {
+        return "proxy";
     }
     
     @Override

Reply via email to