Examples of StageType


Examples of com.alibaba.otter.shared.common.model.config.enums.StageType

                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);
View Full Code Here

Examples of com.alibaba.otter.shared.common.model.config.enums.StageType

        List<StageType> mergeStates = new ArrayList<StageType>();
        List<TaskEvent> mergeEvents = new ArrayList<TaskEvent>();
        // 合并两者的交集的数据
        for (int i = 0; i < stages.size(); i++) {
            StageType stage = stages.get(i);
            TaskEvent event = events.get(i);

            // 找到source节点对应的TaskEvent
            TaskEvent sourceEvent = getMatchStage(sourceTask, stage);
            if (sourceEvent != null && sourceEvent != event) {// 存在相同的stage节点,判断event是否相同,不同则则添加
                mergeStates.add(stage);
                mergeEvents.add(event);
            }
        }

        // 添加targtTask中特有的stage/event
        for (int i = 0; i < stages.size(); i++) {
            StageType stage = stages.get(i);
            TaskEvent event = events.get(i);
            if (getMatchStage(sourceTask, stage) == null) {
                mergeStates.add(stage);
                mergeEvents.add(event);
            }
View Full Code Here

Examples of com.alibaba.otter.shared.common.model.config.enums.StageType

        List<StageType> mergeStates = new ArrayList<StageType>();
        List<TaskEvent> mergeEvents = new ArrayList<TaskEvent>();
        // 合并两者的交集的数据
        for (int i = 0; i < stages.size(); i++) {
            StageType stage = stages.get(i);
            TaskEvent event = events.get(i);
            mergeStates.add(stage);
            // 找到source节点对应的TaskEvent,使用最新值
            TaskEvent sourceEvent = getMatchStage(source, stage);
            if (sourceEvent == null) {
                mergeEvents.add(event);
            } else {
                mergeEvents.add(sourceEvent);
            }
        }
        // 添加两者的差集,添加source中特有的节点
        List<StageType> sourceStages = source.getStage();
        List<TaskEvent> sourceEvents = source.getEvent();
        for (int i = 0; i < sourceStages.size(); i++) {
            StageType stage = sourceStages.get(i);
            TaskEvent event = sourceEvents.get(i);
            if (mergeStates.contains(stage)) {
                continue;
            }
View Full Code Here

Examples of com.alibaba.otter.shared.common.model.config.enums.StageType

                        currentStageStat.setStage(StageType.SELECT);// select操作
                        currentStageStat.setStartTime(zkProcessStat.getMtime());
                    }
                } else {
                    // 判断上一个节点,确定当前的stage
                    StageType stage = prev.getStage();
                    if (stage.isSelect()) {
                        currentStageStat.setStage(StageType.EXTRACT);
                    } else if (stage.isExtract()) {
                        currentStageStat.setStage(StageType.TRANSFORM);
                    } else if (stage.isTransform()) {
                        currentStageStat.setStage(StageType.LOAD);
                    } else if (stage.isLoad()) {// 已经是最后一个节点了
                        continue;
                    }

                    currentStageStat.setStartTime(prev.getEndTime());// 开始时间为上一个节点的结束时间
                }
View Full Code Here

Examples of com.alibaba.otter.shared.common.model.config.enums.StageType

        Map<StageType, GlobalTask> tasks = controllers.get(pipelineId);
        // 处理具体的任务命令
        List<StageType> stage = nodeTask.getStage();
        List<TaskEvent> event = nodeTask.getEvent();
        for (int i = 0; i < stage.size(); i++) {
            StageType stageType = stage.get(i);
            TaskEvent taskEvent = event.get(i);
            if (taskEvent.isCreate()) {
                startTask(nodeTask.getPipeline(), tasks, stageType);
            } else {
                stopTask(tasks, stageType);
View Full Code Here

Examples of com.alibaba.otter.shared.common.model.config.enums.StageType

                        currentStageStat.setStage(StageType.SELECT);// select操作
                        currentStageStat.setStartTime(zkProcessStat.getMtime());
                    }
                } else {
                    // 判断上一个节点,确定当前的stage
                    StageType stage = prev.getStage();
                    if (stage.isSelect()) {
                        currentStageStat.setStage(StageType.EXTRACT);
                    } else if (stage.isExtract()) {
                        currentStageStat.setStage(StageType.TRANSFORM);
                    } else if (stage.isTransform()) {
                        currentStageStat.setStage(StageType.LOAD);
                    } else if (stage.isLoad()) {// 已经是最后一个节点了
                        continue;
                    }

                    currentStageStat.setStartTime(prev.getEndTime());// 开始时间为上一个节点的结束时间
                }
View Full Code Here

Examples of com.alibaba.otter.shared.common.model.config.enums.StageType

                        currentStageStat.setStage(StageType.SELECT);// select操作
                        currentStageStat.setStartTime(zkProcessStat.getMtime());
                    }
                } else {
                    // 判断上一个节点,确定当前的stage
                    StageType stage = prev.getStage();
                    if (stage.isSelect()) {
                        currentStageStat.setStage(StageType.EXTRACT);
                    } else if (stage.isExtract()) {
                        currentStageStat.setStage(StageType.TRANSFORM);
                    } else if (stage.isTransform()) {
                        currentStageStat.setStage(StageType.LOAD);
                    } else if (stage.isLoad()) {// 已经是最后一个节点了
                        continue;
                    }

                    currentStageStat.setStartTime(prev.getEndTime());// 开始时间为上一个节点的结束时间
                }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.