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

Reply via email to