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

chengzhang 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 64bc24f0db0 Use ConnectionPropertiesParser spi to parse jdbcUrl to 
solve oracle url parse error (#31746)
64bc24f0db0 is described below

commit 64bc24f0db07725842710d7d897eb0cd412a846d
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Tue Jun 18 18:49:31 2024 +0800

    Use ConnectionPropertiesParser spi to parse jdbcUrl to solve oracle url 
parse error (#31746)
    
    * Use ConnectionPropertiesParser spi to parse jdbcUrl to solve oracle url 
parse error
    
    * fix unit test
    
    * fix unit test
    
    * fix unit test
    
    * fix unit test
    
    * fix unit test
    
    * fix unit test
    
    * remove useless warn log
    
    * fix unit test
---
 .../shardingsphere/broadcast/route/BroadcastSqlRouterTest.java   | 5 +++--
 .../metadata/database/resource/node/StorageNodeAggregator.java   | 9 +++++----
 .../infra/metadata/database/resource/unit/StorageUnit.java       | 6 +++---
 .../database/resource/unit/StorageUnitNodeMapCreator.java        | 9 +++++----
 .../infra/metadata/ShardingSphereMetaDataTest.java               | 3 ++-
 .../executor/rdl/resource/UnregisterStorageUnitExecutorTest.java | 3 ++-
 .../apache/shardingsphere/single/route/SingleSQLRouterTest.java  | 5 +++--
 .../shardingsphere/transaction/rule/TransactionRuleTest.java     | 9 +++++----
 .../apache/shardingsphere/mode/manager/ContextManagerTest.java   | 3 ++-
 .../distsql/ral/updatable/ImportMetaDataExecutorTest.java        | 5 +++--
 .../proxy/version/ShardingSphereProxyVersionTest.java            | 3 ++-
 .../test/fixture/connector/MockedConnectionPropertiesParser.java | 3 ++-
 .../test/it/optimizer/converter/SQLNodeConverterEngineIT.java    | 5 +----
 13 files changed, 38 insertions(+), 30 deletions(-)

diff --git 
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastSqlRouterTest.java
 
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastSqlRouterTest.java
index 1101acdd536..ca012094265 100644
--- 
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastSqlRouterTest.java
+++ 
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/route/BroadcastSqlRouterTest.java
@@ -18,6 +18,7 @@
 package org.apache.shardingsphere.broadcast.route;
 
 import com.google.common.collect.Lists;
+import org.apache.groovy.util.Maps;
 import 
org.apache.shardingsphere.broadcast.api.config.BroadcastRuleConfiguration;
 import org.apache.shardingsphere.broadcast.rule.BroadcastRule;
 import 
org.apache.shardingsphere.infra.binder.context.statement.ddl.CreateTableStatementContext;
@@ -151,10 +152,10 @@ class BroadcastSqlRouterTest {
     private ShardingSphereDatabase mockDatabaseWithMultipleResources() {
         Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
         DataSourcePoolProperties dataSourcePoolProps0 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_0"));
+        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_0", "username", "test"));
         storageUnits.put("ds_0", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps0, new MockedDataSource()));
         DataSourcePoolProperties dataSourcePoolProps1 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_1"));
+        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_1", "username", "test"));
         storageUnits.put("ds_1", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps1, new MockedDataSource()));
         ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
         
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
index 375263ee7d7..f78868830b7 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/node/StorageNodeAggregator.java
@@ -19,9 +19,10 @@ package 
org.apache.shardingsphere.infra.metadata.database.resource.node;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.infra.database.core.connector.url.JdbcUrl;
-import 
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcUrlParser;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.exception.UnrecognizedDatabaseURLException;
+import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
@@ -69,8 +70,8 @@ public final class StorageNodeAggregator {
     
     private static StorageNode getStorageNode(final String dataSourceName, 
final String url, final String username, final boolean 
isInstanceConnectionAvailable) {
         try {
-            JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
-            return isInstanceConnectionAvailable ? new 
StorageNode(jdbcUrl.getHostname(), jdbcUrl.getPort(), username) : new 
StorageNode(dataSourceName);
+            ConnectionProperties connectionProps = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
DatabaseTypeFactory.get(url)).parse(url, username, null);
+            return isInstanceConnectionAvailable ? new 
StorageNode(connectionProps.getHostname(), connectionProps.getPort(), username) 
: new StorageNode(dataSourceName);
         } catch (final UnrecognizedDatabaseURLException ex) {
             return new StorageNode(dataSourceName);
         }
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
index 8f488667a64..2850c4616ef 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnit.java
@@ -20,7 +20,6 @@ package 
org.apache.shardingsphere.infra.metadata.database.resource.unit;
 import lombok.Getter;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
-import 
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcUrlParser;
 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.type.DatabaseTypeFactory;
@@ -54,9 +53,10 @@ public final class StorageUnit {
         this.storageNode = storageNode;
         Map<String, Object> standardProps = 
dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties();
         String url = standardProps.get("url").toString();
+        String username = standardProps.get("username").toString();
         storageType = DatabaseTypeFactory.get(url);
-        boolean isInstanceConnectionAvailable = new 
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
-        catalog = isInstanceConnectionAvailable ? new 
StandardJdbcUrlParser().parse(url).getDatabase() : null;
+        boolean isInstanceConnectionAvailable = new 
DatabaseTypeRegistry(storageType).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
+        catalog = isInstanceConnectionAvailable ? 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
storageType).parse(url, username, null).getCatalog() : null;
         this.dataSource = isInstanceConnectionAvailable ? new 
CatalogSwitchableDataSource(dataSource, catalog, url) : dataSource;
         dataSourcePoolProperties = dataSourcePoolProps;
         connectionProperties = createConnectionProperties(standardProps);
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapCreator.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapCreator.java
index 493674467d9..2fbab552e9d 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapCreator.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/resource/unit/StorageUnitNodeMapCreator.java
@@ -19,9 +19,10 @@ package 
org.apache.shardingsphere.infra.metadata.database.resource.unit;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.infra.database.core.connector.url.JdbcUrl;
-import 
org.apache.shardingsphere.infra.database.core.connector.url.StandardJdbcUrlParser;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
+import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.exception.UnrecognizedDatabaseURLException;
+import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
@@ -56,8 +57,8 @@ public final class StorageUnitNodeMapCreator {
     private static StorageNode create(final String storageUnitName, final 
String url, final String username) {
         boolean isInstanceConnectionAvailable = new 
DatabaseTypeRegistry(DatabaseTypeFactory.get(url)).getDialectDatabaseMetaData().isInstanceConnectionAvailable();
         try {
-            JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
-            return isInstanceConnectionAvailable ? new 
StorageNode(jdbcUrl.getHostname(), jdbcUrl.getPort(), username) : new 
StorageNode(storageUnitName);
+            ConnectionProperties connectionProps = 
DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, 
DatabaseTypeFactory.get(url)).parse(url, username, null);
+            return isInstanceConnectionAvailable ? new 
StorageNode(connectionProps.getHostname(), connectionProps.getPort(), username) 
: new StorageNode(storageUnitName);
         } catch (final UnrecognizedDatabaseURLException ex) {
             return new StorageNode(storageUnitName);
         }
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
index 04add774472..d7861a2392d 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.infra.metadata;
 
+import org.apache.groovy.util.Maps;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
@@ -113,7 +114,7 @@ class ShardingSphereMetaDataTest {
         when(result.getName()).thenReturn("foo_db");
         when(result.getResourceMetaData()).thenReturn(resourceMetaData);
         DataSourcePoolProperties dataSourcePoolProps = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/foo_ds"));
+        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/foo_ds", "username", "test"));
         StorageUnit storageUnit = new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps, dataSource);
         
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_db",
 storageUnit));
         when(result.getRuleMetaData()).thenReturn(new 
RuleMetaData(Collections.singleton(rule)));
diff --git 
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
 
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
index 0ef4f195647..f27ff0d0b2a 100644
--- 
a/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
+++ 
b/infra/distsql-handler/src/test/java/org/apache/shardingsphere/distsql/handler/executor/rdl/resource/UnregisterStorageUnitExecutorTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.distsql.handler.executor.rdl.resource;
 
+import org.apache.groovy.util.Maps;
 import 
org.apache.shardingsphere.distsql.handler.fixture.DistSQLHandlerFixtureRule;
 import 
org.apache.shardingsphere.distsql.statement.rdl.resource.unit.type.UnregisterStorageUnitStatement;
 import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
@@ -77,7 +78,7 @@ class UnregisterStorageUnitExecutorTest {
     private static StorageUnit createStorageUnit() {
         DataSourcePoolProperties dataSourcePoolProps = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
         
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.emptyMap());
-        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/foo_db"));
+        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/foo_db", "username", "test"));
         return new StorageUnit(mock(StorageNode.class), dataSourcePoolProps, 
new MockedDataSource());
     }
     
diff --git 
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
 
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
index 7edf80eba3f..65ccd979e61 100644
--- 
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
+++ 
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/route/SingleSQLRouterTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.single.route;
 
+import org.apache.groovy.util.Maps;
 import 
org.apache.shardingsphere.infra.binder.context.statement.ddl.CreateTableStatementContext;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.core.DefaultDatabase;
@@ -152,10 +153,10 @@ class SingleSQLRouterTest {
     private ShardingSphereDatabase mockDatabaseWithMultipleResources() {
         Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
         DataSourcePoolProperties dataSourcePoolProps0 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_0"));
+        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_0", "username", "test"));
         storageUnits.put("ds_0", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps0, new MockedDataSource()));
         DataSourcePoolProperties dataSourcePoolProps1 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_1"));
+        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_1", "username", "test"));
         storageUnits.put("ds_1", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps1, new MockedDataSource()));
         ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
         
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
diff --git 
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
 
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
index a606ef9cbd3..6b381345e0b 100644
--- 
a/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
+++ 
b/kernel/transaction/core/src/test/java/org/apache/shardingsphere/transaction/rule/TransactionRuleTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.transaction.rule;
 
+import org.apache.groovy.util.Maps;
 import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
@@ -78,10 +79,10 @@ class TransactionRuleTest {
     private ResourceMetaData createResourceMetaData() {
         Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
         DataSourcePoolProperties dataSourcePoolProps0 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_0"));
+        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_0", "username", "test"));
         storageUnits.put("ds_0", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps0, new MockedDataSource()));
         DataSourcePoolProperties dataSourcePoolProps1 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_1"));
+        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_1", "username", "test"));
         storageUnits.put("ds_1", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps1, new MockedDataSource()));
         ResourceMetaData result = mock(ResourceMetaData.class, 
RETURNS_DEEP_STUBS);
         when(result.getStorageUnits()).thenReturn(storageUnits);
@@ -99,10 +100,10 @@ class TransactionRuleTest {
     private ResourceMetaData createAddResourceMetaData() {
         Map<String, StorageUnit> storageUnits = new HashMap<>(2, 1F);
         DataSourcePoolProperties dataSourcePoolProps0 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_0"));
+        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_0", "username", "test"));
         storageUnits.put("ds_0", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps0, new MockedDataSource()));
         DataSourcePoolProperties dataSourcePoolProps1 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_1"));
+        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_1", "username", "test"));
         storageUnits.put("ds_1", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps1, new MockedDataSource()));
         ResourceMetaData result = mock(ResourceMetaData.class, 
RETURNS_DEEP_STUBS);
         when(result.getStorageUnits()).thenReturn(storageUnits);
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
index d689b9de3bb..cb4e3ba07ea 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/manager/ContextManagerTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.mode.manager;
 
+import org.apache.groovy.util.Maps;
 import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
@@ -106,7 +107,7 @@ class ContextManagerTest {
         
when(storageUnit.getStorageType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
 "FIXTURE"));
         
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
 storageUnit));
         DataSourcePoolProperties dataSourcePoolProps = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/foo_db"));
+        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/foo_db", "username", "test"));
         Map<String, StorageUnit> storageUnits = 
Collections.singletonMap("foo_ds", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps, new MockedDataSource()));
         
when(result.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits);
         return result;
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
index 2d1218cd81e..290b0e5b184 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutorTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.handler.distsql.ral.updatable;
 
+import org.apache.groovy.util.Maps;
 import 
org.apache.shardingsphere.distsql.statement.ral.updatable.ImportMetaDataStatement;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
@@ -126,10 +127,10 @@ class ImportMetaDataExecutorTest {
     private Map<String, StorageUnit> createStorageUnits() {
         Map<String, StorageUnit> result = new LinkedHashMap<>(2, 1F);
         DataSourcePoolProperties dataSourcePoolProps0 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_0"));
+        
when(dataSourcePoolProps0.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_0", "username", "test"));
         result.put("ds_0", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps0, new MockedDataSource()));
         DataSourcePoolProperties dataSourcePoolProps1 = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/ds_1"));
+        
when(dataSourcePoolProps1.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/ds_1", "username", "test"));
         result.put("ds_1", new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps1, new MockedDataSource()));
         return result;
     }
diff --git 
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
 
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
index 1c798d2f59a..f2c030c4a34 100644
--- 
a/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
+++ 
b/proxy/bootstrap/src/test/java/org/apache/shardingsphere/proxy/version/ShardingSphereProxyVersionTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.proxy.version;
 
+import org.apache.groovy.util.Maps;
 import 
org.apache.shardingsphere.db.protocol.constant.DatabaseProtocolServerInfo;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
@@ -84,7 +85,7 @@ class ShardingSphereProxyVersionTest {
         ResourceMetaData result = mock(ResourceMetaData.class, 
RETURNS_DEEP_STUBS);
         DataSource dataSource = createDataSource(databaseProductName, 
databaseProductVersion);
         DataSourcePoolProperties dataSourcePoolProps = 
mock(DataSourcePoolProperties.class, RETURNS_DEEP_STUBS);
-        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Collections.singletonMap("url",
 "jdbc:mock://127.0.0.1/foo_db"));
+        
when(dataSourcePoolProps.getConnectionPropertySynonyms().getStandardProperties()).thenReturn(Maps.of("url",
 "jdbc:mock://127.0.0.1/foo_db", "username", "test"));
         StorageUnit storageUnit = new StorageUnit(mock(StorageNode.class), 
dataSourcePoolProps, dataSource);
         
when(result.getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds", 
storageUnit));
         return result;
diff --git 
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
 
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
index 3f75504dbb4..2c775d2f70b 100644
--- 
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
+++ 
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/connector/MockedConnectionPropertiesParser.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.test.fixture.connector;
 
+import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
 import 
org.apache.shardingsphere.infra.database.core.connector.StandardConnectionProperties;
@@ -31,7 +32,7 @@ public final class MockedConnectionPropertiesParser 
implements ConnectionPropert
     @Override
     public ConnectionProperties parse(final String url, final String username, 
final String catalog) {
         JdbcUrl jdbcUrl = new StandardJdbcUrlParser().parse(url);
-        return new StandardConnectionProperties(jdbcUrl.getHostname(), 
jdbcUrl.getPort(), catalog, jdbcUrl.getDatabase());
+        return new StandardConnectionProperties(jdbcUrl.getHostname(), 
jdbcUrl.getPort(), Strings.isNullOrEmpty(catalog) ? jdbcUrl.getDatabase() : 
catalog, jdbcUrl.getDatabase());
     }
     
     @Override
diff --git 
a/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java
 
b/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java
index ade618215bd..436beb505d3 100644
--- 
a/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java
+++ 
b/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java
@@ -17,7 +17,6 @@
 
 package org.apache.shardingsphere.test.it.optimizer.converter;
 
-import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.sql.parser.api.CacheOption;
 import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
 import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
@@ -47,7 +46,6 @@ import java.util.stream.Stream;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 
-@Slf4j
 class SQLNodeConverterEngineIT {
     
     private static final SQLCases SQL_CASES = 
SQLCasesRegistry.getInstance().getCases();
@@ -74,8 +72,7 @@ class SQLNodeConverterEngineIT {
         String expected;
         try {
             expected = SQL_NODE_CONVERTER_TEST_CASES.get(sqlCaseId, 
sqlCaseType, databaseType).getExpectedSQL();
-        } catch (final IllegalStateException ex) {
-            log.warn(ex.getMessage());
+        } catch (final IllegalStateException ignore) {
             return;
         }
         String sql = SQL_CASES.getSQL(sqlCaseId, sqlCaseType, 
SQL_PARSER_TEST_CASES.get(sqlCaseId).getParameters());

Reply via email to