This is an automated email from the ASF dual-hosted git repository. zhangliang 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 ffef35d631d Merge ConnectionProperties and StandardConnectionProperties (#36398) ffef35d631d is described below commit ffef35d631d86ea6df262d0e6206dab82667eab7 Author: Liang Zhang <zhangli...@apache.org> AuthorDate: Sun Aug 24 00:45:18 2025 +0800 Merge ConnectionProperties and StandardConnectionProperties (#36398) --- .../core/jdbcurl/parser/ConnectionProperties.java | 53 ++++++------------ .../parser/StandardConnectionProperties.java | 47 ---------------- .../jdbcurl/judger/DatabaseInstanceJudgerTest.java | 14 ++--- .../ClickHouseConnectionPropertiesParser.java | 5 +- .../FirebirdConnectionPropertiesParser.java | 3 +- .../h2/jdbcurl/H2ConnectionProperties.java | 55 ------------------ .../h2/jdbcurl/H2ConnectionPropertiesParser.java | 5 +- .../h2/jdbcurl/H2DatabaseInstanceJudger.java | 9 +-- .../h2/jdbcurl/H2ConnectionPropertiesTest.java | 65 ---------------------- .../jdbcurl/HiveConnectionPropertiesParser.java | 3 +- .../jdbcurl/MySQLConnectionPropertiesParser.java | 3 +- .../OpenGaussConnectionPropertiesParser.java | 5 +- .../jdbcurl/OracleConnectionPropertiesParser.java | 9 ++- .../PostgreSQLConnectionPropertiesParser.java | 5 +- .../jdbcurl/PrestoConnectionPropertiesParser.java | 5 +- .../jdbcurl/SQL92ConnectionPropertiesParser.java | 3 +- .../SQLServerConnectionPropertiesParser.java | 3 +- .../MockedConnectionPropertiesParser.java | 5 +- 18 files changed, 48 insertions(+), 249 deletions(-) diff --git a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/jdbcurl/parser/ConnectionProperties.java b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/jdbcurl/parser/ConnectionProperties.java index 0b71ab1965d..69c66338eec 100644 --- a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/jdbcurl/parser/ConnectionProperties.java +++ b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/jdbcurl/parser/ConnectionProperties.java @@ -17,52 +17,31 @@ package org.apache.shardingsphere.database.connector.core.jdbcurl.parser; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + import java.util.Properties; /** * Connection properties. */ -public interface ConnectionProperties { +@RequiredArgsConstructor +@Getter +public final class ConnectionProperties { + + private final String hostname; - /** - * Get host name. - * - * @return host name - */ - String getHostname(); + private final int port; - /** - * Get port. - * - * @return port - */ - int getPort(); + private final String catalog; - /** - * Get catalog. - * - * @return catalog - */ - String getCatalog(); + private final String schema; - /** - * Get schema. - * - * @return schema - */ - String getSchema(); + private final Properties queryProperties; - /** - * Get query properties. - * - * @return query properties - */ - Properties getQueryProperties(); + private final Properties defaultQueryProperties; - /** - * Get default query properties. - * - * @return default query properties - */ - Properties getDefaultQueryProperties(); + public ConnectionProperties(final String hostname, final int port, final String catalog, final String schema) { + this(hostname, port, catalog, schema, new Properties(), new Properties()); + } } diff --git a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/jdbcurl/parser/StandardConnectionProperties.java b/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/jdbcurl/parser/StandardConnectionProperties.java deleted file mode 100644 index 94d92d08952..00000000000 --- a/database/connector/core/src/main/java/org/apache/shardingsphere/database/connector/core/jdbcurl/parser/StandardConnectionProperties.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.database.connector.core.jdbcurl.parser; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -import java.util.Properties; - -/** - * Standard connection properties. - */ -@RequiredArgsConstructor -@Getter -public final class StandardConnectionProperties implements ConnectionProperties { - - private final String hostname; - - private final int port; - - private final String catalog; - - private final String schema; - - private final Properties queryProperties; - - private final Properties defaultQueryProperties; - - public StandardConnectionProperties(final String hostname, final int port, final String catalog, final String schema) { - this(hostname, port, catalog, schema, new Properties(), new Properties()); - } -} diff --git a/database/connector/core/src/test/java/org/apache/shardingsphere/database/connector/core/jdbcurl/judger/DatabaseInstanceJudgerTest.java b/database/connector/core/src/test/java/org/apache/shardingsphere/database/connector/core/jdbcurl/judger/DatabaseInstanceJudgerTest.java index 808958dd6d8..9581f2c7458 100644 --- a/database/connector/core/src/test/java/org/apache/shardingsphere/database/connector/core/jdbcurl/judger/DatabaseInstanceJudgerTest.java +++ b/database/connector/core/src/test/java/org/apache/shardingsphere/database/connector/core/jdbcurl/judger/DatabaseInstanceJudgerTest.java @@ -17,7 +17,7 @@ package org.apache.shardingsphere.database.connector.core.jdbcurl.judger; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; +import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -27,22 +27,22 @@ class DatabaseInstanceJudgerTest { @Test void assertIsInSameDatabaseInstance() { - StandardConnectionProperties connectionProps1 = new StandardConnectionProperties("127.0.0.1", 9999, "foo", "foo"); - StandardConnectionProperties connectionProps2 = new StandardConnectionProperties("127.0.0.1", 9999, "bar", "bar"); + ConnectionProperties connectionProps1 = new ConnectionProperties("127.0.0.1", 9999, "foo", "foo"); + ConnectionProperties connectionProps2 = new ConnectionProperties("127.0.0.1", 9999, "bar", "bar"); assertTrue(DatabaseInstanceJudger.isInSameDatabaseInstance(connectionProps1, connectionProps2)); } @Test void assertIsNotInSameDatabaseInstanceWithDifferentHostname() { - StandardConnectionProperties connectionProps1 = new StandardConnectionProperties("127.0.0.1", 9999, "foo", "foo"); - StandardConnectionProperties connectionProps2 = new StandardConnectionProperties("127.0.0.2", 9999, "foo", "foo"); + ConnectionProperties connectionProps1 = new ConnectionProperties("127.0.0.1", 9999, "foo", "foo"); + ConnectionProperties connectionProps2 = new ConnectionProperties("127.0.0.2", 9999, "foo", "foo"); assertFalse(DatabaseInstanceJudger.isInSameDatabaseInstance(connectionProps1, connectionProps2)); } @Test void assertIsNotInSameDatabaseInstanceWithDifferentPort() { - StandardConnectionProperties connectionProps1 = new StandardConnectionProperties("127.0.0.1", 9999, "foo", "foo"); - StandardConnectionProperties connectionProps2 = new StandardConnectionProperties("127.0.0.1", 8888, "foo", "foo"); + ConnectionProperties connectionProps1 = new ConnectionProperties("127.0.0.1", 9999, "foo", "foo"); + ConnectionProperties connectionProps2 = new ConnectionProperties("127.0.0.1", 8888, "foo", "foo"); assertFalse(DatabaseInstanceJudger.isInSameDatabaseInstance(connectionProps1, connectionProps2)); } } diff --git a/database/connector/dialect/clickhouse/src/main/java/org/apache/shardingsphere/database/connector/clickhouse/jdbcurl/ClickHouseConnectionPropertiesParser.java b/database/connector/dialect/clickhouse/src/main/java/org/apache/shardingsphere/database/connector/clickhouse/jdbcurl/ClickHouseConnectionPropertiesParser.java index c965d69b7c9..2c71901557f 100644 --- a/database/connector/dialect/clickhouse/src/main/java/org/apache/shardingsphere/database/connector/clickhouse/jdbcurl/ClickHouseConnectionPropertiesParser.java +++ b/database/connector/dialect/clickhouse/src/main/java/org/apache/shardingsphere/database/connector/clickhouse/jdbcurl/ClickHouseConnectionPropertiesParser.java @@ -19,7 +19,6 @@ package org.apache.shardingsphere.database.connector.clickhouse.jdbcurl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrlParser; @@ -35,8 +34,8 @@ public final class ClickHouseConnectionPropertiesParser implements ConnectionPro @Override public ConnectionProperties parse(final String url, final String username, final String catalog) { StandardJdbcUrl standardJdbcUrl = new StandardJdbcUrlParser().parse(url); - return new StandardConnectionProperties(standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), - new Properties()); + return new ConnectionProperties( + standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), new Properties()); } @Override diff --git a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java index 7d065d8bbbd..93330aaa600 100644 --- a/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java +++ b/database/connector/dialect/firebird/src/main/java/org/apache/shardingsphere/database/connector/firebird/jdbcurl/FirebirdConnectionPropertiesParser.java @@ -20,7 +20,6 @@ package org.apache.shardingsphere.database.connector.firebird.jdbcurl; import lombok.SneakyThrows; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.firebirdsql.gds.impl.DbAttachInfo; import org.firebirdsql.gds.impl.GDSFactory; import org.firebirdsql.gds.impl.GDSType; @@ -43,7 +42,7 @@ public final class FirebirdConnectionPropertiesParser implements ConnectionPrope String databaseName = attachObjectName.contains("?") ? attachObjectName.split("\\?")[0] : attachObjectName; Properties queryProps = new Properties(); queryProps.putAll(FBDriver.normalizeProperties(url, new Properties())); - return new StandardConnectionProperties(dbAttachInfo.getServerName(), dbAttachInfo.getPortNumber(), databaseName, null, queryProps, new Properties()); + return new ConnectionProperties(dbAttachInfo.getServerName(), dbAttachInfo.getPortNumber(), databaseName, null, queryProps, new Properties()); } @Override diff --git a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionProperties.java b/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionProperties.java deleted file mode 100644 index d9c01aaf402..00000000000 --- a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionProperties.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.database.connector.h2.jdbcurl; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; - -import java.util.Properties; - -/** - * Connection properties for H2. - */ -@RequiredArgsConstructor -@Getter -public final class H2ConnectionProperties implements ConnectionProperties { - - private final String hostname; - - private final int port; - - private final String catalog; - - private final String model; - - @Override - public String getSchema() { - return null; - } - - @Override - public Properties getQueryProperties() { - return new Properties(); - } - - @Override - public Properties getDefaultQueryProperties() { - return new Properties(); - } -} diff --git a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionPropertiesParser.java b/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionPropertiesParser.java index 0e2db760a8d..609ee9e83df 100644 --- a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionPropertiesParser.java +++ b/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionPropertiesParser.java @@ -22,7 +22,10 @@ import org.apache.shardingsphere.database.connector.core.exception.UnrecognizedD import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions; +import org.apache.shardingsphere.infra.util.props.PropertiesBuilder; +import org.apache.shardingsphere.infra.util.props.PropertiesBuilder.Property; +import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -43,7 +46,7 @@ public final class H2ConnectionPropertiesParser implements ConnectionPropertiesP public ConnectionProperties parse(final String url, final String username, final String catalog) { Matcher matcher = URL_PATTERN.matcher(url); ShardingSpherePreconditions.checkState(matcher.find(), () -> new UnrecognizedDatabaseURLException(url, URL_PATTERN.pattern())); - return new H2ConnectionProperties(getHostname(matcher), getPort(matcher), getCatalog(matcher), getModel(matcher)); + return new ConnectionProperties(getHostname(matcher), getPort(matcher), getCatalog(matcher), null, PropertiesBuilder.build(new Property("model", getModel(matcher))), new Properties()); } private String getHostname(final Matcher matcher) { diff --git a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2DatabaseInstanceJudger.java b/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2DatabaseInstanceJudger.java index 5fa050c96e4..8f81d2ee0cd 100644 --- a/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2DatabaseInstanceJudger.java +++ b/database/connector/dialect/h2/src/main/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2DatabaseInstanceJudger.java @@ -34,13 +34,8 @@ public final class H2DatabaseInstanceJudger implements DialectDatabaseInstanceJu @Override public boolean isInSameDatabaseInstance(final ConnectionProperties connectionProps1, final ConnectionProperties connectionProps2) { - if (!(connectionProps2 instanceof H2ConnectionProperties)) { - return false; - } - if (!isSameModel(((H2ConnectionProperties) connectionProps1).getModel(), ((H2ConnectionProperties) connectionProps2).getModel())) { - return false; - } - return DatabaseInstanceJudger.isInSameDatabaseInstance(connectionProps1, connectionProps2); + return isSameModel(connectionProps1.getQueryProperties().getProperty("model"), connectionProps2.getQueryProperties().getProperty("model")) + && DatabaseInstanceJudger.isInSameDatabaseInstance(connectionProps1, connectionProps2); } private boolean isSameModel(final String model1, final String model2) { diff --git a/database/connector/dialect/h2/src/test/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionPropertiesTest.java b/database/connector/dialect/h2/src/test/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionPropertiesTest.java deleted file mode 100644 index e67ed72aab6..00000000000 --- a/database/connector/dialect/h2/src/test/java/org/apache/shardingsphere/database/connector/h2/jdbcurl/H2ConnectionPropertiesTest.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.shardingsphere.database.connector.h2.jdbcurl; - -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader; -import org.apache.shardingsphere.database.connector.core.type.DatabaseType; -import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader; -import org.junit.jupiter.api.extension.ExtensionContext; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.ArgumentsProvider; -import org.junit.jupiter.params.provider.ArgumentsSource; -import org.junit.jupiter.params.support.ParameterDeclarations; - -import java.util.stream.Stream; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.junit.jupiter.api.Assertions.assertTrue; - -class H2ConnectionPropertiesTest { - - private final ConnectionPropertiesParser parser = DatabaseTypedSPILoader.getService(ConnectionPropertiesParser.class, TypedSPILoader.getService(DatabaseType.class, "H2")); - - @ParameterizedTest(name = "{0}") - @ArgumentsSource(NewConstructorTestCaseArgumentsProvider.class) - void assertNewConstructor(final String name, final String url, final String hostname, final int port, final String catalog, final String schema) { - ConnectionProperties actual = parser.parse(url, null, null); - assertThat(actual.getHostname(), is(hostname)); - assertThat(actual.getPort(), is(port)); - assertThat(actual.getCatalog(), is(catalog)); - assertThat(actual.getSchema(), is(schema)); - assertTrue(actual.getQueryProperties().isEmpty()); - } - - private static class NewConstructorTestCaseArgumentsProvider implements ArgumentsProvider { - - @Override - public Stream<? extends Arguments> provideArguments(final ParameterDeclarations parameters, final ExtensionContext context) { - return Stream.of( - Arguments.of("mem", "jdbc:h2:mem:foo_ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", "", -1, "foo_ds", null), - Arguments.of("symbol", "jdbc:h2:~:foo-ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MySQL", "", -1, "foo-ds", null), - Arguments.of("tcp", "jdbc:h2:tcp://localhost:8082/~/home/foo_ds;DB_CLOSE_DELAY=-1", "localhost", 8082, "foo_ds", null), - Arguments.of("ssl", "jdbc:h2:ssl:127.0.0.1/home/foo_ds", "127.0.0.1", -1, "foo_ds", null), - Arguments.of("file", "jdbc:h2:file:/data/foo_ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false", "", -1, "foo_ds", null)); - } - } -} diff --git a/database/connector/dialect/hive/src/main/java/org/apache/shardingsphere/database/connector/hive/jdbcurl/HiveConnectionPropertiesParser.java b/database/connector/dialect/hive/src/main/java/org/apache/shardingsphere/database/connector/hive/jdbcurl/HiveConnectionPropertiesParser.java index 5c4df02b341..4e320b7a0b8 100644 --- a/database/connector/dialect/hive/src/main/java/org/apache/shardingsphere/database/connector/hive/jdbcurl/HiveConnectionPropertiesParser.java +++ b/database/connector/dialect/hive/src/main/java/org/apache/shardingsphere/database/connector/hive/jdbcurl/HiveConnectionPropertiesParser.java @@ -24,7 +24,6 @@ import org.apache.hive.jdbc.Utils.JdbcConnectionParams; import org.apache.hive.jdbc.ZooKeeperHiveClientException; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import java.sql.SQLException; import java.util.Properties; @@ -47,7 +46,7 @@ public final class HiveConnectionPropertiesParser implements ConnectionPropertie queryProps.putAll(params.getSessionVars()); queryProps.putAll(params.getHiveConfs()); queryProps.putAll(params.getHiveVars()); - return new StandardConnectionProperties(params.getHost(), params.getPort(), params.getDbName(), null, queryProps, new Properties()); + return new ConnectionProperties(params.getHost(), params.getPort(), params.getDbName(), null, queryProps, new Properties()); } @Override diff --git a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/jdbcurl/MySQLConnectionPropertiesParser.java b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/jdbcurl/MySQLConnectionPropertiesParser.java index 2db8bf31cf9..6c04a99e6eb 100644 --- a/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/jdbcurl/MySQLConnectionPropertiesParser.java +++ b/database/connector/dialect/mysql/src/main/java/org/apache/shardingsphere/database/connector/mysql/jdbcurl/MySQLConnectionPropertiesParser.java @@ -19,7 +19,6 @@ package org.apache.shardingsphere.database.connector.mysql.jdbcurl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrlParser; @@ -35,7 +34,7 @@ public final class MySQLConnectionPropertiesParser implements ConnectionProperti @Override public ConnectionProperties parse(final String url, final String username, final String catalog) { StandardJdbcUrl standardJdbcUrl = new StandardJdbcUrlParser().parse(url); - return new StandardConnectionProperties(standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), + return new ConnectionProperties(standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), null == catalog ? standardJdbcUrl.getDatabase() : catalog, null, standardJdbcUrl.getQueryProperties(), buildDefaultQueryProperties()); } diff --git a/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/jdbcurl/OpenGaussConnectionPropertiesParser.java b/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/jdbcurl/OpenGaussConnectionPropertiesParser.java index 50b52f3dee2..5ce6d098fef 100644 --- a/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/jdbcurl/OpenGaussConnectionPropertiesParser.java +++ b/database/connector/dialect/opengauss/src/main/java/org/apache/shardingsphere/database/connector/opengauss/jdbcurl/OpenGaussConnectionPropertiesParser.java @@ -19,7 +19,6 @@ package org.apache.shardingsphere.database.connector.opengauss.jdbcurl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrlParser; @@ -35,8 +34,8 @@ public final class OpenGaussConnectionPropertiesParser implements ConnectionProp @Override public ConnectionProperties parse(final String url, final String username, final String catalog) { StandardJdbcUrl standardJdbcUrl = new StandardJdbcUrlParser().parse(url); - return new StandardConnectionProperties(standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), - new Properties()); + return new ConnectionProperties( + standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), new Properties()); } @Override diff --git a/database/connector/dialect/oracle/src/main/java/org/apache/shardingsphere/database/connector/oracle/jdbcurl/OracleConnectionPropertiesParser.java b/database/connector/dialect/oracle/src/main/java/org/apache/shardingsphere/database/connector/oracle/jdbcurl/OracleConnectionPropertiesParser.java index f83a8a4eb28..357d63ee58b 100644 --- a/database/connector/dialect/oracle/src/main/java/org/apache/shardingsphere/database/connector/oracle/jdbcurl/OracleConnectionPropertiesParser.java +++ b/database/connector/dialect/oracle/src/main/java/org/apache/shardingsphere/database/connector/oracle/jdbcurl/OracleConnectionPropertiesParser.java @@ -21,7 +21,6 @@ import com.google.common.base.Strings; import org.apache.shardingsphere.database.connector.core.exception.UnrecognizedDatabaseURLException; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import java.util.Arrays; import java.util.List; @@ -50,12 +49,12 @@ public final class OracleConnectionPropertiesParser implements ConnectionPropert return THIN_MATCH_GROUP_COUNT == groupCount ? getThinConnectionProperties(username, matcher) : getStandardConnectionProperties(username, matcher); } - private StandardConnectionProperties getThinConnectionProperties(final String username, final Matcher matcher) { - return new StandardConnectionProperties(matcher.group(3), Strings.isNullOrEmpty(matcher.group(4)) ? DEFAULT_PORT : Integer.parseInt(matcher.group(4)), matcher.group(5), username); + private ConnectionProperties getThinConnectionProperties(final String username, final Matcher matcher) { + return new ConnectionProperties(matcher.group(3), Strings.isNullOrEmpty(matcher.group(4)) ? DEFAULT_PORT : Integer.parseInt(matcher.group(4)), matcher.group(5), username); } - private StandardConnectionProperties getStandardConnectionProperties(final String username, final Matcher matcher) { - return new StandardConnectionProperties(matcher.group(2), Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : Integer.parseInt(matcher.group(3)), matcher.group(4), username); + private ConnectionProperties getStandardConnectionProperties(final String username, final Matcher matcher) { + return new ConnectionProperties(matcher.group(2), Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : Integer.parseInt(matcher.group(3)), matcher.group(4), username); } @Override diff --git a/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/jdbcurl/PostgreSQLConnectionPropertiesParser.java b/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/jdbcurl/PostgreSQLConnectionPropertiesParser.java index 10a60b4bb16..d30be21a5b1 100644 --- a/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/jdbcurl/PostgreSQLConnectionPropertiesParser.java +++ b/database/connector/dialect/postgresql/src/main/java/org/apache/shardingsphere/database/connector/postgresql/jdbcurl/PostgreSQLConnectionPropertiesParser.java @@ -19,7 +19,6 @@ package org.apache.shardingsphere.database.connector.postgresql.jdbcurl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrlParser; @@ -35,8 +34,8 @@ public final class PostgreSQLConnectionPropertiesParser implements ConnectionPro @Override public ConnectionProperties parse(final String url, final String username, final String catalog) { StandardJdbcUrl standardJdbcUrl = new StandardJdbcUrlParser().parse(url); - return new StandardConnectionProperties(standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), - new Properties()); + return new ConnectionProperties( + standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), new Properties()); } @Override diff --git a/database/connector/dialect/presto/src/main/java/org/apache/shardingsphere/database/connector/presto/jdbcurl/PrestoConnectionPropertiesParser.java b/database/connector/dialect/presto/src/main/java/org/apache/shardingsphere/database/connector/presto/jdbcurl/PrestoConnectionPropertiesParser.java index 3f7e3ed696c..8336ee34eb8 100644 --- a/database/connector/dialect/presto/src/main/java/org/apache/shardingsphere/database/connector/presto/jdbcurl/PrestoConnectionPropertiesParser.java +++ b/database/connector/dialect/presto/src/main/java/org/apache/shardingsphere/database/connector/presto/jdbcurl/PrestoConnectionPropertiesParser.java @@ -19,7 +19,6 @@ package org.apache.shardingsphere.database.connector.presto.jdbcurl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrlParser; @@ -35,8 +34,8 @@ public final class PrestoConnectionPropertiesParser implements ConnectionPropert @Override public ConnectionProperties parse(final String url, final String username, final String catalog) { StandardJdbcUrl standardJdbcUrl = new StandardJdbcUrlParser().parse(url); - return new StandardConnectionProperties(standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), - new Properties()); + return new ConnectionProperties( + standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(DEFAULT_PORT), standardJdbcUrl.getDatabase(), null, standardJdbcUrl.getQueryProperties(), new Properties()); } @Override diff --git a/database/connector/dialect/sql92/src/main/java/org/apache/shardingsphere/database/connector/sql92/jdbcurl/SQL92ConnectionPropertiesParser.java b/database/connector/dialect/sql92/src/main/java/org/apache/shardingsphere/database/connector/sql92/jdbcurl/SQL92ConnectionPropertiesParser.java index 9fa9756ffd4..42b18e8a8e2 100644 --- a/database/connector/dialect/sql92/src/main/java/org/apache/shardingsphere/database/connector/sql92/jdbcurl/SQL92ConnectionPropertiesParser.java +++ b/database/connector/dialect/sql92/src/main/java/org/apache/shardingsphere/database/connector/sql92/jdbcurl/SQL92ConnectionPropertiesParser.java @@ -20,7 +20,6 @@ package org.apache.shardingsphere.database.connector.sql92.jdbcurl; import org.apache.shardingsphere.database.connector.core.exception.UnrecognizedDatabaseURLException; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions; import java.util.regex.Matcher; @@ -39,7 +38,7 @@ public final class SQL92ConnectionPropertiesParser implements ConnectionProperti public ConnectionProperties parse(final String url, final String username, final String catalog) { Matcher matcher = URL_PATTERN.matcher(url); ShardingSpherePreconditions.checkState(matcher.find(), () -> new UnrecognizedDatabaseURLException(url, URL_PATTERN.pattern())); - return new StandardConnectionProperties("", DEFAULT_PORT, "", null); + return new ConnectionProperties("", DEFAULT_PORT, "", null); } @Override diff --git a/database/connector/dialect/sqlserver/src/main/java/org/apache/shardingsphere/database/connector/sql92/sqlserver/jdbcurl/SQLServerConnectionPropertiesParser.java b/database/connector/dialect/sqlserver/src/main/java/org/apache/shardingsphere/database/connector/sql92/sqlserver/jdbcurl/SQLServerConnectionPropertiesParser.java index 351d1bde46c..9ffaa97e128 100644 --- a/database/connector/dialect/sqlserver/src/main/java/org/apache/shardingsphere/database/connector/sql92/sqlserver/jdbcurl/SQLServerConnectionPropertiesParser.java +++ b/database/connector/dialect/sqlserver/src/main/java/org/apache/shardingsphere/database/connector/sql92/sqlserver/jdbcurl/SQLServerConnectionPropertiesParser.java @@ -21,7 +21,6 @@ import com.google.common.base.Strings; import org.apache.shardingsphere.database.connector.core.exception.UnrecognizedDatabaseURLException; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions; import java.util.regex.Matcher; @@ -40,7 +39,7 @@ public final class SQLServerConnectionPropertiesParser implements ConnectionProp public ConnectionProperties parse(final String url, final String username, final String catalog) { Matcher matcher = URL_PATTERN.matcher(url); ShardingSpherePreconditions.checkState(matcher.find(), () -> new UnrecognizedDatabaseURLException(url, URL_PATTERN.pattern())); - return new StandardConnectionProperties(matcher.group(2), Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : Integer.parseInt(matcher.group(3)), matcher.group(5), null); + return new ConnectionProperties(matcher.group(2), Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : Integer.parseInt(matcher.group(3)), matcher.group(5), null); } @Override diff --git a/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/connector/MockedConnectionPropertiesParser.java b/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/connector/MockedConnectionPropertiesParser.java index 37e44b944e1..4bc2c6f07cf 100644 --- a/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/connector/MockedConnectionPropertiesParser.java +++ b/test/infra/fixture/database/src/main/java/org/apache/shardingsphere/test/infra/fixture/connector/MockedConnectionPropertiesParser.java @@ -20,7 +20,6 @@ package org.apache.shardingsphere.test.infra.fixture.connector; import com.google.common.base.Strings; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.ConnectionPropertiesParser; -import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.StandardConnectionProperties; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrl; import org.apache.shardingsphere.database.connector.core.jdbcurl.parser.standard.StandardJdbcUrlParser; @@ -32,8 +31,8 @@ public final class MockedConnectionPropertiesParser implements ConnectionPropert @Override public ConnectionProperties parse(final String url, final String username, final String catalog) { StandardJdbcUrl standardJdbcUrl = new StandardJdbcUrlParser().parse(url); - return new StandardConnectionProperties(standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(), Strings.isNullOrEmpty(catalog) ? standardJdbcUrl.getDatabase() : catalog, - standardJdbcUrl.getDatabase()); + return new ConnectionProperties( + standardJdbcUrl.getHostname(), standardJdbcUrl.getPort(), Strings.isNullOrEmpty(catalog) ? standardJdbcUrl.getDatabase() : catalog, standardJdbcUrl.getDatabase()); } @Override