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 <[email protected]>
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(