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 bf3f3abaa04 Refactor StorageContainerConfiguration.actualDatabaseTypes 
and expectedDatabaseTypes (#36570)
bf3f3abaa04 is described below

commit bf3f3abaa04ed2908c3e596f84433de114b4245c
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Mon Sep 15 18:04:10 2025 +0800

    Refactor StorageContainerConfiguration.actualDatabaseTypes and 
expectedDatabaseTypes (#36570)
---
 .../agent/engine/env/AgentE2ETestEnvironment.java  | 10 ++---
 .../config/StorageContainerConfiguration.java      |  7 ----
 .../StorageContainerConfigurationFactory.java      | 49 ----------------------
 .../type/docker/DockerStorageContainer.java        | 11 ++++-
 .../type/natived/NativeStorageContainer.java       | 25 +++++------
 .../database/DatabaseEnvironmentManager.java       |  4 +-
 .../createtable/CreateTableSQLGeneratorIT.java     |  4 +-
 .../container/compose/DockerContainerComposer.java |  3 +-
 .../ClusterShowProcessListContainerComposer.java   |  7 ++--
 .../container/compose/DockerContainerComposer.java |  6 +--
 .../compose/mode/ClusterContainerComposer.java     |  5 +--
 .../compose/mode/StandaloneContainerComposer.java  |  5 +--
 12 files changed, 39 insertions(+), 97 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 ef9d5a2d594..afaa4752463 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
@@ -38,7 +38,7 @@ import 
org.apache.shardingsphere.test.e2e.env.container.atomic.constants.ProxyCo
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterType;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainerFactory;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
+import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer;
 import org.awaitility.Awaitility;
@@ -116,8 +116,8 @@ public final class AgentE2ETestEnvironment {
         containers = new ITContainers();
         ShardingSphereProxyClusterContainer proxyContainer = new 
ShardingSphereProxyClusterContainer(databaseType, 
getAdaptorContainerConfiguration());
         proxyContainer.withLogConsumer(testConfig.isLogEnabled() ? 
this::collectLogs : null);
-        DockerStorageContainer storageContainer = new 
DockerStorageContainer(databaseType,
-                imageConfig.getMysqlImage(), 
StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType),
 databaseType, null));
+        DockerStorageContainer storageContainer = new DockerStorageContainer(
+                databaseType, imageConfig.getMysqlImage(), new 
StorageContainerConfiguration(null, 
StorageContainerConfigurationOptionFactory.newInstance(databaseType)));
         proxyContainer.dependsOn(storageContainer);
         containers.registerContainer(storageContainer);
         GovernanceContainer governanceContainer = 
GovernanceContainerFactory.newInstance("ZooKeeper");
@@ -148,8 +148,8 @@ public final class AgentE2ETestEnvironment {
     
     private void createJDBCEnvironment(final DockerITContainer 
agentPluginContainer) {
         containers = new ITContainers();
-        DockerStorageContainer storageContainer = new 
DockerStorageContainer(databaseType,
-                imageConfig.getMysqlImage(), 
StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType),
 databaseType, null));
+        DockerStorageContainer storageContainer = new DockerStorageContainer(
+                databaseType, imageConfig.getMysqlImage(), new 
StorageContainerConfiguration(null, 
StorageContainerConfigurationOptionFactory.newInstance(databaseType)));
         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/atomic/storage/config/StorageContainerConfiguration.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfiguration.java
index e2e29719f7b..75922728d51 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfiguration.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfiguration.java
@@ -19,11 +19,8 @@ package 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOption;
 
-import java.util.Map;
-
 /**
  * Docker storage container configuration.
  */
@@ -34,8 +31,4 @@ public final class StorageContainerConfiguration {
     private final String scenario;
     
     private final StorageContainerConfigurationOption configurationOption;
-    
-    private final Map<String, DatabaseType> actualDatabaseTypes;
-    
-    private final Map<String, DatabaseType> expectedDatabaseTypes;
 }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfigurationFactory.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfigurationFactory.java
deleted file mode 100644
index 1ec7133d95e..00000000000
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/StorageContainerConfigurationFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOption;
-import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.database.DatabaseEnvironmentManager;
-import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type;
-
-import java.util.Collections;
-import java.util.Map;
-
-/**
- * Storage container configuration factory.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class StorageContainerConfigurationFactory {
-    
-    /**
-     * Create new instance of storage container configuration.
-     *
-     * @param option storage container configuration option
-     * @param databaseType database type
-     * @param scenario scenario
-     * @return created storage container configuration
-     */
-    public static StorageContainerConfiguration newInstance(final 
StorageContainerConfigurationOption option, final DatabaseType databaseType, 
final String scenario) {
-        Map<String, DatabaseType> actualDatabaseTypes = null == scenario ? 
Collections.emptyMap() : DatabaseEnvironmentManager.getDatabaseTypes(scenario, 
databaseType, Type.ACTUAL);
-        Map<String, DatabaseType> expectedDatabaseTypes = null == scenario ? 
Collections.emptyMap() : DatabaseEnvironmentManager.getDatabaseTypes(scenario, 
databaseType, Type.EXPECTED);
-        return new StorageContainerConfiguration(scenario, option, 
actualDatabaseTypes, expectedDatabaseTypes);
-    }
-}
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java
index 19f35f5847d..a0aea6dd738 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/docker/DockerStorageContainer.java
@@ -30,11 +30,14 @@ import 
org.apache.shardingsphere.test.e2e.env.container.atomic.util.DockerImageV
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.util.StorageContainerUtils;
 import 
org.apache.shardingsphere.test.e2e.env.container.wait.JdbcConnectionWaitStrategy;
 import org.apache.shardingsphere.test.e2e.env.runtime.DataSourceEnvironment;
+import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.database.DatabaseEnvironmentManager;
+import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type;
 
 import javax.sql.DataSource;
 import java.sql.DriverManager;
 import java.time.Duration;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -108,8 +111,12 @@ public class DockerStorageContainer extends 
DockerITContainer implements Storage
     
     @Override
     protected void postStart() {
-        
actualDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(storageContainerConfig.getActualDatabaseTypes())));
-        
expectedDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(storageContainerConfig.getExpectedDatabaseTypes())));
+        
actualDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(getDataSourceNameAndTypeMap(Type.ACTUAL))));
+        
expectedDataSourceMap.putAll(createAccessDataSources(getDataSourceNames(getDataSourceNameAndTypeMap(Type.EXPECTED))));
+    }
+    
+    private Map<String, DatabaseType> getDataSourceNameAndTypeMap(final Type 
type) {
+        return null == storageContainerConfig.getScenario() ? 
Collections.emptyMap() : 
DatabaseEnvironmentManager.getDatabaseTypes(storageContainerConfig.getScenario(),
 databaseType, type);
     }
     
     private Collection<String> getDataSourceNames(final Map<String, 
DatabaseType> dataSourceNameAndTypeMap) {
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java
index e761b305f07..013f9c5a3e5 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/type/natived/NativeStorageContainer.java
@@ -23,16 +23,18 @@ import 
org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.constants.StorageContainerConstants;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.mount.MountSQLResourceGenerator;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.util.SQLScriptUtils;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.util.StorageContainerUtils;
 import org.apache.shardingsphere.test.e2e.env.runtime.DataSourceEnvironment;
 import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment;
+import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.database.DatabaseEnvironmentManager;
+import 
org.apache.shardingsphere.test.e2e.env.runtime.scenario.path.ScenarioDataPath.Type;
 
 import javax.sql.DataSource;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -63,10 +65,10 @@ public final class NativeStorageContainer implements 
StorageContainer {
     public NativeStorageContainer(final DatabaseType databaseType, final 
String scenario) {
         this.databaseType = databaseType;
         this.scenario = scenario;
-        storageContainerConfig = 
StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType),
 databaseType, scenario);
+        storageContainerConfig = new StorageContainerConfiguration(scenario, 
StorageContainerConfigurationOptionFactory.newInstance(databaseType));
         initDatabase();
-        actualDataSourceMap = createActualDataSourceMap();
-        expectedDataSourceMap = createExpectedDataSourceMap();
+        actualDataSourceMap = createDataSourceMap(Type.ACTUAL);
+        expectedDataSourceMap = createDataSourceMap(Type.EXPECTED);
     }
     
     private void initDatabase() {
@@ -76,16 +78,11 @@ public final class NativeStorageContainer implements 
StorageContainer {
         new 
MountSQLResourceGenerator(storageContainerConfig.getConfigurationOption(), 
databaseType).generate(0, scenario).keySet().forEach(each -> 
SQLScriptUtils.execute(dataSource, each));
     }
     
-    private Map<String, DataSource> createActualDataSourceMap() {
-        Collection<String> databaseNames =
-                
storageContainerConfig.getActualDatabaseTypes().entrySet().stream().filter(entry
 -> entry.getValue() == 
databaseType).map(Entry::getKey).collect(Collectors.toList());
-        return getDataSourceMap(databaseNames);
-    }
-    
-    private Map<String, DataSource> createExpectedDataSourceMap() {
-        Collection<String> databaseNames =
-                
storageContainerConfig.getExpectedDatabaseTypes().entrySet().stream().filter(entry
 -> entry.getValue() == 
databaseType).map(Entry::getKey).collect(Collectors.toList());
-        return getDataSourceMap(databaseNames);
+    private Map<String, DataSource> createDataSourceMap(final Type type) {
+        return null == scenario
+                ? Collections.emptyMap()
+                : 
getDataSourceMap(DatabaseEnvironmentManager.getDatabaseTypes(scenario, 
databaseType, type).entrySet().stream()
+                        .filter(entry -> entry.getValue() == 
databaseType).map(Entry::getKey).collect(Collectors.toList()));
     }
     
     private Map<String, DataSource> getDataSourceMap(final Collection<String> 
databaseNames) {
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java
index cf3a23d3299..a34645ff91c 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/runtime/scenario/database/DatabaseEnvironmentManager.java
@@ -50,10 +50,10 @@ public final class DatabaseEnvironmentManager {
      * @return database types
      */
     public static Map<String, DatabaseType> getDatabaseTypes(final String 
scenario, final DatabaseType defaultDatabaseType, final Type type) {
-        return crateDatabaseTypes(unmarshal(new 
ScenarioDataPath(scenario).getDatabasesFile(type)).getDatabases(), 
defaultDatabaseType);
+        return createDatabaseTypes(unmarshal(new 
ScenarioDataPath(scenario).getDatabasesFile(type)).getDatabases(), 
defaultDatabaseType);
     }
     
-    private static Map<String, DatabaseType> crateDatabaseTypes(final 
Collection<String> datasourceNames, final DatabaseType defaultDatabaseType) {
+    private static Map<String, DatabaseType> createDatabaseTypes(final 
Collection<String> datasourceNames, final DatabaseType defaultDatabaseType) {
         Map<String, DatabaseType> result = new 
LinkedHashMap<>(datasourceNames.size(), 1F);
         for (String each : datasourceNames) {
             List<String> items = Splitter.on(":").splitToList(each);
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
index 7649f287717..22ebe998dc3 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/createtable/CreateTableSQLGeneratorIT.java
@@ -23,7 +23,6 @@ import 
org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.entity.CreateTableSQLGeneratorAssertionEntity;
@@ -94,8 +93,7 @@ class CreateTableSQLGeneratorIT {
     }
     
     private void startStorageContainer(final DatabaseType databaseType, final 
String storageContainerImage) {
-        StorageContainerConfiguration storageContainerConfig = 
StorageContainerConfigurationFactory.newInstance(
-                
StorageContainerConfigurationOptionFactory.newInstance(databaseType), 
databaseType, null);
+        StorageContainerConfiguration storageContainerConfig = new 
StorageContainerConfiguration(null, 
StorageContainerConfigurationOptionFactory.newInstance(databaseType));
         storageContainer = (DockerStorageContainer) 
StorageContainerFactory.newInstance(databaseType, storageContainerImage, 
storageContainerConfig);
         storageContainer.start();
     }
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java
index 92d282a5497..0835514a6ae 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/framework/container/compose/DockerContainerComposer.java
@@ -27,7 +27,6 @@ import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.Govern
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.impl.ZookeeperContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer;
 import org.apache.shardingsphere.test.e2e.env.runtime.DataSourceEnvironment;
@@ -63,7 +62,7 @@ public final class DockerContainerComposer extends 
BaseContainerComposer {
         }
         for (int i = 0; i < storageContainerCount; i++) {
             StorageContainerConfiguration storageContainerConfig;
-            storageContainerConfig = 
StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType),
 databaseType, null);
+            storageContainerConfig = new StorageContainerConfiguration(null, 
StorageContainerConfigurationOptionFactory.newInstance(databaseType));
             DockerStorageContainer storageContainer = 
getContainers().registerContainer(
                     (DockerStorageContainer) 
StorageContainerFactory.newInstance(databaseType, storageContainerImage, 
storageContainerConfig));
             
storageContainer.setNetworkAliases(Collections.singletonList(String.join(".", 
databaseType.getType().toLowerCase() + "_" + i, "host")));
diff --git 
a/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java
 
b/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java
index c54901c4aed..78e9b94467b 100644
--- 
a/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java
+++ 
b/test/e2e/operation/showprocesslist/src/test/java/org/apache/shardingsphere/test/e2e/operation/showprocesslist/container/composer/ClusterShowProcessListContainerComposer.java
@@ -30,7 +30,7 @@ import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.Govern
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainerFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
+import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOption;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.util.AdapterContainerUtils;
@@ -59,9 +59,8 @@ public final class ClusterShowProcessListContainerComposer 
implements AutoClosea
         containers = new ITContainers(testParam.getScenario());
         governanceContainer = isClusterMode(testParam.getRunMode()) ? 
containers.registerContainer(GovernanceContainerFactory.newInstance("ZooKeeper"))
 : null;
         StorageContainerConfigurationOption option = 
StorageContainerConfigurationOptionFactory.newInstance(testParam.getDatabaseType());
-        StorageContainer storageContainer = 
containers.registerContainer(StorageContainerFactory.newInstance(testParam.getDatabaseType(),
 "",
-                StorageContainerConfigurationFactory.newInstance(option, 
testParam.getDatabaseType(), testParam.getScenario())));
-        
+        StorageContainer storageContainer = containers.registerContainer(
+                
StorageContainerFactory.newInstance(testParam.getDatabaseType(), "", new 
StorageContainerConfiguration(testParam.getScenario(), option)));
         AdaptorContainerConfiguration containerConfig = new 
AdaptorContainerConfiguration(testParam.getScenario(), new LinkedList<>(),
                 getMountedResources(testParam.getScenario(), 
testParam.getDatabaseType(), testParam.getRunMode(), 
testParam.getGovernanceCenter()), 
AdapterContainerUtils.getAdapterContainerImage(),
                 "");
diff --git 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java
 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java
index b5e62fed64b..0cb737e2c0a 100644
--- 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java
+++ 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/framework/container/compose/DockerContainerComposer.java
@@ -31,11 +31,11 @@ import 
org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterMode
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterType;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.impl.ZookeeperContainer;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
+import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
+import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.docker.DockerStorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.natived.NativeStorageContainer;
 import 
org.apache.shardingsphere.test.e2e.operation.transaction.env.TransactionE2EEnvironment;
 import 
org.apache.shardingsphere.test.e2e.operation.transaction.env.enums.TransactionE2EEnvTypeEnum;
@@ -69,7 +69,7 @@ public final class DockerContainerComposer extends 
BaseContainerComposer {
         TransactionE2EEnvTypeEnum envType = 
TransactionE2EEnvironment.getInstance().getItEnvType();
         if (TransactionE2EEnvTypeEnum.DOCKER == envType) {
             storageContainer = 
getContainers().registerContainer((DockerStorageContainer) 
StorageContainerFactory.newInstance(databaseType, 
testParam.getStorageContainerImage(),
-                    
StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType),
 databaseType, testParam.getScenario())));
+                    new StorageContainerConfiguration(testParam.getScenario(), 
StorageContainerConfigurationOptionFactory.newInstance(databaseType))));
         } else {
             storageContainer = getContainers().registerContainer(new 
NativeStorageContainer(databaseType, testParam.getScenario()));
         }
diff --git 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
index a445bfba2d1..f2905a6b073 100644
--- 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
+++ 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/ClusterContainerComposer.java
@@ -30,7 +30,7 @@ import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.Govern
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.governance.GovernanceContainerFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
+import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.natived.NativeStorageContainer;
 import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment;
@@ -60,8 +60,7 @@ public final class ClusterContainerComposer implements 
ContainerComposer {
         governanceContainer = 
containers.registerContainer(GovernanceContainerFactory.newInstance("ZooKeeper"));
         Type envType = 
E2ETestEnvironment.getInstance().getClusterEnvironment().getType();
         storageContainer = containers.registerContainer(Type.DOCKER == envType
-                ? StorageContainerFactory.newInstance(databaseType,
-                        
StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType),
 databaseType, scenario))
+                ? StorageContainerFactory.newInstance(databaseType, new 
StorageContainerConfiguration(scenario, 
StorageContainerConfigurationOptionFactory.newInstance(databaseType)))
                 : new NativeStorageContainer(databaseType, scenario));
         AdaptorContainerConfiguration containerConfig = 
SQLE2EProxyContainerConfigurationFactory.newInstance(scenario, "cluster", 
databaseType);
         AdapterContainer adapterContainer = 
AdapterContainerFactory.newInstance(adapterMode, adapterType, databaseType, 
scenario, containerConfig, storageContainer, envType.name());
diff --git 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
index 8626bac8ded..f6b89c5d6db 100644
--- 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
+++ 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/sql/env/container/compose/mode/StandaloneContainerComposer.java
@@ -27,7 +27,7 @@ import 
org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterMode
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.enums.AdapterType;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainer;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.StorageContainerFactory;
-import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfigurationFactory;
+import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.StorageContainerConfiguration;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.config.option.StorageContainerConfigurationOptionFactory;
 import 
org.apache.shardingsphere.test.e2e.env.container.atomic.storage.type.natived.NativeStorageContainer;
 import org.apache.shardingsphere.test.e2e.env.runtime.E2ETestEnvironment;
@@ -53,8 +53,7 @@ public final class StandaloneContainerComposer implements 
ContainerComposer {
         containers = new ITContainers(scenario);
         Type envType = 
E2ETestEnvironment.getInstance().getClusterEnvironment().getType();
         storageContainer = containers.registerContainer(Type.DOCKER == envType
-                ? StorageContainerFactory.newInstance(databaseType,
-                        
StorageContainerConfigurationFactory.newInstance(StorageContainerConfigurationOptionFactory.newInstance(databaseType),
 databaseType, scenario))
+                ? StorageContainerFactory.newInstance(databaseType, new 
StorageContainerConfiguration(scenario, 
StorageContainerConfigurationOptionFactory.newInstance(databaseType)))
                 : new NativeStorageContainer(databaseType, scenario));
         AdaptorContainerConfiguration containerConfig = 
SQLE2EProxyContainerConfigurationFactory.newInstance(scenario, "standalone", 
databaseType);
         AdapterContainer adapterContainer = 
AdapterContainerFactory.newInstance(adapterMode, adapterType, databaseType, 
scenario, containerConfig, storageContainer, envType.name());

Reply via email to