// create a the context for walking operators
OpWalkerInfo opWalkerInfo = new OpWalkerInfo(pGraphContext);
Map<Rule, NodeProcessor> opRules = new LinkedHashMap<Rule, NodeProcessor>();
opRules.put(new RuleRegExp("R1",
FilterOperator.getOperatorName() + "%"),
OpProcFactory.getFilterProc());
opRules.put(new RuleRegExp("R2",
PTFOperator.getOperatorName() + "%"),
OpProcFactory.getPTFProc());
opRules.put(new RuleRegExp("R3",
CommonJoinOperator.getOperatorName() + "%"),
OpProcFactory.getJoinProc());
opRules.put(new RuleRegExp("R4",
TableScanOperator.getOperatorName() + "%"),
OpProcFactory.getTSProc());
opRules.put(new RuleRegExp("R5",
ScriptOperator.getOperatorName() + "%"),
OpProcFactory.getSCRProc());
opRules.put(new RuleRegExp("R6",
LimitOperator.getOperatorName() + "%"),
OpProcFactory.getLIMProc());
opRules.put(new RuleRegExp("R7",
UDTFOperator.getOperatorName() + "%"),
OpProcFactory.getUDTFProc());
opRules.put(new RuleRegExp("R8",
LateralViewForwardOperator.getOperatorName() + "%"),
OpProcFactory.getLVFProc());
opRules.put(new RuleRegExp("R9",
LateralViewJoinOperator.getOperatorName() + "%"),
OpProcFactory.getLVJProc());
// The dispatcher fires the processor corresponding to the closest matching
// rule and passes the context along