This is an automated email from the ASF dual-hosted git repository.
healchow 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 4172bb438 [INLONG-5409][Manager] Fix JSON serialization error for
class BaseSortConf (#5410)
4172bb438 is described below
commit 4172bb438fcfe7806dc4953b27158795bd348dc3
Author: Xin Gong <[email protected]>
AuthorDate: Tue Aug 9 13:16:11 2022 +0800
[INLONG-5409][Manager] Fix JSON serialization error for class BaseSortConf
(#5410)
---
.../client/api/inner/ClientFactoryTest.java | 4 +-
.../inlong/manager/pojo/sort/BaseSortConf.java | 2 -
.../inlong/manager/pojo/sort/FlinkSortConf.java | 9 ++---
.../manager/pojo/sort/UserDefinedSortConf.java | 9 ++---
.../inlong/manager/pojo/sort/BaseSortConfTest.java | 43 ++++++++++++++++++++++
5 files changed, 54 insertions(+), 13 deletions(-)
diff --git
a/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
b/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
index 1143a2212..582aabc7c 100644
---
a/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
+++
b/inlong-manager/manager-client/src/test/java/org/apache/inlong/manager/client/api/inner/ClientFactoryTest.java
@@ -70,6 +70,7 @@ import
org.apache.inlong.manager.pojo.sink.iceberg.IcebergSink;
import org.apache.inlong.manager.pojo.sink.kafka.KafkaSink;
import org.apache.inlong.manager.pojo.sink.mysql.MySQLSink;
import org.apache.inlong.manager.pojo.sink.postgresql.PostgreSQLSink;
+import org.apache.inlong.manager.pojo.sort.FlinkSortConf;
import org.apache.inlong.manager.pojo.source.StreamSource;
import org.apache.inlong.manager.pojo.source.autopush.AutoPushSource;
import org.apache.inlong.manager.pojo.source.file.FileSource;
@@ -151,6 +152,7 @@ class ClientFactoryTest {
@Test
void testGetGroupInfo() {
+ FlinkSortConf flinkSortConf = new FlinkSortConf();
InlongPulsarInfo inlongGroupResponse = InlongPulsarInfo.builder()
.id(1)
.inlongGroupId("1")
@@ -164,7 +166,7 @@ class ClientFactoryTest {
.keyValue("keyValue")
.build()
)
- ).build();
+ ).sortConf(flinkSortConf).build();
stubFor(
get(urlMatching("/inlong/manager/api/group/get/1.*"))
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/BaseSortConf.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/BaseSortConf.java
index fe01e4b28..a28b7cc27 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/BaseSortConf.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/BaseSortConf.java
@@ -29,8 +29,6 @@ import lombok.Data;
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, visible = true, property =
"sortType")
public abstract class BaseSortConf {
- public String sortType;
-
public abstract SortType getType();
public static final String SORT_FLINK = "flink";
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/FlinkSortConf.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/FlinkSortConf.java
index e6aa9ed6a..1dbbd7c81 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/FlinkSortConf.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/FlinkSortConf.java
@@ -17,7 +17,6 @@
package org.apache.inlong.manager.pojo.sort;
-import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.collect.Maps;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -37,10 +36,6 @@ import java.util.Map;
@JsonTypeDefine(value = BaseSortConf.SORT_FLINK)
public class FlinkSortConf extends BaseSortConf {
- @JsonIgnore
- @ApiModelProperty(value = "Sort type")
- private SortType type = SortType.FLINK;
-
@ApiModelProperty("Authentication")
private Authentication authentication;
@@ -52,4 +47,8 @@ public class FlinkSortConf extends BaseSortConf {
@ApiModelProperty("Other properties if needed")
private Map<String, String> properties = Maps.newHashMap();
+
+ public SortType getType() {
+ return SortType.FLINK;
+ }
}
diff --git
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/UserDefinedSortConf.java
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/UserDefinedSortConf.java
index 5a4ff1975..6a71cb9ad 100644
---
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/UserDefinedSortConf.java
+++
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/UserDefinedSortConf.java
@@ -17,7 +17,6 @@
package org.apache.inlong.manager.pojo.sort;
-import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.collect.Maps;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -36,13 +35,13 @@ import java.util.Map;
@JsonTypeDefine(value = BaseSortConf.SORT_USER_DEFINED)
public class UserDefinedSortConf extends BaseSortConf {
- @JsonIgnore
- @ApiModelProperty(value = "Sort type")
- private SortType type = SortType.USER_DEFINED;
-
@ApiModelProperty("Name for user defined sort functions")
private String sortName;
@ApiModelProperty("Properties for user defined sort functions if needed")
private Map<String, String> properties = Maps.newHashMap();
+
+ public SortType getType() {
+ return SortType.USER_DEFINED;
+ }
}
diff --git
a/inlong-manager/manager-pojo/src/test/java/org/apache/inlong/manager/pojo/sort/BaseSortConfTest.java
b/inlong-manager/manager-pojo/src/test/java/org/apache/inlong/manager/pojo/sort/BaseSortConfTest.java
new file mode 100644
index 000000000..d7cccc3e6
--- /dev/null
+++
b/inlong-manager/manager-pojo/src/test/java/org/apache/inlong/manager/pojo/sort/BaseSortConfTest.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.pojo.sort;
+
+import org.apache.inlong.manager.common.util.JsonUtils;
+import org.apache.inlong.manager.pojo.sort.BaseSortConf.SortType;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Test for {@link BaseSortConf}
+ */
+public class BaseSortConfTest {
+
+ @Test
+ public void testSerde() {
+ FlinkSortConf flinkSortConf = new FlinkSortConf();
+ BaseSortConf baseSortConf =
JsonUtils.parseObject(JsonUtils.toJsonString(flinkSortConf),
BaseSortConf.class);
+ Assertions.assertEquals(baseSortConf.getType(), SortType.FLINK);
+
+ UserDefinedSortConf userDefinedSortConf = new UserDefinedSortConf();
+ BaseSortConf baseSortConf1 =
JsonUtils.parseObject(JsonUtils.toJsonString(userDefinedSortConf),
+ BaseSortConf.class);
+ Assertions.assertEquals(baseSortConf1.getType(),
SortType.USER_DEFINED);
+ }
+
+}