@Override public void writeDOTs( String path ) { int count = 0; if( expressionGraph != null ) { String fileName = String.format( "expression-graph-%s.dot", expressionGraph.getClass().getSimpleName() ); expressionGraph.writeDOT( new File( path, fileName ).toString() ); } for( int i = 0; i < getChildTransforms().size(); i++ ) { Transformed transformed = getChildTransforms().get( i ); String name = transformed.getTransformerName(); String pathName = String.format( "%s/child-%d-%s/", path, i, name ); transformed.writeDOTs( pathName ); } count = writeBeginGraph( path, count ); for( ElementGraph recursion : getRecursions() ) { String name = recursion.getClass().getSimpleName(); recursion.writeDOT( new File( path, makeFileName( count++, name, "recursion" ) ).toString() ); } writeEndGraph( path, count ); } }
@Override public void writeDOTs( String path ) { int count = 0; for( int i = 0; i < getChildTransforms().size(); i++ ) { Transformed transformed = getChildTransforms().get( i ); String name = transformed.getTransformerName(); transformed.writeDOTs( path + "/child-" + i + "-" + name + "/" ); } count = writeBeginGraph( path, count ); writeEndGraph( path, count ); } }
private ElementGraph transform( ElementGraph flowElementGraph, RuleExpression ruleExpression ) { RuleRegistry ruleRegistry = new RuleRegistry(); ruleRegistry.addElementFactory( NonTapFactory.TEMP_TAP, new NonTapFactory() ); PlannerContext plannerContext = new PlannerContext( ruleRegistry, null, null, null, true ); RuleInsertionTransformer ruleTempTapInsertionTransformer = new RuleInsertionTransformer( PlanPhase.PreResolveAssembly, ruleExpression, IntermediateTapElementFactory.TEMP_TAP ); Transformed<ElementGraph> insertionTransformed = ruleTempTapInsertionTransformer.transform( plannerContext, flowElementGraph ); insertionTransformed.writeDOTs( getPlanPath() ); return insertionTransformed.getEndGraph(); }
transformed.writeDOTs( getPlanPath() + "/transform/" );