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));
}
}