This is an automated email from the ASF dual-hosted git repository.
menghaoran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 1a75e7c Move ResourceSegmentsConverter into
shardingsphere-proxy-backend module (#12798)
1a75e7c is described below
commit 1a75e7c26de475871016d8a90475401948fb39be
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Sep 28 21:49:27 2021 +0800
Move ResourceSegmentsConverter into shardingsphere-proxy-backend module
(#12798)
* Valid DataSourceConfigurationValidator
* Refactor ResourceSegmentsConverter
* Move ResourceSegmentsConverter into shardingsphere-proxy-backend module
---
.../rdl/resource/AddResourceBackendHandler.java | 5 ++---
.../rdl/resource/AlterResourceBackendHandler.java | 5 ++---
.../rdl/resource}/ResourceSegmentsConverter.java | 19 ++++++-------------
.../rdl/resource}/ResourceSegmentsConverterTest.java | 6 +++---
4 files changed, 13 insertions(+), 22 deletions(-)
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AddResourceBackendHandler.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AddResourceBackendHandler.java
index bc2edf8..f62fa4f 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AddResourceBackendHandler.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AddResourceBackendHandler.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
import
org.apache.shardingsphere.proxy.backend.text.SchemaRequiredBackendHandler;
import
org.apache.shardingsphere.proxy.config.util.DataSourceParameterConverter;
-import org.apache.shardingsphere.proxy.converter.ResourceSegmentsConverter;
import java.util.ArrayList;
import java.util.HashSet;
@@ -56,8 +55,8 @@ public final class AddResourceBackendHandler extends
SchemaRequiredBackendHandle
@Override
public ResponseHeader execute(final String schemaName, final
AddResourceStatement sqlStatement) throws DistSQLException {
checkSQLStatement(schemaName, sqlStatement);
- Map<String, DataSourceConfiguration> dataSourceConfigs =
DataSourceParameterConverter.getDataSourceConfigurationMap(
-
DataSourceParameterConverter.getDataSourceParameterMapFromYamlConfiguration(ResourceSegmentsConverter.convert(databaseType,
sqlStatement.getDataSources())));
+ Map<String, DataSourceConfiguration> dataSourceConfigs
+ =
DataSourceParameterConverter.getDataSourceConfigurationMap(ResourceSegmentsConverter.convert(databaseType,
sqlStatement.getDataSources()));
dataSourceConfigValidator.validate(dataSourceConfigs);
// TODO update meta data context in memory
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaDataPersistService().ifPresent(optional
-> optional.getDataSourceService().append(schemaName, dataSourceConfigs));
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AlterResourceBackendHandler.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AlterResourceBackendHandler.java
index 1749e4f..c22aacf 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AlterResourceBackendHandler.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/AlterResourceBackendHandler.java
@@ -31,7 +31,6 @@ import
org.apache.shardingsphere.proxy.backend.response.header.ResponseHeader;
import
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResponseHeader;
import
org.apache.shardingsphere.proxy.backend.text.SchemaRequiredBackendHandler;
import
org.apache.shardingsphere.proxy.config.util.DataSourceParameterConverter;
-import org.apache.shardingsphere.proxy.converter.ResourceSegmentsConverter;
import javax.sql.DataSource;
import java.util.Collection;
@@ -56,8 +55,8 @@ public final class AlterResourceBackendHandler extends
SchemaRequiredBackendHand
@Override
public ResponseHeader execute(final String schemaName, final
AlterResourceStatement sqlStatement) throws DistSQLException {
checkSQLStatement(schemaName, sqlStatement);
- Map<String, DataSourceConfiguration> dataSourceConfigs =
DataSourceParameterConverter.getDataSourceConfigurationMap(
-
DataSourceParameterConverter.getDataSourceParameterMapFromYamlConfiguration(ResourceSegmentsConverter.convert(databaseType,
sqlStatement.getDataSources())));
+ Map<String, DataSourceConfiguration> dataSourceConfigs
+ =
DataSourceParameterConverter.getDataSourceConfigurationMap(ResourceSegmentsConverter.convert(databaseType,
sqlStatement.getDataSources()));
dataSourceConfigValidator.validate(dataSourceConfigs);
// TODO update meta data context in memory
ProxyContext.getInstance().getContextManager()
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/converter/ResourceSegmentsConverter.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/ResourceSegmentsConverter.java
similarity index 67%
rename from
shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/converter/ResourceSegmentsConverter.java
rename to
shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/ResourceSegmentsConverter.java
index 11d53e7..0822b55 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-common/src/main/java/org/apache/shardingsphere/proxy/converter/ResourceSegmentsConverter.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/ResourceSegmentsConverter.java
@@ -15,14 +15,13 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.converter;
+package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.resource;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
import org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameter;
import java.util.Collection;
import java.util.LinkedHashMap;
@@ -35,25 +34,19 @@ import java.util.Map;
public final class ResourceSegmentsConverter {
/**
- * Convert resource segments to YAML data source parameter map.
+ * Convert resource segments to data source parameter map.
*
* @param databaseType database type
* @param resources data source segments
- * @return YAML data source parameter map
+ * @return data source parameter map
*/
- public static Map<String, YamlDataSourceParameter> convert(final
DatabaseType databaseType, final Collection<DataSourceSegment> resources) {
- Map<String, YamlDataSourceParameter> result = new
LinkedHashMap<>(resources.size(), 1);
+ public static Map<String, DataSourceParameter> convert(final DatabaseType
databaseType, final Collection<DataSourceSegment> resources) {
+ Map<String, DataSourceParameter> result = new
LinkedHashMap<>(resources.size(), 1);
for (DataSourceSegment each : resources) {
- DataSourceParameter parameter = new DataSourceParameter();
- YamlDataSourceParameter dataSource = new YamlDataSourceParameter();
+ DataSourceParameter dataSource = new DataSourceParameter();
dataSource.setUrl(getURL(databaseType, each));
dataSource.setUsername(each.getUser());
dataSource.setPassword(each.getPassword());
- dataSource.setMinPoolSize(parameter.getMinPoolSize());
- dataSource.setMaxPoolSize(parameter.getMaxPoolSize());
-
dataSource.setConnectionTimeoutMilliseconds(parameter.getConnectionTimeoutMilliseconds());
-
dataSource.setIdleTimeoutMilliseconds(parameter.getIdleTimeoutMilliseconds());
-
dataSource.setMaxLifetimeMilliseconds(parameter.getMaxLifetimeMilliseconds());
dataSource.setCustomPoolProps(each.getProperties());
result.put(each.getName(), dataSource);
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/converter/ResourceSegmentsConverterTest.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/ResourceSegmentsConverterTest.java
similarity index 88%
rename from
shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/converter/ResourceSegmentsConverterTest.java
rename to
shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/ResourceSegmentsConverterTest.java
index 9f423cd..ba5f44f 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-common/src/test/java/org/apache/shardingsphere/proxy/converter/ResourceSegmentsConverterTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/resource/ResourceSegmentsConverterTest.java
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.proxy.converter;
+package org.apache.shardingsphere.proxy.backend.text.distsql.rdl.resource;
import org.apache.shardingsphere.distsql.parser.segment.DataSourceSegment;
+import org.apache.shardingsphere.infra.config.datasource.DataSourceParameter;
import org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
-import org.apache.shardingsphere.proxy.config.yaml.YamlDataSourceParameter;
import org.junit.Test;
import java.util.Arrays;
@@ -36,7 +36,7 @@ public final class ResourceSegmentsConverterTest {
@Test
public void assertConvert() {
- Map<String, YamlDataSourceParameter> actual =
ResourceSegmentsConverter.convert(new MySQLDatabaseType(),
createDataSourceSegments());
+ Map<String, DataSourceParameter> actual =
ResourceSegmentsConverter.convert(new MySQLDatabaseType(),
createDataSourceSegments());
assertThat(actual.size(), is(2));
assertTrue(actual.keySet().containsAll(Arrays.asList("ds0", "ds1")));
assertThat(actual.values().iterator().next().getUsername(),
is("root0"));