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 e2f66eac721 Refactor StorageContainerConfigurationOption (#36533)
e2f66eac721 is described below

commit e2f66eac7219aacacd4f09c975a8ecd7d34114fd
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Thu Sep 11 21:51:28 2025 +0800

    Refactor StorageContainerConfigurationOption (#36533)
    
    * Refactor StorageContainerConfigurationOption
    
    * Refactor StorageContainerConfigurationOption
---
 .../StorageContainerConfigurationFactory.java      |  6 +++---
 .../StorageContainerConfigurationOption.java       | 18 ++++++++---------
 .../H2StorageContainerConfigurationOption.java     | 10 +++++-----
 .../HiveStorageContainerConfigurationOption.java   | 10 +++++-----
 ...MariaDBStorageContainerConfigurationOption.java | 10 +++++-----
 .../MySQLStorageContainerConfigurationOption.java  | 10 +++++-----
 ...enGaussStorageContainerConfigurationOption.java | 10 +++++-----
 ...tgreSQLStorageContainerConfigurationOption.java | 10 +++++-----
 .../database/DatabaseEnvironmentManager.java       | 23 +++++++++++-----------
 9 files changed, 53 insertions(+), 54 deletions(-)

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
index aa8c429f7df..c122461f4cb 100644
--- 
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
@@ -58,7 +58,7 @@ public final class StorageContainerConfigurationFactory {
      */
     public static StorageContainerConfiguration newInstance(final 
StorageContainerConfigurationOption option, final DatabaseType databaseType, 
final int majorVersion) {
         Map<String, String> mountedResources = 
getMountedResources(databaseType, option, majorVersion, "");
-        return new StorageContainerConfiguration(option.getCommand(), 
option.getContainerEnvironments(), mountedResources, Collections.emptyMap(), 
Collections.emptyMap());
+        return new StorageContainerConfiguration(option.getCommand(), 
option.getEnvironments(), mountedResources, Collections.emptyMap(), 
Collections.emptyMap());
     }
     
     /**
@@ -74,8 +74,8 @@ public final class StorageContainerConfigurationFactory {
         Map<String, DatabaseType> expectedDatabaseTypes = 
DatabaseEnvironmentManager.getExpectedDatabaseTypes(scenario, databaseType);
         Map<String, String> mountedResources = 
getMountedResources(databaseType, option, 0, scenario);
         return option.isEmbeddedStorageContainer()
-                ? new StorageContainerConfiguration(scenario, 
option.getCommand(), option.getContainerEnvironments(), mountedResources, 
databaseTypes, expectedDatabaseTypes)
-                : new StorageContainerConfiguration(option.getCommand(), 
option.getContainerEnvironments(), mountedResources, databaseTypes, 
expectedDatabaseTypes);
+                ? new StorageContainerConfiguration(scenario, 
option.getCommand(), option.getEnvironments(), mountedResources, databaseTypes, 
expectedDatabaseTypes)
+                : new StorageContainerConfiguration(option.getCommand(), 
option.getEnvironments(), mountedResources, databaseTypes, 
expectedDatabaseTypes);
     }
     
     private static Map<String, String> getMountedResources(final DatabaseType 
databaseType, final StorageContainerConfigurationOption option, final int 
majorVersion, final String scenario) {
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/StorageContainerConfigurationOption.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/StorageContainerConfigurationOption.java
index aa6e3a4166b..261a67a9efa 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/StorageContainerConfigurationOption.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/StorageContainerConfigurationOption.java
@@ -27,9 +27,9 @@ import java.util.Map;
 public interface StorageContainerConfigurationOption {
     
     /**
-     * Get command.
+     * Get container command.
      *
-     * @return command
+     * @return container command
      */
     String getCommand();
     
@@ -38,7 +38,7 @@ public interface StorageContainerConfigurationOption {
      *
      * @return container environments
      */
-    Map<String, String> getContainerEnvironments();
+    Map<String, String> getEnvironments();
     
     /**
      * Get mounted configuration resources.
@@ -56,16 +56,16 @@ public interface StorageContainerConfigurationOption {
     Collection<String> getAdditionalMountedSQLEnvResources(int majorVersion);
     
     /**
-     * Whether embedded storage container.
+     * Get supported major versions.
      *
-     * @return is embedded storage container or not
+     * @return supported major versions
      */
-    boolean isEmbeddedStorageContainer();
+    List<Integer> getSupportedMajorVersions();
     
     /**
-     * Get supported major versions.
+     * Whether embedded storage container.
      *
-     * @return supported major versions
+     * @return is embedded storage container or not
      */
-    List<Integer> getSupportedMajorVersions();
+    boolean isEmbeddedStorageContainer();
 }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/H2StorageContainerConfigurationOption.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/H2StorageContainerConfigurationOption.java
index 6dc0ab7f2af..c901334eb4b 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/H2StorageContainerConfigurationOption.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/H2StorageContainerConfigurationOption.java
@@ -35,7 +35,7 @@ public final class H2StorageContainerConfigurationOption 
implements StorageConta
     }
     
     @Override
-    public Map<String, String> getContainerEnvironments() {
+    public Map<String, String> getEnvironments() {
         return Collections.emptyMap();
     }
     
@@ -50,12 +50,12 @@ public final class H2StorageContainerConfigurationOption 
implements StorageConta
     }
     
     @Override
-    public boolean isEmbeddedStorageContainer() {
-        return true;
+    public List<Integer> getSupportedMajorVersions() {
+        return Collections.emptyList();
     }
     
     @Override
-    public List<Integer> getSupportedMajorVersions() {
-        return Collections.emptyList();
+    public boolean isEmbeddedStorageContainer() {
+        return true;
     }
 }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/HiveStorageContainerConfigurationOption.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/HiveStorageContainerConfigurationOption.java
index 4bf0fe05f08..eb593101647 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/HiveStorageContainerConfigurationOption.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/HiveStorageContainerConfigurationOption.java
@@ -36,7 +36,7 @@ public final class HiveStorageContainerConfigurationOption 
implements StorageCon
     }
     
     @Override
-    public Map<String, String> getContainerEnvironments() {
+    public Map<String, String> getEnvironments() {
         Map<String, String> result = new HashMap<>(3, 1F);
         result.put("SERVICE_NAME", "hiveserver2");
         result.put("SERVICE_OPTS", "-Dhive.support.concurrency=true 
-Dhive.exec.dynamic.partition.mode=nonstrict 
-Dhive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager");
@@ -55,12 +55,12 @@ public final class HiveStorageContainerConfigurationOption 
implements StorageCon
     }
     
     @Override
-    public boolean isEmbeddedStorageContainer() {
-        return false;
+    public List<Integer> getSupportedMajorVersions() {
+        return Collections.emptyList();
     }
     
     @Override
-    public List<Integer> getSupportedMajorVersions() {
-        return Collections.emptyList();
+    public boolean isEmbeddedStorageContainer() {
+        return false;
     }
 }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MariaDBStorageContainerConfigurationOption.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MariaDBStorageContainerConfigurationOption.java
index d81ed5f3bad..c3cd7e18ff3 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MariaDBStorageContainerConfigurationOption.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MariaDBStorageContainerConfigurationOption.java
@@ -37,7 +37,7 @@ public final class MariaDBStorageContainerConfigurationOption 
implements Storage
     }
     
     @Override
-    public Map<String, String> getContainerEnvironments() {
+    public Map<String, String> getEnvironments() {
         Map<String, String> result = new HashMap<>(2, 1F);
         result.put("LANG", "C.UTF-8");
         result.put("MYSQL_RANDOM_ROOT_PASSWORD", "yes");
@@ -55,12 +55,12 @@ public final class 
MariaDBStorageContainerConfigurationOption implements Storage
     }
     
     @Override
-    public boolean isEmbeddedStorageContainer() {
-        return false;
+    public List<Integer> getSupportedMajorVersions() {
+        return Collections.emptyList();
     }
     
     @Override
-    public List<Integer> getSupportedMajorVersions() {
-        return Collections.emptyList();
+    public boolean isEmbeddedStorageContainer() {
+        return false;
     }
 }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MySQLStorageContainerConfigurationOption.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MySQLStorageContainerConfigurationOption.java
index b257fb43ab4..ca070d73c57 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MySQLStorageContainerConfigurationOption.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/MySQLStorageContainerConfigurationOption.java
@@ -39,7 +39,7 @@ public final class MySQLStorageContainerConfigurationOption 
implements StorageCo
     }
     
     @Override
-    public Map<String, String> getContainerEnvironments() {
+    public Map<String, String> getEnvironments() {
         Map<String, String> result = new HashMap<>(2, 1F);
         result.put("LANG", "C.UTF-8");
         result.put("MYSQL_RANDOM_ROOT_PASSWORD", "yes");
@@ -61,12 +61,12 @@ public final class MySQLStorageContainerConfigurationOption 
implements StorageCo
     }
     
     @Override
-    public boolean isEmbeddedStorageContainer() {
-        return false;
+    public List<Integer> getSupportedMajorVersions() {
+        return Arrays.asList(5, 8);
     }
     
     @Override
-    public List<Integer> getSupportedMajorVersions() {
-        return Arrays.asList(5, 8);
+    public boolean isEmbeddedStorageContainer() {
+        return false;
     }
 }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/OpenGaussStorageContainerConfigurationOption.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/OpenGaussStorageContainerConfigurationOption.java
index fea1b181a43..679c9ae6a2c 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/OpenGaussStorageContainerConfigurationOption.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/OpenGaussStorageContainerConfigurationOption.java
@@ -37,7 +37,7 @@ public final class 
OpenGaussStorageContainerConfigurationOption implements Stora
     }
     
     @Override
-    public Map<String, String> getContainerEnvironments() {
+    public Map<String, String> getEnvironments() {
         return Collections.singletonMap("GS_PASSWORD", 
StorageContainerConstants.PASSWORD);
     }
     
@@ -52,12 +52,12 @@ public final class 
OpenGaussStorageContainerConfigurationOption implements Stora
     }
     
     @Override
-    public boolean isEmbeddedStorageContainer() {
-        return false;
+    public List<Integer> getSupportedMajorVersions() {
+        return Collections.emptyList();
     }
     
     @Override
-    public List<Integer> getSupportedMajorVersions() {
-        return Collections.emptyList();
+    public boolean isEmbeddedStorageContainer() {
+        return false;
     }
 }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/PostgreSQLStorageContainerConfigurationOption.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/PostgreSQLStorageContainerConfigurationOption.java
index 5fab35cf812..f7e56bbb842 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/PostgreSQLStorageContainerConfigurationOption.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/storage/config/option/dialect/PostgreSQLStorageContainerConfigurationOption.java
@@ -37,7 +37,7 @@ public final class 
PostgreSQLStorageContainerConfigurationOption implements Stor
     }
     
     @Override
-    public Map<String, String> getContainerEnvironments() {
+    public Map<String, String> getEnvironments() {
         Map<String, String> result = new HashMap<>(2, 1F);
         result.put("POSTGRES_HOST", StorageContainerConstants.USERNAME);
         result.put("POSTGRES_PASSWORD", StorageContainerConstants.PASSWORD);
@@ -55,12 +55,12 @@ public final class 
PostgreSQLStorageContainerConfigurationOption implements Stor
     }
     
     @Override
-    public boolean isEmbeddedStorageContainer() {
-        return false;
+    public List<Integer> getSupportedMajorVersions() {
+        return Collections.emptyList();
     }
     
     @Override
-    public List<Integer> getSupportedMajorVersions() {
-        return Collections.emptyList();
+    public boolean isEmbeddedStorageContainer() {
+        return false;
     }
 }
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 8a3ee1fc506..8bc3c0ed0f3 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
@@ -49,18 +49,7 @@ public final class DatabaseEnvironmentManager {
      * @return database types
      */
     public static Map<String, DatabaseType> getDatabaseTypes(final String 
scenario, final DatabaseType defaultDatabaseType) {
-        Collection<String> datasourceNames = unmarshal(new 
ScenarioDataPath(scenario).getDatabasesFile(Type.ACTUAL)).getDatabases();
-        return crateDatabaseTypes(datasourceNames, defaultDatabaseType);
-    }
-    
-    private static Map<String, DatabaseType> crateDatabaseTypes(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);
-            DatabaseType databaseType = items.size() > 1 ? 
TypedSPILoader.getService(DatabaseType.class, items.get(1)) : 
defaultDatabaseType;
-            result.put(items.get(0), databaseType);
-        }
-        return result;
+        return crateDatabaseTypes(unmarshal(new 
ScenarioDataPath(scenario).getDatabasesFile(Type.ACTUAL)).getDatabases(), 
defaultDatabaseType);
     }
     
     /**
@@ -74,6 +63,16 @@ public final class DatabaseEnvironmentManager {
         return crateDatabaseTypes(unmarshal(new 
ScenarioDataPath(scenario).getDatabasesFile(Type.EXPECTED)).getDatabases(), 
defaultDatabaseType);
     }
     
+    private static Map<String, DatabaseType> crateDatabaseTypes(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);
+            DatabaseType databaseType = items.size() > 1 ? 
TypedSPILoader.getService(DatabaseType.class, items.get(1)) : 
defaultDatabaseType;
+            result.put(items.get(0), databaseType);
+        }
+        return result;
+    }
+    
     @SneakyThrows({IOException.class, JAXBException.class})
     private static DatabaseNameEnvironment unmarshal(final String 
databasesFile) {
         try (FileReader reader = new FileReader(databasesFile)) {

Reply via email to