You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/05/06 05:06:50 UTC

[shardingsphere] branch master updated: Clean pipeline code (#25483)

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

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new f758af7eb22 Clean pipeline code (#25483)
f758af7eb22 is described below

commit f758af7eb222e30e4c4e19b83ed61b91f74adf9f
Author: Hongsheng Zhong <zh...@apache.org>
AuthorDate: Sat May 6 13:06:38 2023 +0800

    Clean pipeline code (#25483)
    
    * Move ConsistencyCheckJobType to scenario module
    
    * Remove unused ToString annotation
    
    * Simplify equals and hashCode with EqualsAndHashCode
---
 .../api/ingest/record/GroupedDataRecord.java       |  2 --
 .../data/pipeline/api/metadata/IdentifierName.java | 23 +++-------------------
 .../pipeline/api/metadata/SchemaTableName.java     | 21 ++------------------
 .../api/metadata/model/PipelineColumnMetaData.java | 21 ++------------------
 .../api/metadata/model/PipelineTableMetaData.java  | 19 ++----------------
 .../DataConsistencyCalculateParameter.java         |  2 --
 .../distsql/statement/pojo/SourceTargetEntry.java  | 22 +++------------------
 .../consistencycheck/ConsistencyCheckJobId.java    |  1 -
 .../consistencycheck}/ConsistencyCheckJobType.java |  2 +-
 .../api/impl/ConsistencyCheckJobAPI.java           |  2 +-
 ...dConsistencyCheckJobConfigurationProcessor.java |  2 +-
 ...he.shardingsphere.data.pipeline.spi.job.JobType |  2 +-
 .../yaml/job/YamlMigrationJobConfiguration.java    |  2 --
 .../data/pipeline/spi/job/JobTypeFactoryTest.java  |  2 +-
 14 files changed, 17 insertions(+), 106 deletions(-)

diff --git a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/ingest/record/GroupedDataRecord.java b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/ingest/record/GroupedDataRecord.java
index 4cb8b94939d..50b6ae30de3 100644
--- a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/ingest/record/GroupedDataRecord.java
+++ b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/ingest/record/GroupedDataRecord.java
@@ -19,13 +19,11 @@ package org.apache.shardingsphere.data.pipeline.api.ingest.record;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import lombok.ToString;
 
 import java.util.List;
 
 @RequiredArgsConstructor
 @Getter
-@ToString
 public final class GroupedDataRecord {
     
     private final String tableName;
diff --git a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/IdentifierName.java b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/IdentifierName.java
index 970cb243b66..b6a2776da06 100644
--- a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/IdentifierName.java
+++ b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/IdentifierName.java
@@ -17,16 +17,17 @@
 
 package org.apache.shardingsphere.data.pipeline.api.metadata;
 
+import lombok.EqualsAndHashCode;
 import lombok.Getter;
 
-import java.util.Objects;
-
 /**
  * Identifier name.
  * <p>It might be schema name or table name, etc.</p>
  * <p>It's case-insensitive.</p>
  */
 @Getter
+// TODO table name case-sensitive for some database
+@EqualsAndHashCode(of = "lowercase")
 public class IdentifierName {
     
     private final String original;
@@ -38,24 +39,6 @@ public class IdentifierName {
         this.lowercase = null != identifierName ? identifierName.toLowerCase() : null;
     }
     
-    // TODO table name case-sensitive for some database
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (null == o || getClass() != o.getClass()) {
-            return false;
-        }
-        final IdentifierName tableName = (IdentifierName) o;
-        return lowercase.equals(tableName.lowercase);
-    }
-    
-    @Override
-    public int hashCode() {
-        return Objects.hash(lowercase);
-    }
-    
     @Override
     public String toString() {
         return original;
diff --git a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/SchemaTableName.java b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/SchemaTableName.java
index ce815f18ed1..c85372ab79b 100644
--- a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/SchemaTableName.java
+++ b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/SchemaTableName.java
@@ -17,18 +17,18 @@
 
 package org.apache.shardingsphere.data.pipeline.api.metadata;
 
+import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import lombok.ToString;
 
-import java.util.Objects;
-
 /**
  * Schema name and table name.
  */
 @RequiredArgsConstructor
 @Getter
+@EqualsAndHashCode
 @ToString
 public class SchemaTableName {
     
@@ -37,21 +37,4 @@ public class SchemaTableName {
     
     @NonNull
     private final TableName tableName;
-    
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (null == o || getClass() != o.getClass()) {
-            return false;
-        }
-        final SchemaTableName that = (SchemaTableName) o;
-        return schemaName.equals(that.schemaName) && tableName.equals(that.tableName);
-    }
-    
-    @Override
-    public int hashCode() {
-        return Objects.hash(schemaName, tableName);
-    }
 }
diff --git a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineColumnMetaData.java b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineColumnMetaData.java
index 38952a4f30a..1e0fb69d124 100644
--- a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineColumnMetaData.java
+++ b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineColumnMetaData.java
@@ -17,18 +17,18 @@
 
 package org.apache.shardingsphere.data.pipeline.api.metadata.model;
 
+import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 import lombok.ToString;
 
-import java.util.Objects;
-
 /**
  * Column meta data.
  */
 @RequiredArgsConstructor
 @Getter
+@EqualsAndHashCode(of = "name")
 @ToString
 public final class PipelineColumnMetaData implements Comparable<PipelineColumnMetaData> {
     
@@ -47,23 +47,6 @@ public final class PipelineColumnMetaData implements Comparable<PipelineColumnMe
     
     private final boolean uniqueKey;
     
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (null == o || getClass() != o.getClass()) {
-            return false;
-        }
-        final PipelineColumnMetaData that = (PipelineColumnMetaData) o;
-        return name.equals(that.name);
-    }
-    
-    @Override
-    public int hashCode() {
-        return Objects.hash(name);
-    }
-    
     @Override
     public int compareTo(final PipelineColumnMetaData o) {
         return Integer.compare(ordinalPosition, o.ordinalPosition);
diff --git a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineTableMetaData.java b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineTableMetaData.java
index 1f8aee1d05e..17df4192867 100644
--- a/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineTableMetaData.java
+++ b/kernel/data-pipeline/api/src/main/java/org/apache/shardingsphere/data/pipeline/api/metadata/model/PipelineTableMetaData.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.data.pipeline.api.metadata.model;
 
+import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.ToString;
@@ -27,13 +28,13 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
  * Pipeline table meta data.
  */
 @Slf4j
+@EqualsAndHashCode(of = "name")
 @ToString
 public final class PipelineTableMetaData {
     
@@ -86,20 +87,4 @@ public final class PipelineTableMetaData {
         }
         return result;
     }
-    
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (null == o || getClass() != o.getClass()) {
-            return false;
-        }
-        return name.equals(((PipelineTableMetaData) o).name);
-    }
-    
-    @Override
-    public int hashCode() {
-        return Objects.hash(name);
-    }
 }
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/api/check/consistency/DataConsistencyCalculateParameter.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/api/check/consistency/DataConsistencyCalculateParameter.java
index cbfc9eeb87d..54cca356b87 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/api/check/consistency/DataConsistencyCalculateParameter.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/api/check/consistency/DataConsistencyCalculateParameter.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.data.pipeline.api.check.consistency;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
-import lombok.ToString;
 import org.apache.shardingsphere.data.pipeline.api.datasource.PipelineDataSourceWrapper;
 import org.apache.shardingsphere.data.pipeline.api.metadata.model.PipelineColumnMetaData;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @RequiredArgsConstructor
 @Getter
 @Setter
-@ToString
 public final class DataConsistencyCalculateParameter {
     
     /**
diff --git a/kernel/data-pipeline/distsql/statement/src/main/java/org/apache/shardingsphere/migration/distsql/statement/pojo/SourceTargetEntry.java b/kernel/data-pipeline/distsql/statement/src/main/java/org/apache/shardingsphere/migration/distsql/statement/pojo/SourceTargetEntry.java
index 72c89b355bb..82a2180ce8c 100644
--- a/kernel/data-pipeline/distsql/statement/src/main/java/org/apache/shardingsphere/migration/distsql/statement/pojo/SourceTargetEntry.java
+++ b/kernel/data-pipeline/distsql/statement/src/main/java/org/apache/shardingsphere/migration/distsql/statement/pojo/SourceTargetEntry.java
@@ -17,39 +17,23 @@
 
 package org.apache.shardingsphere.migration.distsql.statement.pojo;
 
+import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 
-import java.util.Objects;
-
 /**
  * Source target entry.
  */
 @RequiredArgsConstructor
 @Getter
+@EqualsAndHashCode(of = {"source", "targetTableName"})
 public final class SourceTargetEntry {
     
+    // TODO Remove targetDatabaseName, or keep it but rebuild it
     private final String targetDatabaseName;
     
     private final DataNode source;
     
     private final String targetTableName;
-    
-    @Override
-    public boolean equals(final Object object) {
-        if (this == object) {
-            return true;
-        }
-        if (null == object || getClass() != object.getClass()) {
-            return false;
-        }
-        final SourceTargetEntry that = (SourceTargetEntry) object;
-        return source.equals(that.source) && targetTableName.equals(that.targetTableName);
-    }
-    
-    @Override
-    public int hashCode() {
-        return Objects.hash(source, targetTableName);
-    }
 }
diff --git a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
index f8c163cedb2..41072cf3209 100644
--- a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
+++ b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobId.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import lombok.ToString;
 import org.apache.shardingsphere.data.pipeline.core.context.PipelineContextKey;
 import org.apache.shardingsphere.data.pipeline.core.job.AbstractPipelineJobId;
-import org.apache.shardingsphere.data.pipeline.core.job.type.ConsistencyCheckJobType;
 import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.util.ConsistencyCheckSequence;
 
 /**
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/type/ConsistencyCheckJobType.java b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobType.java
similarity index 93%
rename from kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/type/ConsistencyCheckJobType.java
rename to kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobType.java
index 6f285e34aea..a24c3c2c507 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/type/ConsistencyCheckJobType.java
+++ b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/ConsistencyCheckJobType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.data.pipeline.core.job.type;
+package org.apache.shardingsphere.data.pipeline.scenario.consistencycheck;
 
 import org.apache.shardingsphere.data.pipeline.api.job.type.AbstractJobType;
 
diff --git a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/impl/ConsistencyCheckJobAPI.java b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/impl/ConsistencyCheckJobAPI.java
index 7394c37c6aa..ee65aa3b52f 100644
--- a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/impl/ConsistencyCheckJobAPI.java
+++ b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/api/impl/ConsistencyCheckJobAPI.java
@@ -43,9 +43,9 @@ import org.apache.shardingsphere.data.pipeline.core.exception.job.UncompletedCon
 import org.apache.shardingsphere.data.pipeline.core.job.PipelineJobIdUtils;
 import org.apache.shardingsphere.data.pipeline.core.job.progress.yaml.YamlConsistencyCheckJobItemProgress;
 import org.apache.shardingsphere.data.pipeline.core.job.progress.yaml.YamlConsistencyCheckJobItemProgressSwapper;
-import org.apache.shardingsphere.data.pipeline.core.job.type.ConsistencyCheckJobType;
 import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.ConsistencyCheckJob;
 import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.ConsistencyCheckJobId;
+import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.ConsistencyCheckJobType;
 import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.api.pojo.CreateConsistencyCheckJobParameter;
 import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.config.ConsistencyCheckJobConfiguration;
 import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.config.yaml.YamlConsistencyCheckJobConfiguration;
diff --git a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/metadata/processor/ChangedConsistencyCheckJobConfigurationProcessor.java b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/metadata/processor/ChangedConsistencyCheckJobConfigurationProcessor.java
index 4a1205a4606..5d418989f7f 100644
--- a/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/metadata/processor/ChangedConsistencyCheckJobConfigurationProcessor.java
+++ b/kernel/data-pipeline/scenario/consistencycheck/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/consistencycheck/metadata/processor/ChangedConsistencyCheckJobConfigurationProcessor.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.metada
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.data.pipeline.core.job.AbstractPipelineJob;
-import org.apache.shardingsphere.data.pipeline.core.job.type.ConsistencyCheckJobType;
 import org.apache.shardingsphere.data.pipeline.core.metadata.node.config.processor.impl.AbstractChangedJobConfigurationProcessor;
 import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.ConsistencyCheckJob;
+import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.ConsistencyCheckJobType;
 import org.apache.shardingsphere.data.pipeline.spi.job.JobType;
 import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
 
diff --git a/kernel/data-pipeline/core/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.job.JobType b/kernel/data-pipeline/scenario/consistencycheck/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.job.JobType
similarity index 89%
rename from kernel/data-pipeline/core/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.job.JobType
rename to kernel/data-pipeline/scenario/consistencycheck/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.job.JobType
index 51dc1de8e14..7bcc05f5cdd 100644
--- a/kernel/data-pipeline/core/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.job.JobType
+++ b/kernel/data-pipeline/scenario/consistencycheck/src/main/resources/META-INF/services/org.apache.shardingsphere.data.pipeline.spi.job.JobType
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.data.pipeline.core.job.type.ConsistencyCheckJobType
+org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.ConsistencyCheckJobType
diff --git a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/yaml/job/YamlMigrationJobConfiguration.java b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/yaml/job/YamlMigrationJobConfiguration.java
index 9df547a3344..3b91d80512c 100644
--- a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/yaml/job/YamlMigrationJobConfiguration.java
+++ b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/yaml/job/YamlMigrationJobConfiguration.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.data.pipeline.yaml.job;
 import com.google.common.base.Preconditions;
 import lombok.Getter;
 import lombok.Setter;
-import lombok.ToString;
 import org.apache.shardingsphere.data.pipeline.api.config.job.yaml.YamlPipelineJobConfiguration;
 import org.apache.shardingsphere.data.pipeline.api.datasource.config.yaml.YamlPipelineDataSourceConfiguration;
 
@@ -32,7 +31,6 @@ import java.util.Map;
  */
 @Getter
 @Setter
-@ToString(exclude = {"sources", "target"})
 public final class YamlMigrationJobConfiguration implements YamlPipelineJobConfiguration {
     
     private String jobId;
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/spi/job/JobTypeFactoryTest.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/spi/job/JobTypeFactoryTest.java
index 7ba03064540..a1e7be46f80 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/spi/job/JobTypeFactoryTest.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/spi/job/JobTypeFactoryTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.test.it.data.pipeline.spi.job;
 
 import org.apache.commons.lang3.tuple.Pair;
-import org.apache.shardingsphere.data.pipeline.core.job.type.ConsistencyCheckJobType;
+import org.apache.shardingsphere.data.pipeline.scenario.consistencycheck.ConsistencyCheckJobType;
 import org.apache.shardingsphere.data.pipeline.scenario.migration.MigrationJobType;
 import org.apache.shardingsphere.data.pipeline.spi.job.JobType;
 import org.apache.shardingsphere.data.pipeline.spi.job.JobTypeFactory;