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)) {