use of org.apache.inlong.manager.workflow.WorkflowContext in project incubator-inlong by apache.
the class ProcessEventNotifier method notify.
@Override
public void notify(ProcessEvent event, WorkflowContext sourceContext) {
final WorkflowContext context = sourceContext.clone();
WorkflowProcess process = context.getProcess();
eventListenerManager.syncListeners(event).forEach(syncLogableNotify(context));
process.syncListeners(event).forEach(syncLogableNotify(context));
eventListenerManager.asyncListeners(event).forEach(asyncLogableNotify(context));
process.asyncListeners(event).forEach(asyncLogableNotify(context));
}
use of org.apache.inlong.manager.workflow.WorkflowContext in project incubator-inlong by apache.
the class TaskEventNotifier method notify.
@Override
public void notify(String listenerName, boolean forceSync, WorkflowContext sourceContext) {
final WorkflowContext context = sourceContext.clone();
Optional.ofNullable(this.eventListenerManager.listener(listenerName)).ifPresent(logableNotify(forceSync, context));
WorkflowTask task = (WorkflowTask) context.getCurrentElement();
Optional.ofNullable(task.listener(listenerName)).ifPresent(logableNotify(forceSync, context));
}
use of org.apache.inlong.manager.workflow.WorkflowContext in project incubator-inlong by apache.
the class CreateHiveTableEventSelectorTest method testAccept.
@Test
public void testAccept() {
WorkflowContext workflowContext = new WorkflowContext();
GroupResourceProcessForm processForm = new GroupResourceProcessForm();
workflowContext.setProcessForm(processForm);
Assert.assertFalse(createHiveTableEventSelector.accept(workflowContext));
processForm.setGroupInfo(new InlongGroupInfo());
Assert.assertFalse(createHiveTableEventSelector.accept(workflowContext));
processForm.getGroupInfo().setInlongGroupId("test");
Assert.assertTrue(createHiveTableEventSelector.accept(workflowContext));
}
use of org.apache.inlong.manager.workflow.WorkflowContext in project incubator-inlong by apache.
the class WorkflowServiceImplTest method testStopProcess.
@Test
public void testStopProcess() {
InlongGroupInfo groupInfo = initGroupForm(Constant.MIDDLEWARE_PULSAR);
groupInfo.setStatus(GroupState.CONFIG_SUCCESSFUL.getCode());
groupService.update(groupInfo.genRequest(), OPERATOR);
groupInfo.setStatus(GroupState.SUSPENDED.getCode());
groupService.update(groupInfo.genRequest(), OPERATOR);
UpdateGroupProcessForm form = new UpdateGroupProcessForm();
form.setGroupInfo(groupInfo);
form.setOperateType(OperateType.DELETE);
taskListenerFactory.acceptPlugin(new MockPlugin());
WorkflowContext context = workflowEngine.processService().start(ProcessName.DELETE_GROUP_PROCESS.name(), applicant, form);
WorkflowResult result = WorkflowBeanUtils.result(context);
ProcessResponse view = result.getProcessInfo();
Assert.assertSame(view.getStatus(), ProcessStatus.COMPLETED);
WorkflowProcess process = context.getProcess();
WorkflowTask deleteSort = process.getTaskByName("deleteSort");
Assert.assertTrue(deleteSort instanceof ServiceTask);
List<TaskEventListener> listeners = Lists.newArrayList(deleteSort.getNameToListenerMap().values());
Assert.assertEquals(1, listeners.size());
Assert.assertTrue(listeners.get(0) instanceof MockDeleteSortListener);
WorkflowTask deleteSourceTask = process.getTaskByName("deleteSource");
Assert.assertTrue(deleteSourceTask instanceof ServiceTask);
listeners = Lists.newArrayList(deleteSourceTask.getNameToListenerMap().values());
Assert.assertEquals(2, listeners.size());
}
use of org.apache.inlong.manager.workflow.WorkflowContext in project incubator-inlong by apache.
the class WorkflowServiceImplTest method testStartCreateTubeWorkflow.
@Test
public void testStartCreateTubeWorkflow() {
initGroupForm(Constant.MIDDLEWARE_TUBE);
mockTaskListenerFactory();
WorkflowContext context = workflowEngine.processService().start(processName.name(), applicant, form);
WorkflowResult result = WorkflowBeanUtils.result(context);
ProcessResponse response = result.getProcessInfo();
Assert.assertSame(response.getStatus(), ProcessStatus.COMPLETED);
WorkflowProcess process = context.getProcess();
WorkflowTask task = process.getTaskByName("initMQ");
Assert.assertTrue(task instanceof ServiceTask);
Assert.assertEquals(2, task.getNameToListenerMap().size());
List<TaskEventListener> listeners = Lists.newArrayList(task.getNameToListenerMap().values());
Assert.assertTrue(listeners.get(0) instanceof CreateTubeTopicTaskListener);
Assert.assertTrue(listeners.get(1) instanceof CreateTubeGroupTaskListener);
}
Aggregations