This is an automated email from the ASF dual-hosted git repository.
fanjia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/seatunnel-web.git
The following commit(s) were added to refs/heads/main by this push:
new dd896a63 [Bug] [Seatunnel-web] GET /seatunnel/api/v1/job/definition
fails when job mode is passed (#201)
dd896a63 is described below
commit dd896a63cd2dcc7dea3cf3fefba6ae63de67fc3f
Author: Mohammad Arshad <[email protected]>
AuthorDate: Mon Sep 2 07:27:04 2024 +0530
[Bug] [Seatunnel-web] GET /seatunnel/api/v1/job/definition fails when job
mode is passed (#201)
---
.../app/domain/request/connector/JobMode.java | 24 ----------------------
.../seatunnel/app/service/impl/JobServiceImpl.java | 4 ++--
.../apache/seatunnel/app/dal/mapper/JobMapper.xml | 2 +-
.../controller/JobDefinitionControllerWrapper.java | 6 ++++--
.../app/test/JobDefinitionControllerTest.java | 11 ++++++++--
5 files changed, 16 insertions(+), 31 deletions(-)
diff --git
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/domain/request/connector/JobMode.java
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/domain/request/connector/JobMode.java
deleted file mode 100644
index 2f18f54e..00000000
---
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/domain/request/connector/JobMode.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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.seatunnel.app.domain.request.connector;
-
-public enum JobMode {
- BATCH,
-
- STREAM;
-}
diff --git
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobServiceImpl.java
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobServiceImpl.java
index bd54621c..6daef43f 100644
---
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobServiceImpl.java
+++
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/JobServiceImpl.java
@@ -17,7 +17,6 @@
package org.apache.seatunnel.app.service.impl;
import org.apache.seatunnel.app.domain.request.connector.BusinessMode;
-import org.apache.seatunnel.app.domain.request.connector.JobMode;
import org.apache.seatunnel.app.domain.request.job.Edge;
import org.apache.seatunnel.app.domain.request.job.JobConfig;
import org.apache.seatunnel.app.domain.request.job.JobCreateReq;
@@ -31,6 +30,7 @@ import org.apache.seatunnel.app.service.IJobConfigService;
import org.apache.seatunnel.app.service.IJobDefinitionService;
import org.apache.seatunnel.app.service.IJobService;
import org.apache.seatunnel.app.service.IJobTaskService;
+import org.apache.seatunnel.common.constants.JobMode;
import org.apache.seatunnel.server.common.CodeGenerateUtils;
import org.apache.seatunnel.server.common.ParamValidationException;
import org.apache.seatunnel.server.common.SeatunnelErrorEnum;
@@ -101,7 +101,7 @@ public class JobServiceImpl implements IJobService {
}
if (JobMode.BATCH.name().equals(jobMode)) {
jobReq.setJobType(BusinessMode.DATA_INTEGRATION);
- } else if (JobMode.STREAM.name().equals(jobMode)) {
+ } else if (JobMode.STREAMING.name().equals(jobMode)) {
jobReq.setJobType(BusinessMode.DATA_REPLICA);
} else {
throw new ParamValidationException(
diff --git
a/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobMapper.xml
b/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobMapper.xml
index 7f96f06f..064d5e5c 100644
---
a/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobMapper.xml
+++
b/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobMapper.xml
@@ -53,7 +53,7 @@
join (select * from t_st_job_version where job_mode = #{jobMode}) v on
t.id = v.job_id
<where>
<if test="searchName!=null and searchName != ''">
- and name LIKE concat('%', #{searchName}, '%')
+ and t.name LIKE concat('%', #{searchName}, '%')
</if>
</where>
order by update_time desc
diff --git
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/JobDefinitionControllerWrapper.java
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/JobDefinitionControllerWrapper.java
index de10511f..33fc3338 100644
---
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/JobDefinitionControllerWrapper.java
+++
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/JobDefinitionControllerWrapper.java
@@ -48,7 +48,7 @@ public class JobDefinitionControllerWrapper extends
SeatunnelWebTestingBase {
}
public Result<PageInfo<JobDefinitionRes>> getJobDefinition(
- String searchName, Integer pageNo, Integer pageSize) {
+ String searchName, Integer pageNo, Integer pageSize, String
jobMode) {
String response =
sendRequest(
urlWithParam("job/definition?")
@@ -57,7 +57,9 @@ public class JobDefinitionControllerWrapper extends
SeatunnelWebTestingBase {
+ "&pageNo="
+ pageNo
+ "&pageSize="
- + pageSize);
+ + pageSize
+ + "&jobMode="
+ + jobMode);
return JSONTestUtils.parseObject(
response, new
TypeReference<Result<PageInfo<JobDefinitionRes>>>() {});
}
diff --git
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/JobDefinitionControllerTest.java
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/JobDefinitionControllerTest.java
index 73404185..ad7027ac 100644
---
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/JobDefinitionControllerTest.java
+++
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/JobDefinitionControllerTest.java
@@ -21,6 +21,7 @@ import org.apache.seatunnel.app.common.SeaTunnelWebCluster;
import org.apache.seatunnel.app.controller.JobDefinitionControllerWrapper;
import org.apache.seatunnel.app.domain.response.PageInfo;
import org.apache.seatunnel.app.domain.response.job.JobDefinitionRes;
+import org.apache.seatunnel.common.constants.JobMode;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
@@ -32,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class JobDefinitionControllerTest {
private static final SeaTunnelWebCluster seaTunnelWebCluster = new
SeaTunnelWebCluster();
private static JobDefinitionControllerWrapper
jobDefinitionControllerWrapper;
- private static String uniqueId = "_" + System.currentTimeMillis();
+ private static final String uniqueId = "_" + System.currentTimeMillis();
@BeforeAll
public static void setUp() {
@@ -61,10 +62,16 @@ public class JobDefinitionControllerTest {
String job3 = "job3" + uniqueId;
long jobId = jobDefinitionControllerWrapper.createJobDefinition(job3);
Result<PageInfo<JobDefinitionRes>> result =
- jobDefinitionControllerWrapper.getJobDefinition(job3, 1, 10);
+ jobDefinitionControllerWrapper.getJobDefinition(job3, 1, 10,
JobMode.BATCH.name());
assertTrue(result.isSuccess());
assertEquals(1, result.getData().getData().size());
assertEquals(jobId, result.getData().getData().get(0).getId());
+
+ result =
+ jobDefinitionControllerWrapper.getJobDefinition(
+ job3, 1, 10, JobMode.STREAMING.name());
+ assertTrue(result.isSuccess());
+ assertEquals(0, result.getData().getData().size());
}
@Test