This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 e866ad1dd18 Rename CatalogSwitchableDataSource (#28006)
e866ad1dd18 is described below
commit e866ad1dd18bdc5b5dbaac7fc42409ad959da7c3
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Aug 10 11:28:46 2023 +0800
Rename CatalogSwitchableDataSource (#28006)
---
.../metadata/database/resource/StorageUnitMetaData.java | 4 ++--
.../DataSourceGeneratedDatabaseConfigurationTest.java | 15 +++++----------
.../DataSourceProvidedDatabaseConfigurationTest.java | 15 +++++----------
...rceWrapper.java => CatalogSwitchableDataSource.java} | 17 ++++++-----------
.../infra/datasource/storage/StorageResource.java | 4 ++--
.../xa/jta/datasource/swapper/DataSourceSwapper.java | 4 ++--
.../rql/storage/unit/ShowStorageUnitExecutor.java | 6 +++---
7 files changed, 25 insertions(+), 40 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
index 498043c5a7a..e8545113761 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/StorageUnitMetaData.java
@@ -23,7 +23,7 @@ import
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
import
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
-import
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
+import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
import
org.apache.shardingsphere.infra.datasource.props.DataSourcePropertiesCreator;
import
org.apache.shardingsphere.infra.datasource.storage.StorageUnitNodeMapper;
@@ -68,7 +68,7 @@ public final class StorageUnitMetaData {
Map<String, DataSource> result = new
LinkedHashMap<>(storageUnits.size(), 1F);
for (Entry<String, StorageUnitNodeMapper> entry :
storageUnits.entrySet()) {
DataSource dataSource =
storageNodes.get(entry.getValue().getNodeName());
- result.put(entry.getKey(), new
ShardingSphereStorageDataSourceWrapper(dataSource,
entry.getValue().getCatalog(), entry.getValue().getUrl()));
+ result.put(entry.getKey(), new
CatalogSwitchableDataSource(dataSource, entry.getValue().getCatalog()));
}
return result;
}
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
index d7f01b83e67..f97485e56e0 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceGeneratedDatabaseConfigurationTest.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.config.database.impl;
import com.zaxxer.hikari.HikariDataSource;
-import
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
+import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
import
org.apache.shardingsphere.infra.datasource.config.ConnectionConfiguration;
import
org.apache.shardingsphere.infra.datasource.config.DataSourceConfiguration;
import org.apache.shardingsphere.infra.datasource.config.PoolConfiguration;
@@ -34,7 +34,6 @@ import java.util.Properties;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
class DataSourceGeneratedDatabaseConfigurationTest {
@@ -43,10 +42,8 @@ class DataSourceGeneratedDatabaseConfigurationTest {
void assertGetDataSources() {
DataSourceGeneratedDatabaseConfiguration databaseConfig =
createDataSourceGeneratedDatabaseConfiguration();
DataSource dataSource =
databaseConfig.getDataSources().get("normal_db");
- assertTrue(dataSource instanceof
ShardingSphereStorageDataSourceWrapper);
- ShardingSphereStorageDataSourceWrapper wrapper =
(ShardingSphereStorageDataSourceWrapper) dataSource;
- assertTrue(wrapper.getDataSource() instanceof HikariDataSource);
- assertNull(wrapper.getCatalog());
+ assertTrue(dataSource instanceof CatalogSwitchableDataSource);
+ assertTrue(((CatalogSwitchableDataSource) dataSource).getDataSource()
instanceof HikariDataSource);
}
@Test
@@ -62,10 +59,8 @@ class DataSourceGeneratedDatabaseConfigurationTest {
void assertGetStorageUnits() {
DataSourceGeneratedDatabaseConfiguration databaseConfig =
createDataSourceGeneratedDatabaseConfiguration();
DataSource dataSource =
databaseConfig.getDataSources().get("normal_db");
- assertTrue(dataSource instanceof
ShardingSphereStorageDataSourceWrapper);
- ShardingSphereStorageDataSourceWrapper wrapper =
(ShardingSphereStorageDataSourceWrapper) dataSource;
- assertTrue(wrapper.getDataSource() instanceof HikariDataSource);
- assertNull(wrapper.getCatalog());
+ assertTrue(dataSource instanceof CatalogSwitchableDataSource);
+ assertTrue(((CatalogSwitchableDataSource) dataSource).getDataSource()
instanceof HikariDataSource);
}
@Test
diff --git
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
index 55f80a2a7db..4c41a0a45ba 100644
---
a/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
+++
b/infra/common/src/test/java/org/apache/shardingsphere/infra/config/database/impl/DataSourceProvidedDatabaseConfigurationTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.infra.config.database.impl;
-import
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
+import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
import org.apache.shardingsphere.infra.fixture.FixtureRuleConfiguration;
import org.apache.shardingsphere.test.fixture.jdbc.MockedDataSource;
@@ -29,7 +29,6 @@ import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
class DataSourceProvidedDatabaseConfigurationTest {
@@ -38,10 +37,8 @@ class DataSourceProvidedDatabaseConfigurationTest {
void assertGetDataSources() {
DataSourceProvidedDatabaseConfiguration databaseConfig =
createDataSourceProvidedDatabaseConfiguration();
DataSource dataSource = databaseConfig.getDataSources().get("foo_ds");
- assertTrue(dataSource instanceof
ShardingSphereStorageDataSourceWrapper);
- ShardingSphereStorageDataSourceWrapper wrapper =
(ShardingSphereStorageDataSourceWrapper) dataSource;
- assertTrue(wrapper.getDataSource() instanceof MockedDataSource);
- assertNull(wrapper.getCatalog());
+ assertTrue(dataSource instanceof CatalogSwitchableDataSource);
+ assertTrue(((CatalogSwitchableDataSource) dataSource).getDataSource()
instanceof MockedDataSource);
}
@Test
@@ -57,10 +54,8 @@ class DataSourceProvidedDatabaseConfigurationTest {
void assertGetStorageUnits() {
DataSourceProvidedDatabaseConfiguration databaseConfig =
createDataSourceProvidedDatabaseConfiguration();
DataSource dataSource = databaseConfig.getDataSources().get("foo_ds");
- assertTrue(dataSource instanceof
ShardingSphereStorageDataSourceWrapper);
- ShardingSphereStorageDataSourceWrapper wrapper =
(ShardingSphereStorageDataSourceWrapper) dataSource;
- assertTrue(wrapper.getDataSource() instanceof MockedDataSource);
- assertNull(wrapper.getCatalog());
+ assertTrue(dataSource instanceof CatalogSwitchableDataSource);
+ assertTrue(((CatalogSwitchableDataSource) dataSource).getDataSource()
instanceof MockedDataSource);
}
@Test
diff --git
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/ShardingSphereStorageDataSourceWrapper.java
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/CatalogSwitchableDataSource.java
similarity index 87%
rename from
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/ShardingSphereStorageDataSourceWrapper.java
rename to
infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/CatalogSwitchableDataSource.java
index 6afe40b89fa..2b21307ad8d 100644
---
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/ShardingSphereStorageDataSourceWrapper.java
+++
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/CatalogSwitchableDataSource.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.infra.datasource;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
-import lombok.SneakyThrows;
import javax.sql.DataSource;
import java.io.PrintWriter;
@@ -29,18 +28,16 @@ import java.sql.SQLFeatureNotSupportedException;
import java.util.logging.Logger;
/**
- * ShardingSphere storage data source wrapper.
+ * Catalog switchable data source.
*/
@RequiredArgsConstructor
-@Getter
-public final class ShardingSphereStorageDataSourceWrapper implements
DataSource, AutoCloseable {
+public final class CatalogSwitchableDataSource implements DataSource,
AutoCloseable {
+ @Getter
private final DataSource dataSource;
private final String catalog;
- private final String url;
-
@Override
public Connection getConnection() throws SQLException {
Connection result = dataSource.getConnection();
@@ -90,12 +87,10 @@ public final class ShardingSphereStorageDataSourceWrapper
implements DataSource,
return dataSource.isWrapperFor(iface);
}
- @SneakyThrows
@Override
- public void close() {
- if (!(dataSource instanceof AutoCloseable)) {
- return;
+ public void close() throws Exception {
+ if (dataSource instanceof AutoCloseable) {
+ ((AutoCloseable) dataSource).close();
}
- ((AutoCloseable) dataSource).close();
}
}
diff --git
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResource.java
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResource.java
index d50d4328aed..a4ba58bbbf9 100644
---
a/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResource.java
+++
b/infra/datasource/core/src/main/java/org/apache/shardingsphere/infra/datasource/storage/StorageResource.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.datasource.storage;
import lombok.Getter;
-import
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
+import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
import javax.sql.DataSource;
import java.util.LinkedHashMap;
@@ -48,7 +48,7 @@ public class StorageResource {
for (Entry<String, StorageUnitNodeMapper> entry :
storageUnitNodeMappers.entrySet()) {
DataSource dataSource =
storageNodes.get(entry.getValue().getNodeName());
if (null != dataSource) {
- result.put(entry.getKey(), new
ShardingSphereStorageDataSourceWrapper(dataSource,
entry.getValue().getCatalog(), entry.getValue().getUrl()));
+ result.put(entry.getKey(), new
CatalogSwitchableDataSource(dataSource, entry.getValue().getCatalog()));
}
}
return result;
diff --git
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
index c161758000a..850903aeeac 100644
---
a/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
+++
b/kernel/transaction/type/xa/core/src/main/java/org/apache/shardingsphere/transaction/xa/jta/datasource/swapper/DataSourceSwapper.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.transaction.xa.jta.datasource.swapper;
import com.google.common.base.CaseFormat;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
-import
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
+import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
import
org.apache.shardingsphere.infra.datasource.props.DataSourcePropertiesCreator;
import
org.apache.shardingsphere.transaction.xa.jta.datasource.properties.XADataSourceDefinition;
import
org.apache.shardingsphere.transaction.xa.jta.exception.XADataSourceInitializeException;
@@ -52,7 +52,7 @@ public final class DataSourceSwapper {
*/
public XADataSource swap(final DataSource dataSource) {
XADataSource result = createXADataSource();
- DataSource readDataSource = dataSource instanceof
ShardingSphereStorageDataSourceWrapper ?
(ShardingSphereStorageDataSourceWrapper) dataSource : dataSource;
+ DataSource readDataSource = dataSource instanceof
CatalogSwitchableDataSource ? (CatalogSwitchableDataSource) dataSource :
dataSource;
setProperties(result, getDatabaseAccessConfiguration(readDataSource));
return result;
}
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
index e38d2844fee..cd26bcfa3fa 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/storage/unit/ShowStorageUnitExecutor.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropert
import
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
-import
org.apache.shardingsphere.infra.datasource.ShardingSphereStorageDataSourceWrapper;
+import org.apache.shardingsphere.infra.datasource.CatalogSwitchableDataSource;
import org.apache.shardingsphere.infra.datasource.props.DataSourceProperties;
import
org.apache.shardingsphere.infra.datasource.props.DataSourcePropertiesCreator;
import
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
@@ -128,8 +128,8 @@ public final class ShowStorageUnitExecutor implements
RQLExecutor<ShowStorageUni
}
private DataSourceProperties getDataSourceProperties(final DataSource
dataSource) {
- return dataSource instanceof ShardingSphereStorageDataSourceWrapper
- ?
DataSourcePropertiesCreator.create(((ShardingSphereStorageDataSourceWrapper)
dataSource).getDataSource())
+ return dataSource instanceof CatalogSwitchableDataSource
+ ?
DataSourcePropertiesCreator.create(((CatalogSwitchableDataSource)
dataSource).getDataSource())
: DataSourcePropertiesCreator.create(dataSource);
}