protected Collection<MapReduceFlowStep> updateWithFlowSteps( Collection<MapReduceFlowStep> flowSteps ) { if( flowSteps.isEmpty() ) return flowSteps; FlowStepGraph flowStepGraph = getOrCreateFlowStepGraph(); updateFlowStepGraph( flowStepGraph, flowSteps ); setFlowElementGraph( asFlowElementGraph( platformInfo, flowStepGraph ) ); removeListeners( getSourcesCollection() ); removeListeners( getSinksCollection() ); removeListeners( getTrapsCollection() ); // re-adds listeners setSources( flowStepGraph.getSourceTapsMap() ); setSinks( flowStepGraph.getSinkTapsMap() ); setTraps( flowStepGraph.getTrapsMap() ); // this mirrors BaseFlow#initialize() initSteps(); if( flowStats == null ) flowStats = createPrepareFlowStats(); // must be last if( !isJobsMapInitialized() ) initializeNewJobsMap(); else updateJobsMap(); initializeChildStats(); return flowSteps; }
protected Collection<MapReduceFlowStep> updateWithFlowSteps( Collection<MapReduceFlowStep> flowSteps ) { if( flowSteps.isEmpty() ) return flowSteps; FlowStepGraph flowStepGraph = getOrCreateFlowStepGraph(); updateFlowStepGraph( flowStepGraph, flowSteps ); setFlowElementGraph( asFlowElementGraph( platformInfo, flowStepGraph ) ); removeListeners( getSourcesCollection() ); removeListeners( getSinksCollection() ); removeListeners( getTrapsCollection() ); // re-adds listeners setSources( flowStepGraph.getSourceTapsMap() ); setSinks( flowStepGraph.getSinkTapsMap() ); setTraps( flowStepGraph.getTrapsMap() ); // this mirrors BaseFlow#initialize() initSteps(); if( flowStats == null ) flowStats = createPrepareFlowStats(); // must be last if( !isJobsMapInitialized() ) initializeNewJobsMap(); else updateJobsMap(); initializeChildStats(); return flowSteps; }