This is an automated email from the ASF dual-hosted git repository. aloyszhang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push: new 5056e49b41 [INLONG-11089][Manager] Optimize Sort filter function (#11090) 5056e49b41 is described below commit 5056e49b416fcd5e19522069d30022bd1e9686f8 Author: vernedeng <verned...@apache.org> AuthorDate: Fri Sep 13 10:01:16 2024 +0800 [INLONG-11089][Manager] Optimize Sort filter function (#11090) --- .../apache/inlong/manager/pojo/sort/util/FilterFunctionUtils.java | 6 +++--- .../apache/inlong/sort/protocol/transformation/FilterFunction.java | 7 ++++++- .../sort/protocol/transformation/function/BetweenFunction.java | 6 ++---- .../protocol/transformation/function/MultiValueFilterFunction.java | 5 ++--- .../transformation/function/SingleValueFilterFunction.java | 4 +--- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/FilterFunctionUtils.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/FilterFunctionUtils.java index fbc93f4e91..1b3eadc7f2 100644 --- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/FilterFunctionUtils.java +++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/FilterFunctionUtils.java @@ -98,11 +98,11 @@ public class FilterFunctionUtils { .map(filterRule -> createFilterFunction(filterRule, transformName)).collect(Collectors.toList()); // Move logicOperator to preFunction for (int index = filterFunctions.size() - 1; index > 0; index--) { - SingleValueFilterFunction function = (SingleValueFilterFunction) filterFunctions.get(index); - SingleValueFilterFunction preFunction = (SingleValueFilterFunction) filterFunctions.get(index - 1); + FilterFunction function = filterFunctions.get(index); + FilterFunction preFunction = filterFunctions.get(index - 1); function.setLogicOperator(preFunction.getLogicOperator()); } - ((SingleValueFilterFunction) filterFunctions.get(0)).setLogicOperator(EmptyOperator.getInstance()); + (filterFunctions.get(0)).setLogicOperator(EmptyOperator.getInstance()); return filterFunctions; } diff --git a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/FilterFunction.java b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/FilterFunction.java index bc07a89d80..77efea72b9 100644 --- a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/FilterFunction.java +++ b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/FilterFunction.java @@ -21,6 +21,8 @@ import org.apache.inlong.sort.protocol.transformation.function.BetweenFunction; import org.apache.inlong.sort.protocol.transformation.function.MultiValueFilterFunction; import org.apache.inlong.sort.protocol.transformation.function.SingleValueFilterFunction; +import lombok.Data; +import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty; import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonSubTypes; import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeInfo; @@ -33,6 +35,9 @@ import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTyp @JsonSubTypes.Type(value = MultiValueFilterFunction.class, name = "multiValueFilter"), @JsonSubTypes.Type(value = BetweenFunction.class, name = "betweenFunction") }) -public interface FilterFunction extends Function { +@Data +public abstract class FilterFunction implements Function { + @JsonProperty("logicOperator") + protected LogicOperator logicOperator; } diff --git a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/BetweenFunction.java b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/BetweenFunction.java index 3a4d639074..28d0a0c371 100644 --- a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/BetweenFunction.java +++ b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/BetweenFunction.java @@ -30,6 +30,7 @@ import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTyp import javax.annotation.Nonnull; +import java.io.Serializable; import java.util.Arrays; import java.util.List; @@ -38,7 +39,7 @@ import java.util.List; */ @JsonTypeName("betweenFunction") @Data -public class BetweenFunction implements FilterFunction { +public class BetweenFunction extends FilterFunction implements Serializable { @Nonnull @JsonProperty("field") @@ -49,9 +50,6 @@ public class BetweenFunction implements FilterFunction { @Nonnull @JsonProperty("end") private final FunctionParam end; - @Nonnull - @JsonProperty("logicOperator") - private final LogicOperator logicOperator; @JsonCreator public BetweenFunction( diff --git a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/MultiValueFilterFunction.java b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/MultiValueFilterFunction.java index ef1945c791..6db7cefe81 100644 --- a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/MultiValueFilterFunction.java +++ b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/MultiValueFilterFunction.java @@ -30,6 +30,7 @@ import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonCre import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonProperty; import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeName; +import java.io.Serializable; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -40,7 +41,7 @@ import java.util.stream.Collectors; @JsonTypeName("multiValueFilter") @Data @NoArgsConstructor -public class MultiValueFilterFunction implements FilterFunction { +public class MultiValueFilterFunction extends FilterFunction implements Serializable { @JsonProperty("source") private FunctionParam source; @@ -48,8 +49,6 @@ public class MultiValueFilterFunction implements FilterFunction { private List<FunctionParam> targets; @JsonProperty("compareOperator") private MultiValueCompareOperator compareOperator; - @JsonProperty("logicOperator") - private LogicOperator logicOperator; @JsonCreator public MultiValueFilterFunction( diff --git a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/SingleValueFilterFunction.java b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/SingleValueFilterFunction.java index cfb743a1e0..eac6a2c3cf 100644 --- a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/SingleValueFilterFunction.java +++ b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/transformation/function/SingleValueFilterFunction.java @@ -39,7 +39,7 @@ import java.util.List; @JsonTypeName("singleValueFilter") @Data @NoArgsConstructor -public class SingleValueFilterFunction implements FilterFunction, Serializable { +public class SingleValueFilterFunction extends FilterFunction implements Serializable { private static final long serialVersionUID = 8953419088907830331L; @@ -49,8 +49,6 @@ public class SingleValueFilterFunction implements FilterFunction, Serializable { private FunctionParam target; @JsonProperty("compareOperator") private SingleValueCompareOperator compareOperator; - @JsonProperty("logicOperator") - private LogicOperator logicOperator; @JsonCreator public SingleValueFilterFunction(