/** * called by flow processor in order to pass occurring event * * @param event flow event */ public void process(StepResultEvent event) { Step step = getStep(); List<StepDependency> dependencies = step.getDependencies(); for (StepDependency dependency : dependencies) { int dependentStepNumber = dependency.getDependentStepNumber(); int eventStepNumber = event.getStepNumber(); if (dependentStepNumber == eventStepNumber) { processRelatedEvent(event); } } // TODO log some information about dependencies: size etc. }
/** * Used by plugin in order to publish calculation results to event bus * * @param stepResultEvent event plugin wants to publish */ protected void publish(StepResultEvent stepResultEvent) { stepResultEvent.setFlowStepNumber(step.getNumber()); eventBus.publish(stepResultEvent); }