This is an automated email from the ASF dual-hosted git repository.
dockerzhang 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 2fc24485d1 [INLONG-9718][Manager] Transform supports function type
fields (#9719)
2fc24485d1 is described below
commit 2fc24485d1c0f6e6a220082fde3589f28a2957cb
Author: fuweng11 <[email protected]>
AuthorDate: Wed Feb 21 12:42:59 2024 +0800
[INLONG-9718][Manager] Transform supports function type fields (#9719)
---
.../manager/pojo/sort/util/FilterFunctionUtils.java | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 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 d368e67cb3..fbc93f4e91 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
@@ -17,6 +17,7 @@
package org.apache.inlong.manager.pojo.sort.util;
+import org.apache.inlong.manager.common.enums.FieldType;
import org.apache.inlong.manager.common.enums.TransformType;
import org.apache.inlong.manager.common.util.Preconditions;
import org.apache.inlong.manager.pojo.stream.StreamField;
@@ -35,6 +36,7 @@ import
org.apache.inlong.sort.protocol.transformation.FilterFunction;
import org.apache.inlong.sort.protocol.transformation.FunctionParam;
import org.apache.inlong.sort.protocol.transformation.LogicOperator;
import
org.apache.inlong.sort.protocol.transformation.SingleValueCompareOperator;
+import org.apache.inlong.sort.protocol.transformation.function.CustomFunction;
import
org.apache.inlong.sort.protocol.transformation.function.SingleValueFilterFunction;
import org.apache.inlong.sort.protocol.transformation.operator.AndOperator;
import org.apache.inlong.sort.protocol.transformation.operator.EmptyOperator;
@@ -145,8 +147,13 @@ public class FilterFunctionUtils {
String fieldType = streamField.getFieldType();
String fieldFormat = streamField.getFieldFormat();
String fieldName = streamField.getFieldName();
- FieldInfo sourceFieldInfo = new FieldInfo(fieldName, transformName,
- FieldInfoUtils.convertFieldFormat(fieldType, fieldFormat));
+ FunctionParam sourceFieldInfo;
+ if
(FieldType.FUNCTION.name().equalsIgnoreCase(streamField.getFieldType())) {
+ sourceFieldInfo = new CustomFunction(streamField.getFieldName());
+ } else {
+ sourceFieldInfo = new FieldInfo(fieldName, transformName,
+ FieldInfoUtils.convertFieldFormat(fieldType, fieldFormat));
+ }
OperationType operationType = filterRule.getOperationType();
SingleValueCompareOperator compareOperator =
parseCompareOperator(operationType);
TargetValue targetValue = filterRule.getTargetValue();
@@ -183,8 +190,12 @@ public class FilterFunctionUtils {
String fieldType = targetField.getFieldType();
String fieldFormat = targetField.getFieldFormat();
String fieldName = targetField.getFieldName();
- return new FieldInfo(fieldName, transformName,
- FieldInfoUtils.convertFieldFormat(fieldType, fieldFormat));
+ if (FieldType.FUNCTION.name().equalsIgnoreCase(fieldType)) {
+ return new CustomFunction(fieldName);
+ } else {
+ return new FieldInfo(fieldName, transformName,
+ FieldInfoUtils.convertFieldFormat(fieldType,
fieldFormat));
+ }
}
}