deletePipelineTask.setPipeline(pipeline);
List<StageType> stages = task.getStage();
List<TaskEvent> events = task.getEvent();
for (int i = 0; i < stages.size(); i++) {
StageType stage = stages.get(i);
TaskEvent event = events.get(i);
if (event.isCreate()) {
deletePipelineTask.getStage().add(stage);
deletePipelineTask.getEvent().add(TaskEvent.DELETE);// 添加为关闭
}
}
tasks.add(deletePipelineTask);
}
if (pipelineIds.contains(pipeline.getId())) {// 在当前的channel列表中
boolean needAdd = false;
NodeTask matchTask = getMatchTask(tasks, task);// 找到对应的匹配
if (matchTask == null) {
matchTask = new NodeTask();
matchTask.setPipeline(pipeline);
needAdd = true;
}
List<StageType> stages = task.getStage();
List<TaskEvent> events = task.getEvent();
for (int i = 0; i < stages.size(); i++) {
StageType stage = stages.get(i);
TaskEvent event = events.get(i);
TaskEvent matchEvent = getMatchStage(matchTask, stage);
if (matchEvent == null && event.isCreate()) {// 对应的stage已经被移除,触发一个DELETE操作
matchTask.getStage().add(stage);
matchTask.getEvent().add(TaskEvent.DELETE);