This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 7469532 Rename JDBCDataSourceConfigurationFactory (#14306)
7469532 is described below
commit 7469532da3090db5715d748724b3198578dc3f08
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Dec 25 09:08:47 2021 +0800
Rename JDBCDataSourceConfigurationFactory (#14306)
* Rename JDBCDataSourceConfigurationFactory
* Remove JDBCDataSourceYamlConfigurationSwapper
---
...hardingRuleAlteredJobConfigurationPreparer.java | 10 ++--
.../config/JDBCDataSourceConfigurationFactory.java | 48 ++++++++++++++++
.../config/JDBCDataSourceConfigurationWrapper.java | 66 ----------------------
.../JDBCDataSourceYamlConfigurationSwapper.java | 40 -------------
.../api/config/rulealtered/JobConfiguration.java | 6 +-
.../consistency/DataConsistencyCheckerImpl.java | 18 +++---
.../datasource/AbstractDataSourcePreparer.java | 6 +-
.../scenario/rulealtered/RuleAlteredJobWorker.java | 18 +++---
.../job/environment/ScalingEnvironmentManager.java | 5 +-
.../component/MySQLDataSourcePreparerTest.java | 12 ++--
.../checker/OpenGaussDataSourcePreparer.java | 6 +-
.../test/mysql/env/ITEnvironmentContext.java | 8 +--
.../pipeline/api/impl/PipelineJobAPIImplTest.java | 6 +-
.../core/datasource/DataSourceManagerTest.java | 11 ++--
.../data/pipeline/core/util/ResourceUtil.java | 12 ++--
15 files changed, 111 insertions(+), 161 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/schedule/ShardingRuleAlteredJobConfigurationPreparer.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/schedule/ShardingRuleAlteredJobConfigurationPreparer.java
index 3e3e075..7bc9273 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/schedule/ShardingRuleAlteredJobConfigurationPreparer.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/schedule/ShardingRuleAlteredJobConfigurationPreparer.java
@@ -32,7 +32,7 @@ import
org.apache.shardingsphere.data.pipeline.api.datanode.JobDataNodeLine;
import
org.apache.shardingsphere.data.pipeline.spi.rulealtered.RuleAlteredJobConfigurationPreparer;
import
org.apache.shardingsphere.infra.config.datasource.DataSourceConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.ShardingSphereJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.StandardJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.infra.config.rulealtered.OnRuleAlteredActionConfiguration;
@@ -91,7 +91,7 @@ public final class
ShardingRuleAlteredJobConfigurationPreparer implements RuleAl
* @return map(logic table name, DataNode of each logic table)
*/
private static Map<String, List<DataNode>>
getShouldScalingActualDataNodes(final RuleConfiguration ruleConfig) {
- JDBCDataSourceConfiguration sourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getSource()).unwrap();
+ JDBCDataSourceConfiguration sourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getSource().getType(),
ruleConfig.getSource().getParameter());
Preconditions.checkState(sourceConfig instanceof
ShardingSphereJDBCDataSourceConfiguration,
"Only ShardingSphereJdbc type of source
TypedDataSourceConfiguration is supported.");
ShardingSphereJDBCDataSourceConfiguration source =
(ShardingSphereJDBCDataSourceConfiguration) sourceConfig;
@@ -152,13 +152,13 @@ public final class
ShardingRuleAlteredJobConfigurationPreparer implements RuleAl
}
private static ShardingSphereJDBCDataSourceConfiguration
getSourceConfiguration(final RuleConfiguration ruleConfig) {
- JDBCDataSourceConfiguration result = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getSource()).unwrap();
+ JDBCDataSourceConfiguration result =
JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getSource().getType(),
ruleConfig.getSource().getParameter());
Preconditions.checkArgument(result instanceof
ShardingSphereJDBCDataSourceConfiguration, "Only support ShardingSphere source
data source.");
return (ShardingSphereJDBCDataSourceConfiguration) result;
}
private static Optional<ShardingRuleConfiguration>
getTargetRuleConfiguration(final RuleConfiguration ruleConfig) {
- JDBCDataSourceConfiguration dataSourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getTarget()).unwrap();
+ JDBCDataSourceConfiguration dataSourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getTarget().getType(),
ruleConfig.getTarget().getParameter());
if (dataSourceConfig instanceof
ShardingSphereJDBCDataSourceConfiguration) {
return Optional.of(
ShardingRuleConfigurationConverter.findAndConvertShardingRuleConfiguration(((ShardingSphereJDBCDataSourceConfiguration)
dataSourceConfig).getRootConfig().getRules()));
@@ -282,7 +282,7 @@ public final class
ShardingRuleAlteredJobConfigurationPreparer implements RuleAl
private static ImporterConfiguration createImporterConfig(final
RuleConfiguration ruleConfig, final HandleConfiguration handleConfig, final
Map<String, Set<String>> shardingColumnsMap) {
ImporterConfiguration result = new ImporterConfiguration();
- result.setDataSourceConfig(new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getTarget()).unwrap());
+
result.setDataSourceConfig(JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getTarget().getType(),
ruleConfig.getTarget().getParameter()));
result.setShardingColumnsMap(shardingColumnsMap);
result.setRetryTimes(handleConfig.getRetryTimes());
return result;
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/JDBCDataSourceConfigurationFactory.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/JDBCDataSourceConfigurationFactory.java
new file mode 100644
index 0000000..46e2a21
--- /dev/null
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/JDBCDataSourceConfigurationFactory.java
@@ -0,0 +1,48 @@
+/*
+ * 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.infra.config.datasource.jdbc.config;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.ShardingSphereJDBCDataSourceConfiguration;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.StandardJDBCDataSourceConfiguration;
+
+/**
+ * JDBC data source configuration factory.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class JDBCDataSourceConfigurationFactory {
+
+ /**
+ * Get new instance of JDBC data source configuration.
+ *
+ * @param type type of JDBC data source configuration
+ * @param parameter parameter of JDBC data source configuration
+ * @return new instance of JDBC data source configuration
+ */
+ public static JDBCDataSourceConfiguration newInstance(final String type,
final String parameter) {
+ switch (type) {
+ case StandardJDBCDataSourceConfiguration.TYPE:
+ return new StandardJDBCDataSourceConfiguration(parameter);
+ case ShardingSphereJDBCDataSourceConfiguration.TYPE:
+ return new
ShardingSphereJDBCDataSourceConfiguration(parameter);
+ default:
+ throw new
UnsupportedOperationException(String.format("Unsupported data source type
'%s'", type));
+ }
+ }
+}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/JDBCDataSourceConfigurationWrapper.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/JDBCDataSourceConfigurationWrapper.java
deleted file mode 100644
index a3d099d..0000000
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/JDBCDataSourceConfigurationWrapper.java
+++ /dev/null
@@ -1,66 +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.infra.config.datasource.jdbc.config;
-
-import com.google.common.base.Preconditions;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-import lombok.SneakyThrows;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.ShardingSphereJDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.StandardJDBCDataSourceConfiguration;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * JDBC data source configuration wrapper.
- */
-@RequiredArgsConstructor
-@Getter
-public final class JDBCDataSourceConfigurationWrapper {
-
- private final String type;
-
- private final String parameter;
-
- /**
- * Unwrap.
- *
- * @return typed data source configuration
- */
- @SneakyThrows(ReflectiveOperationException.class)
- public JDBCDataSourceConfiguration unwrap() {
- Map<String, Class<?>> classMap =
DataSourceConfigurationHolder.getInstances();
- Preconditions.checkArgument(classMap.containsKey(type.toLowerCase()),
"Unsupported data source type '%s'", type);
- return (JDBCDataSourceConfiguration)
classMap.get(type.toLowerCase()).getConstructor(String.class).newInstance(parameter);
- }
-
- private static class DataSourceConfigurationHolder {
-
- private static final Map<String, Class<?>> INSTANCES = new
HashMap<>(2, 1);
-
- static {
-
INSTANCES.put(StandardJDBCDataSourceConfiguration.TYPE.toLowerCase(),
StandardJDBCDataSourceConfiguration.class);
-
INSTANCES.put(ShardingSphereJDBCDataSourceConfiguration.TYPE.toLowerCase(),
ShardingSphereJDBCDataSourceConfiguration.class);
- }
-
- private static Map<String, Class<?>> getInstances() {
- return INSTANCES;
- }
- }
-}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/yaml/JDBCDataSourceYamlConfigurationSwapper.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/yaml/JDBCDataSourceYamlConfigurationSwapper.java
deleted file mode 100644
index 4f6822a..0000000
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/config/datasource/jdbc/config/yaml/JDBCDataSourceYamlConfigurationSwapper.java
+++ /dev/null
@@ -1,40 +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.infra.config.datasource.jdbc.config.yaml;
-
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationWrapper;
-import
org.apache.shardingsphere.infra.yaml.config.swapper.YamlConfigurationSwapper;
-
-/**
- * JDBC data source YAML configuration swapper.
- */
-public final class JDBCDataSourceYamlConfigurationSwapper implements
YamlConfigurationSwapper<YamlJDBCDataSourceConfiguration,
JDBCDataSourceConfigurationWrapper> {
-
- @Override
- public YamlJDBCDataSourceConfiguration swapToYamlConfiguration(final
JDBCDataSourceConfigurationWrapper data) {
- YamlJDBCDataSourceConfiguration result = new
YamlJDBCDataSourceConfiguration();
- result.setType(data.getType());
- result.setParameter(data.getParameter());
- return result;
- }
-
- @Override
- public JDBCDataSourceConfigurationWrapper swapToObject(final
YamlJDBCDataSourceConfiguration yamlConfig) {
- return new JDBCDataSourceConfigurationWrapper(yamlConfig.getType(),
yamlConfig.getParameter());
- }
-}
diff --git
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/rulealtered/JobConfiguration.java
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/rulealtered/JobConfiguration.java
index 4f0fa47..8afcbd2 100644
---
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/rulealtered/JobConfiguration.java
+++
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/rulealtered/JobConfiguration.java
@@ -25,7 +25,7 @@ import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import
org.apache.shardingsphere.data.pipeline.spi.rulealtered.RuleAlteredJobConfigurationPreparer;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import org.apache.shardingsphere.spi.ShardingSphereServiceLoader;
import org.apache.shardingsphere.spi.required.RequiredSPIRegistry;
@@ -74,11 +74,11 @@ public final class JobConfiguration {
handleConfig.setJobId(System.nanoTime() -
ThreadLocalRandom.current().nextLong(100_0000));
}
if (Strings.isNullOrEmpty(handleConfig.getSourceDatabaseType())) {
- JDBCDataSourceConfiguration sourceDataSourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(getRuleConfig().getSource()).unwrap();
+ JDBCDataSourceConfiguration sourceDataSourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(getRuleConfig().getSource().getType(),
getRuleConfig().getSource().getParameter());
handleConfig.setSourceDatabaseType(sourceDataSourceConfig.getDatabaseType().getName());
}
if (Strings.isNullOrEmpty(handleConfig.getTargetDatabaseType())) {
- JDBCDataSourceConfiguration targetDataSourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(getRuleConfig().getTarget()).unwrap();
+ JDBCDataSourceConfiguration targetDataSourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(getRuleConfig().getTarget().getType(),
getRuleConfig().getTarget().getParameter());
handleConfig.setTargetDatabaseType(targetDataSourceConfig.getDatabaseType().getName());
}
if (null == handleConfig.getJobShardingItem()) {
diff --git
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCheckerImpl.java
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCheckerImpl.java
index fbc961d..8d8b944 100644
---
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCheckerImpl.java
+++
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/check/consistency/DataConsistencyCheckerImpl.java
@@ -29,7 +29,7 @@ import
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJ
import
org.apache.shardingsphere.data.pipeline.spi.check.consistency.DataConsistencyCheckAlgorithm;
import
org.apache.shardingsphere.data.pipeline.spi.check.consistency.SingleTableDataCalculator;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.infra.executor.kernel.thread.ExecutorThreadFactoryBuilder;
import
org.apache.shardingsphere.scaling.core.job.sqlbuilder.ScalingSQLBuilderFactory;
@@ -82,8 +82,10 @@ public final class DataConsistencyCheckerImpl implements
DataConsistencyChecker
}
private DataConsistencyCheckResult countCheck(final String table, final
ThreadPoolExecutor executor) {
- JDBCDataSourceConfiguration sourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobContext.getJobConfig().getRuleConfig().getSource()).unwrap();
- JDBCDataSourceConfiguration targetConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobContext.getJobConfig().getRuleConfig().getTarget()).unwrap();
+ JDBCDataSourceConfiguration sourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(
+
jobContext.getJobConfig().getRuleConfig().getSource().getType(),
jobContext.getJobConfig().getRuleConfig().getSource().getParameter());
+ JDBCDataSourceConfiguration targetConfig =
JDBCDataSourceConfigurationFactory.newInstance(
+
jobContext.getJobConfig().getRuleConfig().getTarget().getType(),
jobContext.getJobConfig().getRuleConfig().getTarget().getParameter());
try (DataSourceWrapper sourceDataSource =
dataSourceFactory.newInstance(sourceConfig);
DataSourceWrapper targetDataSource =
dataSourceFactory.newInstance(targetConfig)) {
Future<Long> sourceFuture = executor.submit(() ->
count(sourceDataSource, table, sourceConfig.getDatabaseType()));
@@ -110,13 +112,13 @@ public final class DataConsistencyCheckerImpl implements
DataConsistencyChecker
@Override
public Map<String, Boolean> dataCheck(final DataConsistencyCheckAlgorithm
checkAlgorithm) {
Collection<String> supportedDatabaseTypes =
checkAlgorithm.getSupportedDatabaseTypes();
-
- JDBCDataSourceConfiguration sourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobContext.getJobConfig().getRuleConfig().getSource()).unwrap();
+ JDBCDataSourceConfiguration sourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(
+
jobContext.getJobConfig().getRuleConfig().getSource().getType(),
jobContext.getJobConfig().getRuleConfig().getSource().getParameter());
checkDatabaseTypeSupportedOrNot(supportedDatabaseTypes,
sourceConfig.getDatabaseType().getName());
- JDBCDataSourceConfiguration targetConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobContext.getJobConfig().getRuleConfig().getTarget()).unwrap();
+ JDBCDataSourceConfiguration targetConfig =
JDBCDataSourceConfigurationFactory.newInstance(
+
jobContext.getJobConfig().getRuleConfig().getTarget().getType(),
jobContext.getJobConfig().getRuleConfig().getTarget().getParameter());
checkDatabaseTypeSupportedOrNot(supportedDatabaseTypes,
targetConfig.getDatabaseType().getName());
- Collection<String> logicTableNames =
jobContext.getTaskConfigs().stream().flatMap(each ->
each.getDumperConfig().getTableNameMap().values().stream())
- .distinct().collect(Collectors.toList());
+ Collection<String> logicTableNames =
jobContext.getTaskConfigs().stream().flatMap(each ->
each.getDumperConfig().getTableNameMap().values().stream()).distinct().collect(Collectors.toList());
Map<String, Collection<String>> tablesColumnNamesMap =
getTablesColumnNamesMap(sourceConfig);
logicTableNames.forEach(each -> {
//TODO put to preparer
diff --git
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/prepare/datasource/AbstractDataSourcePreparer.java
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/prepare/datasource/AbstractDataSourcePreparer.java
index 6d7d92a..a52d4a2 100644
---
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/prepare/datasource/AbstractDataSourcePreparer.java
+++
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/prepare/datasource/AbstractDataSourcePreparer.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.data.pipeline.api.prepare.datasource.TableDefin
import
org.apache.shardingsphere.data.pipeline.core.datasource.DataSourceFactory;
import
org.apache.shardingsphere.data.pipeline.core.datasource.DataSourceWrapper;
import
org.apache.shardingsphere.data.pipeline.spi.rulealtered.DataSourcePreparer;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import java.sql.Connection;
import java.sql.SQLException;
@@ -51,11 +51,11 @@ public abstract class AbstractDataSourcePreparer implements
DataSourcePreparer {
private final DataSourceFactory dataSourceFactory = new
DataSourceFactory();
protected final DataSourceWrapper getSourceDataSource(final
RuleConfiguration ruleConfig) {
- return dataSourceFactory.newInstance(new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getSource()).unwrap());
+ return
dataSourceFactory.newInstance(JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getSource().getType(),
ruleConfig.getSource().getParameter()));
}
protected final DataSourceWrapper getTargetDataSource(final
RuleConfiguration ruleConfig) {
- return dataSourceFactory.newInstance(new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getTarget()).unwrap());
+ return
dataSourceFactory.newInstance(JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getTarget().getType(),
ruleConfig.getTarget().getParameter()));
}
protected final void executeTargetTableSQL(final Connection
targetConnection, final String sql) throws SQLException {
diff --git
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/rulealtered/RuleAlteredJobWorker.java
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/rulealtered/RuleAlteredJobWorker.java
index 3fa5ee6..2df03b1 100644
---
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/rulealtered/RuleAlteredJobWorker.java
+++
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/rulealtered/RuleAlteredJobWorker.java
@@ -31,10 +31,9 @@ import
org.apache.shardingsphere.data.pipeline.core.execute.PipelineJobExecutor;
import
org.apache.shardingsphere.data.pipeline.spi.rulealtered.RuleAlteredDetector;
import org.apache.shardingsphere.infra.config.datasource.JdbcUri;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationWrapper;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.YamlJDBCDataSourceConfiguration;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.ShardingSphereJDBCDataSourceConfiguration;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.YamlJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.infra.config.rulealtered.OnRuleAlteredActionConfiguration;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry;
@@ -152,11 +151,13 @@ public final class RuleAlteredJobWorker {
* @return YAML root configuration
*/
private static YamlRootConfiguration getYamlRootConfig(final
JobConfiguration jobConfig) {
- JDBCDataSourceConfiguration targetDataSourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobConfig.getRuleConfig().getTarget()).unwrap();
+ JDBCDataSourceConfiguration targetDataSourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(
+ jobConfig.getRuleConfig().getTarget().getType(),
jobConfig.getRuleConfig().getTarget().getParameter());
if (targetDataSourceConfig instanceof
ShardingSphereJDBCDataSourceConfiguration) {
return ((ShardingSphereJDBCDataSourceConfiguration)
targetDataSourceConfig).getRootConfig();
}
- JDBCDataSourceConfiguration sourceDataSourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobConfig.getRuleConfig().getSource()).unwrap();
+ JDBCDataSourceConfiguration sourceDataSourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(
+ jobConfig.getRuleConfig().getSource().getType(),
jobConfig.getRuleConfig().getSource().getParameter());
return ((ShardingSphereJDBCDataSourceConfiguration)
sourceDataSourceConfig).getRootConfig();
}
@@ -232,8 +233,11 @@ public final class RuleAlteredJobWorker {
}
private YamlJDBCDataSourceConfiguration
createYamlJDBCDataSourceConfiguration(final YamlRootConfiguration yamlConfig) {
- ShardingSphereJDBCDataSourceConfiguration config = new
ShardingSphereJDBCDataSourceConfiguration(yamlConfig);
- return new
JDBCDataSourceYamlConfigurationSwapper().swapToYamlConfiguration(new
JDBCDataSourceConfigurationWrapper(config.getType(), config.getParameter()));
+ JDBCDataSourceConfiguration config = new
ShardingSphereJDBCDataSourceConfiguration(yamlConfig);
+ YamlJDBCDataSourceConfiguration result = new
YamlJDBCDataSourceConfiguration();
+ result.setType(config.getType());
+ result.setParameter(config.getParameter());
+ return result;
}
@SuppressWarnings("unchecked")
diff --git
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/scaling/core/job/environment/ScalingEnvironmentManager.java
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/scaling/core/job/environment/ScalingEnvironmentManager.java
index dac0785..05a4211 100644
---
a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/scaling/core/job/environment/ScalingEnvironmentManager.java
+++
b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/scaling/core/job/environment/ScalingEnvironmentManager.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.scaling.core.job.environment;
import
org.apache.shardingsphere.data.pipeline.core.datasource.DataSourceFactory;
import
org.apache.shardingsphere.data.pipeline.core.datasource.DataSourceWrapper;
import
org.apache.shardingsphere.data.pipeline.scenario.rulealtered.RuleAlteredJobContext;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import
org.apache.shardingsphere.scaling.core.job.sqlbuilder.ScalingSQLBuilderFactory;
import java.sql.Connection;
@@ -45,7 +45,8 @@ public final class ScalingEnvironmentManager {
// TODO seems it should be removed, dangerous to use
public void resetTargetTable(final RuleAlteredJobContext jobContext)
throws SQLException {
Set<String> tables = jobContext.getTaskConfigs().stream().flatMap(each
->
each.getDumperConfig().getTableNameMap().values().stream()).collect(Collectors.toSet());
- try (DataSourceWrapper dataSource = dataSourceFactory.newInstance(new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobContext.getJobConfig().getRuleConfig().getTarget()).unwrap());
+ try (DataSourceWrapper dataSource = dataSourceFactory.newInstance(
+
JDBCDataSourceConfigurationFactory.newInstance(jobContext.getJobConfig().getRuleConfig().getTarget().getType(),
jobContext.getJobConfig().getRuleConfig().getTarget().getParameter()));
Connection connection = dataSource.getConnection()) {
for (String each : tables) {
String sql =
ScalingSQLBuilderFactory.newInstance(jobContext.getJobConfig().getHandleConfig().getTargetDatabaseType()).buildTruncateSQL(each);
diff --git
a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/component/MySQLDataSourcePreparerTest.java
b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/component/MySQLDataSourcePreparerTest.java
index 8a6c6b1..37958c6 100644
---
a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/component/MySQLDataSourcePreparerTest.java
+++
b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-mysql/src/test/java/org/apache/shardingsphere/scaling/mysql/component/MySQLDataSourcePreparerTest.java
@@ -21,9 +21,8 @@ import
org.apache.shardingsphere.data.pipeline.api.config.rulealtered.RuleConfig
import org.apache.shardingsphere.data.pipeline.api.datanode.JobDataNodeLine;
import
org.apache.shardingsphere.data.pipeline.api.prepare.datasource.PrepareTargetTablesParameter;
import
org.apache.shardingsphere.data.pipeline.core.exception.PipelineJobPrepareFailedException;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationWrapper;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.ShardingSphereJDBCDataSourceConfiguration;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.YamlJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.creator.JDBCDataSourceCreatorFactory;
import
org.apache.shardingsphere.scaling.mysql.component.checker.MySQLDataSourcePreparer;
import org.junit.Before;
@@ -51,10 +50,10 @@ public final class MySQLDataSourcePreparerTest {
private RuleConfiguration ruleConfig;
@Mock
- private JDBCDataSourceConfigurationWrapper sourceDataSourceConfigWrapper;
+ private YamlJDBCDataSourceConfiguration
sourceYamlJDBCDataSourceConfiguration;
@Mock
- private JDBCDataSourceConfigurationWrapper targetDataSourceConfigWrapper;
+ private YamlJDBCDataSourceConfiguration
targetYamlJDBCDataSourceConfiguration;
@Mock
private ShardingSphereJDBCDataSourceConfiguration
sourceScalingDataSourceConfig;
@@ -72,11 +71,10 @@ public final class MySQLDataSourcePreparerTest {
public void setUp() throws SQLException {
when(prepareTargetTablesParameter.getRuleConfig()).thenReturn(ruleConfig);
when(prepareTargetTablesParameter.getTablesFirstDataNodes()).thenReturn(new
JobDataNodeLine(Collections.emptyList()));
- when(ruleConfig.getSource()).thenReturn(new
JDBCDataSourceYamlConfigurationSwapper().swapToYamlConfiguration(sourceDataSourceConfigWrapper));
-
when(sourceDataSourceConfigWrapper.unwrap()).thenReturn(sourceScalingDataSourceConfig);
+
when(ruleConfig.getSource()).thenReturn(sourceYamlJDBCDataSourceConfiguration);
when(JDBCDataSourceCreatorFactory.getInstance(
sourceScalingDataSourceConfig.getType()).createDataSource(sourceScalingDataSourceConfig.getDataSourceConfiguration())).thenReturn(sourceDataSource);
- when(ruleConfig.getTarget()).thenReturn(new
JDBCDataSourceYamlConfigurationSwapper().swapToYamlConfiguration(targetDataSourceConfigWrapper));
+
when(ruleConfig.getTarget()).thenReturn(targetYamlJDBCDataSourceConfiguration);
when(JDBCDataSourceCreatorFactory.getInstance(
targetScalingDataSourceConfig.getType()).createDataSource(targetScalingDataSourceConfig.getDataSourceConfiguration())).thenReturn(targetDataSource);
}
diff --git
a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-opengauss/src/main/java/org/apache/shardingsphere/scaling/opengauss/component/checker/OpenGaussDataSourcePreparer.java
b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-opengauss/src/main/java/org/apache/shardingsphere/scaling/opengauss/component/checker/OpenGaussDataSourcePreparer.java
index 55de03a..0dccc9e 100644
---
a/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-opengauss/src/main/java/org/apache/shardingsphere/scaling/opengauss/component/checker/OpenGaussDataSourcePreparer.java
+++
b/shardingsphere-scaling/shardingsphere-scaling-dialect/shardingsphere-scaling-opengauss/src/main/java/org/apache/shardingsphere/scaling/opengauss/component/checker/OpenGaussDataSourcePreparer.java
@@ -26,7 +26,7 @@ import
org.apache.shardingsphere.data.pipeline.core.datasource.DataSourceManager
import
org.apache.shardingsphere.data.pipeline.core.datasource.DataSourceWrapper;
import
org.apache.shardingsphere.data.pipeline.core.exception.PipelineJobPrepareFailedException;
import
org.apache.shardingsphere.data.pipeline.core.prepare.datasource.AbstractDataSourcePreparer;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationWrapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.ShardingSphereJDBCDataSourceConfiguration;
import org.apache.shardingsphere.infra.datanode.DataNode;
@@ -75,8 +75,8 @@ public final class OpenGaussDataSourcePreparer extends
AbstractDataSourcePrepare
private Collection<ActualTableDefinition> getActualTableDefinitions(final
PrepareTargetTablesParameter parameter) throws SQLException {
Collection<ActualTableDefinition> result = new ArrayList<>();
- ShardingSphereJDBCDataSourceConfiguration sourceConfig =
(ShardingSphereJDBCDataSourceConfiguration)
- new
JDBCDataSourceConfigurationWrapper(parameter.getRuleConfig().getSource().getType(),
parameter.getRuleConfig().getSource().getParameter()).unwrap();
+ ShardingSphereJDBCDataSourceConfiguration sourceConfig =
(ShardingSphereJDBCDataSourceConfiguration)
JDBCDataSourceConfigurationFactory.newInstance(
+ parameter.getRuleConfig().getSource().getType(),
parameter.getRuleConfig().getSource().getParameter());
try (DataSourceManager dataSourceManager = new DataSourceManager()) {
for (JobDataNodeEntry each :
parameter.getTablesFirstDataNodes().getEntries()) {
DataNode dataNode = each.getDataNodes().get(0);
diff --git
a/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/java/org/apache/shardingsphere/integration/scaling/test/mysql/env/ITEnvironmentContext.java
b/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/java/org/apache/shardingsphere/integration/scaling/test/mysql/env/ITEnvironmentContext.java
index 8c7062f..7aabfd3 100644
---
a/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/java/org/apache/shardingsphere/integration/scaling/test/mysql/env/ITEnvironmentContext.java
+++
b/shardingsphere-test/shardingsphere-integration-scaling-test/shardingsphere-integration-scaling-test-mysql/src/test/java/org/apache/shardingsphere/integration/scaling/test/mysql/env/ITEnvironmentContext.java
@@ -23,8 +23,6 @@ import lombok.SneakyThrows;
import
org.apache.shardingsphere.data.pipeline.api.config.rulealtered.JobConfiguration;
import
org.apache.shardingsphere.data.pipeline.api.config.rulealtered.RuleConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationWrapper;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.YamlJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.integration.scaling.test.mysql.env.cases.DataSet;
import org.apache.shardingsphere.integration.scaling.test.mysql.env.cases.Type;
@@ -92,7 +90,9 @@ public final class ITEnvironmentContext {
}
private static YamlJDBCDataSourceConfiguration
createYamlJDBCDataSourceConfiguration(final JDBCDataSourceConfiguration
targetConfig) {
- JDBCDataSourceConfigurationWrapper targetWrapper = new
JDBCDataSourceConfigurationWrapper(targetConfig.getType(),
targetConfig.getParameter());
- return new
JDBCDataSourceYamlConfigurationSwapper().swapToYamlConfiguration(targetWrapper);
+ YamlJDBCDataSourceConfiguration result = new
YamlJDBCDataSourceConfiguration();
+ result.setType(targetConfig.getType());
+ result.setParameter(targetConfig.getParameter());
+ return result;
}
}
diff --git
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/PipelineJobAPIImplTest.java
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/PipelineJobAPIImplTest.java
index cb90613..5ac6109 100644
---
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/PipelineJobAPIImplTest.java
+++
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/api/impl/PipelineJobAPIImplTest.java
@@ -32,7 +32,7 @@ import
org.apache.shardingsphere.data.pipeline.core.fixture.FixtureDataConsisten
import org.apache.shardingsphere.data.pipeline.core.util.ResourceUtil;
import
org.apache.shardingsphere.data.pipeline.core.util.RuleAlteredContextUtil;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.creator.JDBCDataSourceCreatorFactory;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -193,9 +193,9 @@ public final class PipelineJobAPIImplTest {
@SneakyThrows(SQLException.class)
private void initTableData(final RuleConfiguration ruleConfig) {
- JDBCDataSourceConfiguration sourceConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getSource()).unwrap();
+ JDBCDataSourceConfiguration sourceConfig =
JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getSource().getType(),
ruleConfig.getSource().getParameter());
initTableData(JDBCDataSourceCreatorFactory.getInstance(sourceConfig.getType()).createDataSource(sourceConfig.getDataSourceConfiguration()));
- JDBCDataSourceConfiguration targetConfig = new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(ruleConfig.getTarget()).unwrap();
+ JDBCDataSourceConfiguration targetConfig =
JDBCDataSourceConfigurationFactory.newInstance(ruleConfig.getTarget().getType(),
ruleConfig.getTarget().getParameter());
initTableData(JDBCDataSourceCreatorFactory.getInstance(targetConfig.getType()).createDataSource(targetConfig.getDataSourceConfiguration()));
}
diff --git
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/datasource/DataSourceManagerTest.java
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/datasource/DataSourceManagerTest.java
index 89a9586..7b874a4 100644
---
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/datasource/DataSourceManagerTest.java
+++
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/datasource/DataSourceManagerTest.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.data.pipeline.core.datasource;
import
org.apache.shardingsphere.data.pipeline.api.config.rulealtered.JobConfiguration;
import org.apache.shardingsphere.data.pipeline.core.util.ReflectionUtil;
import org.apache.shardingsphere.data.pipeline.core.util.ResourceUtil;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationFactory;
import org.junit.Before;
import org.junit.Test;
@@ -45,15 +45,18 @@ public final class DataSourceManagerTest {
@Test
public void assertGetDataSource() {
DataSourceManager dataSourceManager = new DataSourceManager();
- DataSource actual = dataSourceManager.getDataSource(new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobConfig.getRuleConfig().getSource()).unwrap());
+ DataSource actual = dataSourceManager.getDataSource(
+
JDBCDataSourceConfigurationFactory.newInstance(jobConfig.getRuleConfig().getSource().getType(),
jobConfig.getRuleConfig().getSource().getParameter()));
assertThat(actual, instanceOf(DataSourceWrapper.class));
}
@Test
public void assertClose() throws NoSuchFieldException,
IllegalAccessException {
try (DataSourceManager dataSourceManager = new DataSourceManager()) {
- dataSourceManager.createSourceDataSource(new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobConfig.getRuleConfig().getSource()).unwrap());
- dataSourceManager.createTargetDataSource(new
JDBCDataSourceYamlConfigurationSwapper().swapToObject(jobConfig.getRuleConfig().getTarget()).unwrap());
+ dataSourceManager.createSourceDataSource(
+
JDBCDataSourceConfigurationFactory.newInstance(jobConfig.getRuleConfig().getSource().getType(),
jobConfig.getRuleConfig().getSource().getParameter()));
+ dataSourceManager.createTargetDataSource(
+
JDBCDataSourceConfigurationFactory.newInstance(jobConfig.getRuleConfig().getTarget().getType(),
jobConfig.getRuleConfig().getTarget().getParameter()));
Map<?, ?> cachedDataSources =
ReflectionUtil.getFieldValue(dataSourceManager, "cachedDataSources", Map.class);
assertNotNull(cachedDataSources);
assertThat(cachedDataSources.size(), is(2));
diff --git
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/ResourceUtil.java
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/ResourceUtil.java
index 0d837ff..1aeab5e 100644
---
a/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/ResourceUtil.java
+++
b/shardingsphere-test/shardingsphere-pipeline-test/src/test/java/org/apache/shardingsphere/data/pipeline/core/util/ResourceUtil.java
@@ -24,11 +24,9 @@ import
org.apache.shardingsphere.data.pipeline.api.config.rulealtered.JobConfigu
import
org.apache.shardingsphere.data.pipeline.api.config.rulealtered.RuleConfiguration;
import
org.apache.shardingsphere.data.pipeline.api.config.rulealtered.WorkflowConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfiguration;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.JDBCDataSourceConfigurationWrapper;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.JDBCDataSourceYamlConfigurationSwapper;
-import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.YamlJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.ShardingSphereJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.impl.StandardJDBCDataSourceConfiguration;
+import
org.apache.shardingsphere.infra.config.datasource.jdbc.config.yaml.YamlJDBCDataSourceConfiguration;
import
org.apache.shardingsphere.sharding.yaml.config.YamlShardingRuleConfiguration;
import java.io.IOException;
@@ -71,9 +69,11 @@ public final class ResourceUtil {
return result;
}
- private static YamlJDBCDataSourceConfiguration
createYamlJDBCDataSourceConfiguration(final JDBCDataSourceConfiguration
jdbcDataSourceConfig) {
- JDBCDataSourceConfigurationWrapper targetWrapper = new
JDBCDataSourceConfigurationWrapper(jdbcDataSourceConfig.getType(),
jdbcDataSourceConfig.getParameter());
- return new
JDBCDataSourceYamlConfigurationSwapper().swapToYamlConfiguration(targetWrapper);
+ private static YamlJDBCDataSourceConfiguration
createYamlJDBCDataSourceConfiguration(final JDBCDataSourceConfiguration config)
{
+ YamlJDBCDataSourceConfiguration result = new
YamlJDBCDataSourceConfiguration();
+ result.setType(config.getType());
+ result.setParameter(config.getParameter());
+ return result;
}
@SneakyThrows(IOException.class)