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 5b13d739ee5 Refactor NativeStorageContainer (#36656)
5b13d739ee5 is described below

commit 5b13d739ee5a0c2c8a1c4afddbd48f7d213090ce
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Sun Sep 21 17:30:57 2025 +0800

    Refactor NativeStorageContainer (#36656)
---
 .../e2e/agent/engine/env/AgentE2ETestEnvironment.java     | 15 +++++++--------
 .../container/storage/type/NativeStorageContainer.java    |  4 +---
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git 
a/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
 
b/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
index c04b6f1c59e..f925b9d56e8 100644
--- 
a/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
+++ 
b/test/e2e/agent/engine/src/test/java/org/apache/shardingsphere/test/e2e/agent/engine/env/AgentE2ETestEnvironment.java
@@ -98,11 +98,12 @@ public final class AgentE2ETestEnvironment {
         if (!AgentE2ETestConfiguration.getInstance().containsTestParameter()) {
             return;
         }
+        StorageContainerOption storageContainerOption = 
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType);
         Optional<DockerITContainer> agentPluginContainer = 
TypedSPILoader.findService(AgentPluginContainerFactory.class, 
testConfig.getPluginType()).map(AgentPluginContainerFactory::create);
         if 
(AdapterType.PROXY.getValue().equalsIgnoreCase(testConfig.getAdapter())) {
-            createProxyEnvironment(agentPluginContainer.orElse(null));
+            createProxyEnvironment(storageContainerOption, 
agentPluginContainer.orElse(null));
         } else if 
(AdapterType.JDBC.getValue().equalsIgnoreCase(testConfig.getAdapter())) {
-            createJDBCEnvironment(agentPluginContainer.orElse(null));
+            createJDBCEnvironment(storageContainerOption, 
agentPluginContainer.orElse(null));
         }
         log.info("Waiting to collect data ...");
         long collectDataWaitSeconds = testConfig.getCollectDataWaitSeconds();
@@ -113,12 +114,11 @@ public final class AgentE2ETestEnvironment {
         initialized = true;
     }
     
-    private void createProxyEnvironment(final DockerITContainer 
agentPluginContainer) {
+    private void createProxyEnvironment(final StorageContainerOption 
storageContainerOption, final DockerITContainer agentPluginContainer) {
         containers = new ITContainers(null);
         ShardingSphereProxyDockerContainer proxyContainer = new 
ShardingSphereProxyDockerContainer(databaseType, 
getAdaptorContainerConfiguration());
         proxyContainer.withLogConsumer(testConfig.isLogEnabled() ? 
this::collectLogs : null);
-        StorageContainer storageContainer = new DockerStorageContainer(
-                imageConfig.getMysqlImage(), 
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType), 
null);
+        StorageContainer storageContainer = new 
DockerStorageContainer(imageConfig.getMysqlImage(), storageContainerOption, 
null);
         proxyContainer.dependsOn(storageContainer);
         containers.registerContainer(storageContainer);
         GovernanceContainer governanceContainer = new 
GovernanceContainer(TypedSPILoader.getService(GovernanceContainerOption.class, 
"ZooKeeper"));
@@ -147,10 +147,9 @@ public final class AgentE2ETestEnvironment {
         return new AdaptorContainerConfiguration("sharding_db", 
Collections.emptyList(), mountedResources, imageConfig.getProxyImage(), "");
     }
     
-    private void createJDBCEnvironment(final DockerITContainer 
agentPluginContainer) {
+    private void createJDBCEnvironment(final StorageContainerOption 
storageContainerOption, final DockerITContainer agentPluginContainer) {
         containers = new ITContainers(null);
-        StorageContainer storageContainer = new DockerStorageContainer(
-                imageConfig.getMysqlImage(), 
DatabaseTypedSPILoader.getService(StorageContainerOption.class, databaseType), 
null);
+        StorageContainer storageContainer = new 
DockerStorageContainer(imageConfig.getMysqlImage(), storageContainerOption, 
null);
         ShardingSphereJdbcAgentContainer jdbcAgentContainer = new 
ShardingSphereJdbcAgentContainer(
                 imageConfig.getJdbcProjectImage(), testConfig.getPluginType(), 
testConfig.isLogEnabled() ? this::collectLogs : null);
         jdbcAgentContainer.dependsOn(storageContainer);
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
index f5507421597..18a805d8db4 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/storage/type/NativeStorageContainer.java
@@ -24,7 +24,6 @@ import 
org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import 
org.apache.shardingsphere.test.e2e.env.container.constants.StorageContainerConstants;
 import 
org.apache.shardingsphere.test.e2e.env.container.storage.StorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.storage.mount.MountSQLResourceGenerator;
-import 
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerConnectOption;
 import 
org.apache.shardingsphere.test.e2e.env.container.storage.option.StorageContainerOption;
 import org.apache.shardingsphere.test.e2e.env.container.util.SQLScriptUtils;
 import 
org.apache.shardingsphere.test.e2e.env.container.util.StorageContainerUtils;
@@ -77,8 +76,7 @@ public final class NativeStorageContainer implements 
StorageContainer {
     
     private void initDatabase() {
         if (null != option) {
-            StorageContainerConnectOption storageContainerConnectOption = 
DatabaseTypedSPILoader.getService(StorageContainerOption.class, 
databaseType).getConnectOption();
-            DataSource dataSource = 
StorageContainerUtils.generateDataSource(storageContainerConnectOption.getURL(env.getHost(),
 env.getPort()), env.getUser(), env.getPassword(), 2);
+            DataSource dataSource = 
StorageContainerUtils.generateDataSource(option.getConnectOption().getURL(env.getHost(),
 env.getPort()), env.getUser(), env.getPassword(), 2);
             new MountSQLResourceGenerator(option.getType(), 
option.getCreateOption()).generate(0, scenario).keySet().forEach(each -> 
SQLScriptUtils.execute(dataSource, each));
         }
     }

Reply via email to