mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-03 12:48:46 +08:00
[Improvement] Avoid using search in for and start using testSaveTaskDefine (#11383)
* [Improvement] Avoid using search in for and start using testSaveTaskDefine() * [Improvement] not import * Co-authored-by: zhangshunmin <zhangshunmin@kezaihui.com>
This commit is contained in:
parent
9d6fc92af9
commit
be66035dee
@ -2559,17 +2559,26 @@ public class ProcessServiceImpl implements ProcessService {
|
||||
}
|
||||
int insertResult = 0;
|
||||
int updateResult = 0;
|
||||
for (TaskDefinitionLog taskDefinitionToUpdate : updateTaskDefinitionLogs) {
|
||||
TaskDefinition task = taskDefinitionMapper.queryByCode(taskDefinitionToUpdate.getCode());
|
||||
if (task == null) {
|
||||
newTaskDefinitionLogs.add(taskDefinitionToUpdate);
|
||||
} else {
|
||||
insertResult += taskDefinitionLogMapper.insert(taskDefinitionToUpdate);
|
||||
if (Boolean.TRUE.equals(syncDefine)) {
|
||||
taskDefinitionToUpdate.setId(task.getId());
|
||||
updateResult += taskDefinitionMapper.updateById(taskDefinitionToUpdate);
|
||||
if (!updateTaskDefinitionLogs.isEmpty()) {
|
||||
List<TaskDefinition> taskDefinitions = taskDefinitionMapper.queryByCodeList(updateTaskDefinitionLogs.stream().map(TaskDefinition::getCode).distinct().collect(Collectors.toList()));
|
||||
for (TaskDefinitionLog taskDefinitionToUpdate : updateTaskDefinitionLogs) {
|
||||
TaskDefinition task = null;
|
||||
for (TaskDefinition taskDefinition : taskDefinitions) {
|
||||
if (taskDefinitionToUpdate.getCode() == taskDefinition.getCode()) {
|
||||
task = taskDefinition;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (task == null) {
|
||||
newTaskDefinitionLogs.add(taskDefinitionToUpdate);
|
||||
} else {
|
||||
updateResult++;
|
||||
insertResult += taskDefinitionLogMapper.insert(taskDefinitionToUpdate);
|
||||
if (Boolean.TRUE.equals(syncDefine)) {
|
||||
taskDefinitionToUpdate.setId(task.getId());
|
||||
updateResult += taskDefinitionMapper.updateById(taskDefinitionToUpdate);
|
||||
} else {
|
||||
updateResult++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -81,6 +81,7 @@ import org.apache.dolphinscheduler.service.cron.CronUtilsTest;
|
||||
import org.apache.dolphinscheduler.service.exceptions.CronParseException;
|
||||
import org.apache.dolphinscheduler.service.exceptions.ServiceException;
|
||||
import org.apache.dolphinscheduler.service.expand.CuringParamsService;
|
||||
import org.apache.dolphinscheduler.service.task.TaskPluginManager;
|
||||
import org.apache.dolphinscheduler.spi.params.base.FormType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -168,6 +169,9 @@ public class ProcessServiceTest {
|
||||
@Mock
|
||||
CuringParamsService curingGlobalParamsService;
|
||||
|
||||
@Mock
|
||||
TaskPluginManager taskPluginManager;
|
||||
|
||||
@Test
|
||||
public void testCreateSubCommand() {
|
||||
ProcessInstance parentInstance = new ProcessInstance();
|
||||
@ -682,6 +686,7 @@ public class ProcessServiceTest {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSaveTaskDefine() {
|
||||
User operator = new User();
|
||||
operator.setId(-1);
|
||||
@ -706,9 +711,10 @@ public class ProcessServiceTest {
|
||||
taskDefinition.setVersion(1);
|
||||
taskDefinition.setCreateTime(new Date());
|
||||
taskDefinition.setUpdateTime(new Date());
|
||||
Mockito.when(taskPluginManager.getParameters(any())).thenReturn(null);
|
||||
Mockito.when(taskDefinitionLogMapper.queryByDefinitionCodeAndVersion(taskDefinition.getCode(), taskDefinition.getVersion())).thenReturn(taskDefinition);
|
||||
Mockito.when(taskDefinitionLogMapper.queryMaxVersionForDefinition(taskDefinition.getCode())).thenReturn(1);
|
||||
Mockito.when(taskDefinitionMapper.queryByCode(taskDefinition.getCode())).thenReturn(taskDefinition);
|
||||
Mockito.when(taskDefinitionMapper.queryByCodeList(Collections.singletonList(taskDefinition.getCode()))).thenReturn(Collections.singletonList(taskDefinition));
|
||||
int result = processService.saveTaskDefine(operator, projectCode, taskDefinitionLogs, Boolean.TRUE);
|
||||
Assert.assertEquals(0, result);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user