You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/10/06 10:19:40 UTC

[shardingsphere] branch master updated: Refactor YamlMigrationJobConfigurationSwapper.swapToObject from String (#21358)

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

panjuan 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 488faa75190 Refactor YamlMigrationJobConfigurationSwapper.swapToObject from String (#21358)
488faa75190 is described below

commit 488faa75190969947759902ccb5f7d72410fe5ad
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Oct 6 18:19:29 2022 +0800

    Refactor YamlMigrationJobConfigurationSwapper.swapToObject from String (#21358)
---
 .../job/yaml/YamlMigrationJobConfigurationSwapper.java      | 13 +++++--------
 .../api/datasource/config/yaml/YamlJdbcConfiguration.java   |  3 ++-
 .../MigrationChangedJobConfigurationProcessor.java          |  2 +-
 .../data/pipeline/scenario/migration/MigrationJob.java      |  2 +-
 .../pipeline/scenario/migration/MigrationJobAPIImpl.java    |  2 +-
 5 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/job/yaml/YamlMigrationJobConfigurationSwapper.java b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/job/yaml/YamlMigrationJobConfigurationSwapper.java
index 1fd2e5bf86b..e11a5709f84 100644
--- a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/job/yaml/YamlMigrationJobConfigurationSwapper.java
+++ b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/config/job/yaml/YamlMigrationJobConfigurationSwapper.java
@@ -29,8 +29,6 @@ import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwappe
 // TODO add test
 public final class YamlMigrationJobConfigurationSwapper implements YamlConfigurationSwapper<YamlMigrationJobConfiguration, MigrationJobConfiguration> {
     
-    private static final YamlMigrationJobConfigurationSwapper JOB_CONFIG_SWAPPER = new YamlMigrationJobConfigurationSwapper();
-    
     private final YamlPipelineDataSourceConfigurationSwapper dataSourceConfigSwapper = new YamlPipelineDataSourceConfigurationSwapper();
     
     private final YamlPipelineColumnMetaDataSwapper pipelineColumnMetaDataSwapper = new YamlPipelineColumnMetaDataSwapper();
@@ -68,13 +66,12 @@ public final class YamlMigrationJobConfigurationSwapper implements YamlConfigura
     }
     
     /**
-     * Swap to job configuration from text.
+     * Swap to migration job configuration from YAML text.
      *
-     * @param jobParameter job parameter
-     * @return job configuration
+     * @param jobParameter job parameter YAML text
+     * @return migration job configuration
      */
-    public static MigrationJobConfiguration swapToObject(final String jobParameter) {
-        YamlMigrationJobConfiguration yamlJobConfig = YamlEngine.unmarshal(jobParameter, YamlMigrationJobConfiguration.class, true);
-        return JOB_CONFIG_SWAPPER.swapToObject(yamlJobConfig);
+    public MigrationJobConfiguration swapToObject(final String jobParameter) {
+        return swapToObject(YamlEngine.unmarshal(jobParameter, YamlMigrationJobConfiguration.class, true));
     }
 }
diff --git a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/yaml/YamlJdbcConfiguration.java b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/yaml/YamlJdbcConfiguration.java
index 1af13562bf1..a6248669736 100644
--- a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/yaml/YamlJdbcConfiguration.java
+++ b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/datasource/config/yaml/YamlJdbcConfiguration.java
@@ -19,13 +19,14 @@ package org.apache.shardingsphere.data.pipeline.api.datasource.config.yaml;
 
 import lombok.Getter;
 import lombok.Setter;
+import org.apache.shardingsphere.infra.util.yaml.YamlConfiguration;
 
 /**
  * JDBC configuration for YAML.
  */
 @Getter
 @Setter
-public final class YamlJdbcConfiguration {
+public final class YamlJdbcConfiguration implements YamlConfiguration {
     
     private String jdbcUrl;
     
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationChangedJobConfigurationProcessor.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationChangedJobConfigurationProcessor.java
index 490bcb2afe7..1e00ade3a8f 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationChangedJobConfigurationProcessor.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationChangedJobConfigurationProcessor.java
@@ -60,7 +60,7 @@ public final class MigrationChangedJobConfigurationProcessor implements Pipeline
                 break;
             case DELETED:
                 log.info("deleted jobId={}", jobId);
-                new MigrationJobPreparer().cleanup(YamlMigrationJobConfigurationSwapper.swapToObject(jobConfigPOJO.getJobParameter()));
+                new MigrationJobPreparer().cleanup(new YamlMigrationJobConfigurationSwapper().swapToObject(jobConfigPOJO.getJobParameter()));
                 PipelineJobCenter.stop(jobId);
                 break;
             default:
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJob.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJob.java
index 67fd3c59616..ea9f6cbdf8a 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJob.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJob.java
@@ -65,7 +65,7 @@ public final class MigrationJob extends AbstractPipelineJob implements SimpleJob
             return;
         }
         setJobId(shardingContext.getJobName());
-        MigrationJobConfiguration jobConfig = YamlMigrationJobConfigurationSwapper.swapToObject(shardingContext.getJobParameter());
+        MigrationJobConfiguration jobConfig = new YamlMigrationJobConfigurationSwapper().swapToObject(shardingContext.getJobParameter());
         InventoryIncrementalJobItemProgress initProgress = jobAPI.getJobItemProgress(shardingContext.getJobName(), shardingItem);
         MigrationProcessContext jobProcessContext = jobAPI.buildPipelineProcessContext(jobConfig);
         MigrationTaskConfiguration taskConfig = jobAPI.buildTaskConfiguration(jobConfig, shardingItem, jobProcessContext.getPipelineProcessConfig());
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java
index e88940af179..bb465693591 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobAPIImpl.java
@@ -178,7 +178,7 @@ public final class MigrationJobAPIImpl extends AbstractInventoryIncrementalJobAP
     
     @Override
     protected MigrationJobConfiguration getJobConfiguration(final JobConfigurationPOJO jobConfigPOJO) {
-        return YamlMigrationJobConfigurationSwapper.swapToObject(jobConfigPOJO.getJobParameter());
+        return new YamlMigrationJobConfigurationSwapper().swapToObject(jobConfigPOJO.getJobParameter());
     }
     
     @Override