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 e1a193db571 Refactor StorageContainerUtils (#36610)
e1a193db571 is described below

commit e1a193db57102b80abd693317caf20e5eb872d48
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Sep 18 13:54:08 2025 +0800

    Refactor StorageContainerUtils (#36610)
    
    * Code format for TransactionBaseE2EIT
    
    * Refactor StorageContainerUtils
---
 .../impl/ShardingSphereProxyClusterContainer.java  |  2 +-
 .../impl/ShardingSphereProxyEmbeddedContainer.java |  2 +-
 .../ShardingSphereProxyStandaloneContainer.java    |  2 +-
 .../type/natived/NativeStorageContainer.java       | 11 ++------
 .../atomic/util/StorageContainerUtils.java         | 33 ++--------------------
 .../pipeline/cases/PipelineContainerComposer.java  |  4 +--
 .../engine/base/TransactionBaseE2EIT.java          | 10 +++----
 7 files changed, 16 insertions(+), 48 deletions(-)

diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
index ff82a568be1..400224c6fed 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyClusterContainer.java
@@ -78,7 +78,7 @@ public final class ShardingSphereProxyClusterContainer 
extends DockerITContainer
         if (null == dataSource) {
             DataSourceEnvironment dataSourceEnvironment = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
             
targetDataSourceProvider.set(StorageContainerUtils.generateDataSource(
-                    dataSourceEnvironment.getURL(getHost(), 
getMappedPort(3307), config.getProxyDataSourceName()), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD));
+                    dataSourceEnvironment.getURL(getHost(), 
getMappedPort(3307), config.getProxyDataSourceName()), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD, 2));
         }
         return targetDataSourceProvider.get();
     }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
index 98bf3099245..c40ad660df6 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyEmbeddedContainer.java
@@ -96,7 +96,7 @@ public final class ShardingSphereProxyEmbeddedContainer 
implements AdapterContai
         if (null == dataSource) {
             DataSourceEnvironment dataSourceEnvironment = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
             
targetDataSourceProvider.set(StorageContainerUtils.generateDataSource(dataSourceEnvironment.getURL(
-                    "127.0.0.1", 3307, config.getProxyDataSourceName()), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD));
+                    "127.0.0.1", 3307, config.getProxyDataSourceName()), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD, 2));
         }
         return targetDataSourceProvider.get();
     }
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
index 51effec997e..235b25772b7 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/adapter/impl/ShardingSphereProxyStandaloneContainer.java
@@ -62,7 +62,7 @@ public final class ShardingSphereProxyStandaloneContainer 
extends DockerITContai
         if (null == dataSource) {
             DataSourceEnvironment dataSourceEnvironment = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
             
targetDataSourceProvider.set(StorageContainerUtils.generateDataSource(
-                    dataSourceEnvironment.getURL(getHost(), 
getMappedPort(3307), config.getProxyDataSourceName()), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD));
+                    dataSourceEnvironment.getURL(getHost(), 
getMappedPort(3307), config.getProxyDataSourceName()), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD, 2));
         }
         return targetDataSourceProvider.get();
     }
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 ac86b7570d3..50aa0e56113 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
@@ -78,7 +78,7 @@ public final class NativeStorageContainer implements 
StorageContainer {
         if (null != option) {
             DataSourceEnvironment dataSourceEnvironment = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
             DataSource dataSource = StorageContainerUtils.generateDataSource(
-                    dataSourceEnvironment.getURL(env.getNativeStorageHost(), 
env.getNativeStoragePort()), env.getNativeStorageUsername(), 
env.getNativeStoragePassword());
+                    dataSourceEnvironment.getURL(env.getNativeStorageHost(), 
env.getNativeStoragePort()), env.getNativeStorageUsername(), 
env.getNativeStoragePassword(), 2);
             new MountSQLResourceGenerator(option).generate(0, 
scenario).keySet().forEach(each -> SQLScriptUtils.execute(dataSource, each));
         }
     }
@@ -91,14 +91,9 @@ public final class NativeStorageContainer implements 
StorageContainer {
     }
     
     private Map<String, DataSource> getDataSourceMap(final Collection<String> 
databaseNames) {
-        Map<String, DataSource> result = new HashMap<>(databaseNames.size(), 
1F);
         DataSourceEnvironment dataSourceEnvironment = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, databaseType);
-        for (String each : databaseNames) {
-            DataSource dataSource = StorageContainerUtils.generateDataSource(
-                    dataSourceEnvironment.getURL(env.getNativeStorageHost(), 
env.getNativeStoragePort(), each), env.getNativeStorageUsername(), 
env.getNativeStoragePassword());
-            result.put(each, dataSource);
-        }
-        return result;
+        return databaseNames.stream().collect(Collectors.toMap(each -> each, 
each -> StorageContainerUtils.generateDataSource(
+                dataSourceEnvironment.getURL(env.getNativeStorageHost(), 
env.getNativeStoragePort(), each), env.getNativeStorageUsername(), 
env.getNativeStoragePassword(), 2)));
     }
     
     /**
diff --git 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/util/StorageContainerUtils.java
 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/util/StorageContainerUtils.java
index 6b1bbbeb8e9..43f196d17fa 100644
--- 
a/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/util/StorageContainerUtils.java
+++ 
b/test/e2e/env/src/test/java/org/apache/shardingsphere/test/e2e/env/container/atomic/util/StorageContainerUtils.java
@@ -33,44 +33,17 @@ import javax.sql.DataSource;
 public final class StorageContainerUtils {
     
     /**
-     * Generate datasource.
+     * Generate data source.
      *
-     * @param jdbcUrl JDBC URL for generating datasource
-     * @param username username
-     * @param password password
-     * @return data source
-     */
-    public static DataSource generateDataSource(final String jdbcUrl, final 
String username, final String password) {
-        return generateDataSource(jdbcUrl, username, password, 2);
-    }
-    
-    /**
-     * Generate datasource.
-     *
-     * @param jdbcUrl JDBC URL for generating datasource
+     * @param jdbcUrl JDBC URL
      * @param username username
      * @param password password
      * @param maximumPoolSize maximum pool size
      * @return data source
      */
     public static DataSource generateDataSource(final String jdbcUrl, final 
String username, final String password, final int maximumPoolSize) {
-        String driverClassName = 
DatabaseTypedSPILoader.getService(DataSourceEnvironment.class, 
DatabaseTypeFactory.get(jdbcUrl)).getDriverClassName();
-        return generateDataSource(jdbcUrl, username, password, 
maximumPoolSize, driverClassName);
-    }
-    
-    /**
-     * Generate datasource.
-     *
-     * @param jdbcUrl JDBC URL for generating datasource
-     * @param username username
-     * @param password password
-     * @param maximumPoolSize maximum pool size
-     * @param driverClassName driver class name
-     * @return data source
-     */
-    public static DataSource generateDataSource(final String jdbcUrl, final 
String username, final String password, final int maximumPoolSize, final String 
driverClassName) {
         HikariDataSource result = new HikariDataSource();
-        result.setDriverClassName(driverClassName);
+        
result.setDriverClassName(DatabaseTypedSPILoader.getService(DataSourceEnvironment.class,
 DatabaseTypeFactory.get(jdbcUrl)).getDriverClassName());
         result.setJdbcUrl(jdbcUrl);
         result.setUsername(username);
         result.setPassword(password);
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
index 3b8a0360664..3f4fe51b586 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
@@ -135,9 +135,9 @@ public final class PipelineContainerComposer implements 
AutoCloseable {
         }
         extraSQLCommand = 
JAXB.unmarshal(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResource(testParam.getScenario())),
 ExtraSQLCommand.class);
         containerComposer.start();
-        sourceDataSource = 
StorageContainerUtils.generateDataSource(getActualJdbcUrlTemplate(DS_0, false), 
username, password);
+        sourceDataSource = 
StorageContainerUtils.generateDataSource(getActualJdbcUrlTemplate(DS_0, false), 
username, password, 2);
         proxyDataSource = StorageContainerUtils.generateDataSource(
-                
appendExtraParameter(containerComposer.getProxyJdbcUrl(PROXY_DATABASE)), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD);
+                
appendExtraParameter(containerComposer.getProxyJdbcUrl(PROXY_DATABASE)), 
ProxyContainerConstants.USERNAME, ProxyContainerConstants.PASSWORD, 2);
         init(jobType);
     }
     
diff --git 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
index 665dad833ff..0eb23309d3f 100644
--- 
a/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
+++ 
b/test/e2e/operation/transaction/src/test/java/org/apache/shardingsphere/test/e2e/operation/transaction/engine/base/TransactionBaseE2EIT.java
@@ -148,8 +148,8 @@ public abstract class TransactionBaseE2EIT {
         for (Class<? extends BaseTransactionTestCase> each : 
testParam.getTransactionTestCaseClasses()) {
             log.info("Transaction IT {} -> {} test begin.", testParam, 
each.getSimpleName());
             try {
-                
each.getConstructor(TransactionTestCaseParameter.class).newInstance(new 
TransactionTestCaseParameter(this, containerComposer.getDataSource(), 
testParam.getTransactionTypes().get(0)))
-                        .execute(containerComposer);
+                
each.getConstructor(TransactionTestCaseParameter.class).newInstance(
+                        new TransactionTestCaseParameter(this, 
containerComposer.getDataSource(), 
testParam.getTransactionTypes().get(0))).execute(containerComposer);
                 // CHECKSTYLE:OFF
             } catch (final Exception ex) {
                 // CHECKSTYLE:ON
@@ -167,8 +167,8 @@ public abstract class TransactionBaseE2EIT {
             }
             log.info("Call transaction IT {} -> {} -> {} -> {} test begin.", 
testParam, transactionType, provider, each.getSimpleName());
             try {
-                
each.getConstructor(TransactionTestCaseParameter.class).newInstance(new 
TransactionTestCaseParameter(this, containerComposer.getDataSource(), 
transactionType))
-                        .execute(containerComposer);
+                
each.getConstructor(TransactionTestCaseParameter.class).newInstance(
+                        new TransactionTestCaseParameter(this, 
containerComposer.getDataSource(), transactionType)).execute(containerComposer);
                 // CHECKSTYLE:OFF
             } catch (final Exception ex) {
                 // CHECKSTYLE:ON
@@ -196,7 +196,7 @@ public abstract class TransactionBaseE2EIT {
      * @throws SQLException SQL exception
      */
     public void dropAccountTable(final Connection connection) throws 
SQLException {
-        executeWithLog(connection, "drop table if exists account;");
+        executeWithLog(connection, "DROP TABLE IF EXISTS account;");
     }
     
     private void alterLocalTransactionRule(final TransactionContainerComposer 
containerComposer) throws SQLException {

Reply via email to