public abstract class FlowPlanner<F extends BaseFlow,Config> extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
FlowPlanner.IdentityElementFactgory |
class |
FlowPlanner.TempTapElementFactory |
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
checkpointTapRootPath |
protected AssertionLevel |
defaultAssertionLevel
Field assertionLevel
|
protected DebugLevel |
defaultDebugLevel
Field debugLevel
|
protected java.util.Map<java.lang.Object,java.lang.Object> |
defaultProperties
Field properties
|
static java.lang.String |
TRACE_PLAN_PATH
Enables the planner to write out basic planner information including the initial element-graph,
completed element-graph, and the completed step-graph dot files.
|
static java.lang.String |
TRACE_PLAN_TRANSFORM_PATH
Enables the planner to write out detail level planner information for each rule, including recursive
transforms.
|
static java.lang.String |
TRACE_STATS_PATH
Enables the planner to write out planner statistics for each planner phase and rule.
|
Constructor and Description |
---|
FlowPlanner() |
Modifier and Type | Method and Description |
---|---|
F |
buildFlow(FlowDef flowDef,
RuleRegistrySet ruleRegistrySet) |
void |
configRuleRegistryDefaults(RuleRegistry ruleRegistry) |
protected abstract F |
createFlow(FlowDef flowDef) |
protected FlowElementGraph |
createFlowElementGraph(FlowDef flowDef,
Pipe[] flowTails) |
protected AssertionLevel |
getAssertionLevel(FlowDef flowDef) |
protected DebugLevel |
getDebugLevel(FlowDef flowDef) |
abstract Config |
getDefaultConfig() |
java.util.Map<java.lang.Object,java.lang.Object> |
getDefaultProperties() |
FlowNodeFactory |
getFlowNodeFactory() |
abstract FlowStepFactory<Config> |
getFlowStepFactory() |
abstract PlannerInfo |
getPlannerInfo(java.lang.String name) |
abstract PlatformInfo |
getPlatformInfo() |
protected PlannerException |
handleExceptionDuringPlanning(FlowDef flowDef,
java.lang.Exception exception,
FlowElementGraph flowElementGraph) |
void |
initialize(FlowConnector flowConnector,
java.util.Map<java.lang.Object,java.lang.Object> properties) |
protected Tap |
makeTempTap(java.lang.String name) |
protected abstract Tap |
makeTempTap(java.lang.String prefix,
java.lang.String name) |
protected Pipe[] |
resolveAssemblyPlanners(FlowDef flowDef,
Flow flow,
Pipe[] pipes) |
protected Pipe[] |
resolveTails(FlowDef flowDef,
F flow) |
protected void |
verifyAllTaps(FlowDef flowDef) |
protected void |
verifyAssembly(FlowDef flowDef,
Pipe[] tails) |
protected void |
verifyCheckpoints(FlowDef flowDef,
Pipe[] flowTails) |
protected void |
verifyPipeAssemblyEndPoints(FlowDef flowDef,
Pipe[] flowTails)
Method verifyEndPoints verifies
there aren't dupe names in heads or tails.
|
java.lang.Exception |
verifyResult(RuleResult ruleResult)
If there are rules for a given
ProcessLevel on the current platform
there must be sub-graphs partitioned at that level. |
protected void |
verifyResultInternal(RuleResult ruleResult) |
protected void |
verifySourceNotSinks(java.util.Map<java.lang.String,Tap> sources,
java.util.Map<java.lang.String,Tap> sinks) |
protected void |
verifyTaps(java.util.Map<java.lang.String,Tap> taps,
boolean areSources,
boolean mayNotBeEmpty)
Method verifyTaps ...
|
protected void |
verifyTraps(FlowDef flowDef,
Pipe[] flowTails) |
public static final java.lang.String TRACE_PLAN_PATH
public static final java.lang.String TRACE_PLAN_TRANSFORM_PATH
public static final java.lang.String TRACE_STATS_PATH
protected java.util.Map<java.lang.Object,java.lang.Object> defaultProperties
protected java.lang.String checkpointTapRootPath
protected AssertionLevel defaultAssertionLevel
protected DebugLevel defaultDebugLevel
public FlowPlanner()
public java.util.Map<java.lang.Object,java.lang.Object> getDefaultProperties()
public abstract Config getDefaultConfig()
public abstract PlannerInfo getPlannerInfo(java.lang.String name)
public abstract PlatformInfo getPlatformInfo()
public void initialize(FlowConnector flowConnector, java.util.Map<java.lang.Object,java.lang.Object> properties)
public F buildFlow(FlowDef flowDef, RuleRegistrySet ruleRegistrySet)
protected abstract F createFlow(FlowDef flowDef)
public abstract FlowStepFactory<Config> getFlowStepFactory()
public FlowNodeFactory getFlowNodeFactory()
public void configRuleRegistryDefaults(RuleRegistry ruleRegistry)
protected Pipe[] resolveTails(FlowDef flowDef, F flow)
protected Pipe[] resolveAssemblyPlanners(FlowDef flowDef, Flow flow, Pipe[] pipes)
protected void verifyAssembly(FlowDef flowDef, Pipe[] tails)
protected void verifyAllTaps(FlowDef flowDef)
protected FlowElementGraph createFlowElementGraph(FlowDef flowDef, Pipe[] flowTails)
protected void verifySourceNotSinks(java.util.Map<java.lang.String,Tap> sources, java.util.Map<java.lang.String,Tap> sinks)
protected void verifyTaps(java.util.Map<java.lang.String,Tap> taps, boolean areSources, boolean mayNotBeEmpty)
taps
- of type MapareSources
- of type booleanmayNotBeEmpty
- of type booleanprotected void verifyPipeAssemblyEndPoints(FlowDef flowDef, Pipe[] flowTails)
protected void verifyTraps(FlowDef flowDef, Pipe[] flowTails)
protected void verifyCheckpoints(FlowDef flowDef, Pipe[] flowTails)
public java.lang.Exception verifyResult(RuleResult ruleResult)
ProcessLevel
on the current platform
there must be sub-graphs partitioned at that level.protected void verifyResultInternal(RuleResult ruleResult)
protected PlannerException handleExceptionDuringPlanning(FlowDef flowDef, java.lang.Exception exception, FlowElementGraph flowElementGraph)
protected Tap makeTempTap(java.lang.String name)
protected DebugLevel getDebugLevel(FlowDef flowDef)
protected AssertionLevel getAssertionLevel(FlowDef flowDef)
protected abstract Tap makeTempTap(java.lang.String prefix, java.lang.String name)
Copyright © 2007-2015 Xplenty, Inc. All Rights Reserved.