You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2022/02/11 00:01:54 UTC

[shardingsphere] branch master updated: Remove ComposedContainer.getAdapterContainer() (#15346)

This is an automated email from the ASF dual-hosted git repository.

menghaoran 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 6cac74c  Remove ComposedContainer.getAdapterContainer() (#15346)
6cac74c is described below

commit 6cac74ca5dbc923d58bf22b497963fe6bfcd575d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Feb 11 08:00:15 2022 +0800

    Remove ComposedContainer.getAdapterContainer() (#15346)
    
    * Refactor ComposedContainer
    
    * Remove ComposedContainer.getAdapterContainer()
    
    * Refactor StorageContainer
    
    * Refactor StorageContainer
    
    * Refactor StorageContainer
---
 .../shardingsphere/test/integration/engine/BaseITCase.java |  6 +-----
 .../container/atomic/storage/StorageContainer.java         | 14 +++++++-------
 .../container/atomic/storage/impl/H2Container.java         |  9 +++++----
 .../container/atomic/storage/impl/MySQLContainer.java      |  2 --
 .../container/atomic/storage/impl/PostgreSQLContainer.java |  3 ++-
 .../framework/container/compose/ComposedContainer.java     | 10 +---------
 .../container/compose/mode/ClusterComposedContainer.java   | 11 +++++------
 .../container/compose/mode/MemoryComposedContainer.java    |  6 +++---
 8 files changed, 24 insertions(+), 37 deletions(-)

diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
index c1348d8..abd50e3 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/engine/BaseITCase.java
@@ -23,10 +23,9 @@ import org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataS
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.test.integration.cases.SQLCommandType;
 import org.apache.shardingsphere.test.integration.cases.assertion.IntegrationTestCase;
+import org.apache.shardingsphere.test.integration.framework.container.atomic.storage.StorageContainer;
 import org.apache.shardingsphere.test.integration.framework.container.compose.ComposedContainer;
 import org.apache.shardingsphere.test.integration.framework.container.compose.mode.ClusterComposedContainer;
-import org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.AdapterContainer;
-import org.apache.shardingsphere.test.integration.framework.container.atomic.storage.StorageContainer;
 import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
 import org.apache.shardingsphere.test.integration.framework.runner.ShardingSphereIntegrationTestParameterized;
 import org.junit.After;
@@ -61,8 +60,6 @@ public abstract class BaseITCase {
     
     private final StorageContainer storageContainer;
     
-    private final AdapterContainer adapterContainer;
-    
     private Map<String, DataSource> dataSourceMap;
     
     private DataSource targetDataSource;
@@ -76,7 +73,6 @@ public abstract class BaseITCase {
         databaseType = parameterizedArray.getDatabaseType();
         sqlCommandType = parameterizedArray.getSqlCommandType();
         storageContainer = composedContainer.getStorageContainer();
-        adapterContainer = composedContainer.getAdapterContainer();
         integrationTestCase = parameterizedArray.getTestCaseContext().getTestCase();
     }
     
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java
index e1807db..0b05790 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/StorageContainer.java
@@ -67,7 +67,7 @@ public abstract class StorageContainer extends ShardingSphereContainer {
     /**
      * Get data source map.
      *
-     * @return database name and data source map
+     * @return data source map
      */
     @SneakyThrows({IOException.class, JAXBException.class})
     public synchronized Map<String, DataSource> getDataSourceMap() {
@@ -92,19 +92,19 @@ public abstract class StorageContainer extends ShardingSphereContainer {
         return new HikariDataSource(config);
     }
     
-    protected Optional<String> getConnectionInitSQL() {
-        return Optional.empty();
-    }
-    
     protected String getDriverClassName() {
         return DataSourceEnvironment.getDriverClassName(databaseType.getName());
     }
     
     protected abstract String getUrl(String dataSourceName);
     
-    protected abstract int getPort();
-    
     protected abstract String getUsername();
     
     protected abstract String getPassword();
+    
+    protected Optional<String> getConnectionInitSQL() {
+        return Optional.empty();
+    }
+    
+    protected abstract int getPort();
 }
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java
index f16e84e..6177332 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/H2Container.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.test.integration.framework.container.atomic.st
 
 import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.database.type.dialect.H2DatabaseType;
-import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.env.DataSourceEnvironment;
+import org.apache.shardingsphere.test.integration.env.EnvironmentPath;
 import org.apache.shardingsphere.test.integration.framework.container.atomic.storage.StorageContainer;
 import org.apache.shardingsphere.test.integration.framework.param.model.ParameterizedArray;
 import org.h2.tools.RunScript;
@@ -28,7 +28,9 @@ import org.h2.tools.RunScript;
 import javax.sql.DataSource;
 import java.io.File;
 import java.io.FileReader;
+import java.io.IOException;
 import java.sql.Connection;
+import java.sql.SQLException;
 import java.util.Map.Entry;
 import java.util.Objects;
 
@@ -42,7 +44,7 @@ public final class H2Container extends StorageContainer {
     }
     
     @Override
-    @SneakyThrows
+    @SneakyThrows({IOException.class, SQLException.class})
     protected void execute() {
         super.execute();
         File file = new File(EnvironmentPath.getInitSQLFile(getDatabaseType(), getParameterizedArray().getScenario()));
@@ -58,8 +60,7 @@ public final class H2Container extends StorageContainer {
         }
     }
     
-    @SneakyThrows
-    private void executeDatabaseFile(final Connection connection, final String databaseFileName) {
+    private void executeDatabaseFile(final Connection connection, final String databaseFileName) throws IOException, SQLException {
         File databaseFile = new File(EnvironmentPath.getInitSQLFile(getDatabaseType(), getParameterizedArray().getScenario(), databaseFileName));
         try (FileReader databaseFileReader = new FileReader(databaseFile)) {
             RunScript.execute(connection, databaseFileReader);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java
index 201d5d6..36008e1 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/MySQLContainer.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.integration.framework.container.atomic.storage.impl;
 
-import lombok.SneakyThrows;
 import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
 import org.apache.shardingsphere.test.integration.env.DataSourceEnvironment;
 import org.apache.shardingsphere.test.integration.framework.container.atomic.storage.StorageContainer;
@@ -43,7 +42,6 @@ public final class MySQLContainer extends StorageContainer {
     }
     
     @Override
-    @SneakyThrows
     protected void execute() {
     }
     
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java
index d3a2fde..e0b7c13 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/atomic/storage/impl/PostgreSQLContainer.java
@@ -26,6 +26,7 @@ import org.postgresql.util.PSQLException;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
+import java.sql.SQLException;
 
 /**
  * PostgreSQL container.
@@ -45,7 +46,7 @@ public final class PostgreSQLContainer extends StorageContainer {
     }
 
     @Override
-    @SneakyThrows
+    @SneakyThrows({ClassNotFoundException.class, SQLException.class, InterruptedException.class})
     protected void execute() {
         int time = 0;
         Class.forName(getDriverClassName());
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainer.java
index 58e6274..0a4a6ae 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/ComposedContainer.java
@@ -18,7 +18,6 @@
 package org.apache.shardingsphere.test.integration.framework.container.compose;
 
 import org.apache.shardingsphere.test.integration.framework.container.atomic.ShardingSphereContainers;
-import org.apache.shardingsphere.test.integration.framework.container.atomic.adapter.AdapterContainer;
 import org.apache.shardingsphere.test.integration.framework.container.atomic.storage.StorageContainer;
 
 import javax.sql.DataSource;
@@ -37,13 +36,6 @@ public interface ComposedContainer {
     ShardingSphereContainers getContainers();
     
     /**
-     * Get adapter container.
-     *
-     * @return adapter container
-     */
-    AdapterContainer getAdapterContainer();
-    
-    /**
      * Get storage container.
      *
      * @return storage container
@@ -51,7 +43,7 @@ public interface ComposedContainer {
     StorageContainer getStorageContainer();
     
     /**
-     * Get data sources map.
+     * Get data source map.
      *
      * @return data source map
      */
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
index fea9ee5..947fdb0 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/ClusterComposedContainer.java
@@ -44,7 +44,6 @@ public final class ClusterComposedContainer implements ComposedContainer {
     @Getter
     private final StorageContainer storageContainer;
     
-    @Getter
     private final AdapterContainer adapterContainer;
     
     private final AdapterContainer adapterContainerForReader;
@@ -53,17 +52,17 @@ public final class ClusterComposedContainer implements ComposedContainer {
     
     public ClusterComposedContainer(final String testSuiteName, final ParameterizedArray parameterizedArray) {
         containers = new ShardingSphereContainers(testSuiteName);
-        storageContainer = getContainers().registerContainer(
+        storageContainer = containers.registerContainer(
                 StorageContainerFactory.newInstance(parameterizedArray), parameterizedArray.getDatabaseType().getName().toLowerCase() + "." + parameterizedArray.getScenario() + ".host");
-        adapterContainer = getContainers().registerContainer(AdapterContainerFactory.newInstance(parameterizedArray), "adapter");
+        adapterContainer = containers.registerContainer(AdapterContainerFactory.newInstance(parameterizedArray), "adapter");
         storageContainer.setNetworkAliases(Collections.singletonList(parameterizedArray.getDatabaseType().getName().toLowerCase() + ".sharding_governance.host"));
         // TODO support other types of governance
-        zookeeperContainer = getContainers().registerContainer(new ZookeeperContainer(parameterizedArray), "zk");
+        zookeeperContainer = containers.registerContainer(new ZookeeperContainer(parameterizedArray), "zk");
         if ("proxy".equals(parameterizedArray.getAdapter())) {
-            adapterContainerForReader = getContainers().registerContainer(new ShardingSphereProxyContainer("ShardingSphere-Proxy-1", parameterizedArray), "ShardingSphere-Proxy-1");
+            adapterContainerForReader = containers.registerContainer(new ShardingSphereProxyContainer("ShardingSphere-Proxy-1", parameterizedArray), "ShardingSphere-Proxy-1");
             adapterContainerForReader.dependsOn(storageContainer, zookeeperContainer);
         } else {
-            adapterContainerForReader = getContainers().registerContainer(AdapterContainerFactory.newInstance(parameterizedArray), "adapter");
+            adapterContainerForReader = containers.registerContainer(AdapterContainerFactory.newInstance(parameterizedArray), "adapter");
             adapterContainerForReader.dependsOn(storageContainer, zookeeperContainer);
         }
         adapterContainer.dependsOn(storageContainer, zookeeperContainer);
diff --git a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java
index a27c33d..dca4fc2 100644
--- a/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java
+++ b/shardingsphere-test/shardingsphere-integration-test/shardingsphere-integration-test-suite/src/test/java/org/apache/shardingsphere/test/integration/framework/container/compose/mode/MemoryComposedContainer.java
@@ -44,14 +44,14 @@ public final class MemoryComposedContainer implements ComposedContainer {
     
     public MemoryComposedContainer(final String testSuiteName, final ParameterizedArray parameterizedArray) {
         containers = new ShardingSphereContainers(testSuiteName);
-        storageContainer = getContainers().registerContainer(
+        storageContainer = containers.registerContainer(
                 StorageContainerFactory.newInstance(parameterizedArray), parameterizedArray.getDatabaseType().getName().toLowerCase() + "." + parameterizedArray.getScenario() + ".host");
-        adapterContainer = getContainers().registerContainer(AdapterContainerFactory.newInstance(parameterizedArray), "adapter");
+        adapterContainer = containers.registerContainer(AdapterContainerFactory.newInstance(parameterizedArray), "adapter");
         adapterContainer.dependsOn(storageContainer);
     }
     
     @Override
     public Map<String, DataSource> getDataSourceMap() {
-        return Collections.singletonMap("adapterForWriter", getAdapterContainer().getDataSource(null));
+        return Collections.singletonMap("adapterForWriter", adapterContainer.getDataSource(null));
     }
 }