this.defaultDebugLevel = getDebugLevel( properties );
}
public F buildFlow( FlowDef flowDef, RuleRegistry ruleRegistry )
{
FlowElementGraph flowElementGraph = null;
try
{
verifyAllTaps( flowDef );
F flow = createFlow( flowDef );
String nameOrID = getNameOrID( flow );
String transformPath = getPlanTransformTracePath();
if( transformPath != null )
transformPath = FileSystems.getDefault().getPath( transformPath, nameOrID ).toString();
Pipe[] tails = resolveTails( flowDef, flow );
verifyAssembly( flowDef, tails );
configRuleRegistryDefaults( ruleRegistry );
RuleExec ruleExec = new RuleExec( ruleRegistry );
flowElementGraph = createFlowElementGraph( flowDef, tails );
writeTracePlan( nameOrID, "0-initial-flow-element-graph", flowElementGraph );
ruleExec.enableTransformTracing( transformPath );
PlannerContext plannerContext = new PlannerContext( ruleRegistry, this, flowDef, flow, transformPath != null );
RuleResult ruleResult = ruleExec.exec( plannerContext, flowElementGraph );
LOG.info( "executed rule registry: {}, completed in: {}", ruleRegistry.getName(), formatDurationFromMillis( ruleResult.getDuration() ) );
writeTracePlan( nameOrID, "1-completed-flow-element-graph", ruleResult.getAssemblyGraph() );
writeStats( plannerContext, nameOrID, ruleResult );
verifyResult( ruleResult );
FlowElementGraph finalFlowElementGraph = ruleResult.getAssemblyGraph();
Map<ElementGraph, List<? extends ElementGraph>> stepToNodes = ruleResult.getStepToNodeGraphMap();
Map<ElementGraph, List<? extends ElementGraph>> nodeToPipeline = ruleResult.getNodeToPipelineGraphMap();
FlowStepGraph flowStepGraph = new FlowStepGraph( transformPath, this, finalFlowElementGraph, stepToNodes, nodeToPipeline );