@Override public List<FlowStep<Config>> getFlowSteps() { if( steps != null ) return steps; if( flowStepGraph == null ) return Collections.emptyList(); Iterator<FlowStep> topoIterator = flowStepGraph.getTopologicalIterator(); steps = new ArrayList<>(); while( topoIterator.hasNext() ) steps.add( topoIterator.next() ); return steps; }
public void writeTracePlanSteps( String directoryName, FlowStepGraph stepGraph ) { if( stepGraph == null ) { processLogger.logInfo( "cannot write trace step plan, stepGraph is null" ); return; } Iterator<FlowStep> iterator = stepGraph.getTopologicalIterator(); while( iterator.hasNext() ) writePlan( iterator.next(), directoryName ); }
public FlowStepGraph( FlowStepFactory flowStepFactory, FlowElementGraph flowElementGraph, Map<ElementGraph, List<? extends ElementGraph>> nodeSubGraphsMap, Map<ElementGraph, List<? extends ElementGraph>> pipelineSubGraphsMap ) { buildGraph( flowStepFactory, flowElementGraph, nodeSubGraphsMap, pipelineSubGraphsMap ); Iterator<FlowStep> iterator = getTopologicalIterator(); int ordinal = 0; int size = vertexSet().size(); while( iterator.hasNext() ) { BaseFlowStep flowStep = (BaseFlowStep) iterator.next(); flowStep.setOrdinal( ordinal++ ); flowStep.setName( flowStepFactory.makeFlowStepName( flowStep, size, flowStep.getOrdinal() ) ); } }
Map<String, FlowStepJob<Config>> updateJobsMap( FlowStepGraph flowStepGraph, Map<String, FlowStepJob<Config>> jobsMap ) { Iterator<FlowStep> iterator = flowStepGraph.getTopologicalIterator(); while( iterator.hasNext() ) { BaseFlowStep<Config> step = (BaseFlowStep) iterator.next(); FlowStepJob<Config> flowStepJob = jobsMap.get( step.getID() ); if( flowStepJob == null ) { flowStepJob = step.getCreateFlowStepJob( getFlowProcess(), getConfig() ); jobsMap.put( step.getID(), flowStepJob ); } List<FlowStepJob<Config>> predecessors = new ArrayList<>(); for( Object flowStep : ProcessGraphs.predecessorListOf( flowStepGraph, step ) ) predecessors.add( jobsMap.get( ( (FlowStep) flowStep ).getID() ) ); flowStepJob.setPredecessors( predecessors ); } return jobsMap; }