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)

Reply via email to