Class PipelineNodeGraphVisitor
java.lang.Object
org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
io.jenkins.plugins.pipelinegraphview.utils.legacy.PipelineNodeGraphVisitor
- All Implemented Interfaces:
PipelineGraphBuilderApi
,org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
public class PipelineNodeGraphVisitor
extends org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
implements PipelineGraphBuilderApi
- Author:
- Vivek Pandey
Run your Jenkins instance with
-DNODE-DUMP-ENABLED
to turn on the logging when diagnosing bugs! You'll also need to have a logging config that enables debug for (at least) this class. Use-Djava.util.logging.config.file=./logging.properties
to set a custom logging properties file from the command line, or do it from within the admin UI.
-
Field Summary
Modifier and TypeFieldDescriptionfinal Map<String,
FlowNodeWrapper> final ArrayDeque<FlowNodeWrapper>
final Map<String,
Stack<FlowNodeWrapper>> Fields inherited from class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
chunk
-
Constructor Summary
ConstructorDescriptionPipelineNodeGraphVisitor
(org.jenkinsci.plugins.workflow.job.WorkflowRun run) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
accumulatePipelineActions
(org.jenkinsci.plugins.workflow.graph.FlowNode node) Find any Actions on this node, and add them to the pipelineActions collection until we can attach them to a FlowNodeWrapper.void
atomNode
(org.jenkinsci.plugins.workflow.graph.FlowNode before, org.jenkinsci.plugins.workflow.graph.FlowNode atomNode, org.jenkinsci.plugins.workflow.graph.FlowNode after, org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scan) void
chunkEnd
(org.jenkinsci.plugins.workflow.graph.FlowNode endNode, org.jenkinsci.plugins.workflow.graph.FlowNode afterBlock, org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) void
chunkStart
(org.jenkinsci.plugins.workflow.graph.FlowNode startNode, org.jenkinsci.plugins.workflow.graph.FlowNode beforeBlock, org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) Empty the pipelineActions buffer, returning its contents.protected void
handleChunkDone
(org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk) boolean
void
parallelBranchEnd
(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, org.jenkinsci.plugins.workflow.graph.FlowNode branchEndNode, org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) void
parallelBranchStart
(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, org.jenkinsci.plugins.workflow.graph.FlowNode branchStartNode, org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) void
parallelEnd
(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, org.jenkinsci.plugins.workflow.graph.FlowNode parallelEndNode, org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) void
parallelStart
(org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, org.jenkinsci.plugins.workflow.graph.FlowNode branchNode, org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) protected void
resetChunk
(org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk)
-
Field Details
-
nodes
-
nodeMap
-
stackPerEnd
-
-
Constructor Details
-
PipelineNodeGraphVisitor
public PipelineNodeGraphVisitor(org.jenkinsci.plugins.workflow.job.WorkflowRun run)
-
-
Method Details
-
chunkStart
public void chunkStart(@NonNull org.jenkinsci.plugins.workflow.graph.FlowNode startNode, @CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode beforeBlock, @NonNull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) - Specified by:
chunkStart
in interfaceorg.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
- Overrides:
chunkStart
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
chunkEnd
public void chunkEnd(@NonNull org.jenkinsci.plugins.workflow.graph.FlowNode endNode, @CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode afterBlock, @NonNull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) - Specified by:
chunkEnd
in interfaceorg.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
- Overrides:
chunkEnd
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
handleChunkDone
protected void handleChunkDone(@NonNull org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk) - Overrides:
handleChunkDone
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
resetChunk
protected void resetChunk(@NonNull org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk) - Overrides:
resetChunk
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
parallelStart
public void parallelStart(@NonNull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @NonNull org.jenkinsci.plugins.workflow.graph.FlowNode branchNode, @NonNull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) - Specified by:
parallelStart
in interfaceorg.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
- Overrides:
parallelStart
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
parallelEnd
public void parallelEnd(@NonNull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @NonNull org.jenkinsci.plugins.workflow.graph.FlowNode parallelEndNode, @NonNull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) - Specified by:
parallelEnd
in interfaceorg.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
- Overrides:
parallelEnd
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
parallelBranchStart
public void parallelBranchStart(@NonNull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @NonNull org.jenkinsci.plugins.workflow.graph.FlowNode branchStartNode, @NonNull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) - Specified by:
parallelBranchStart
in interfaceorg.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
- Overrides:
parallelBranchStart
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
parallelBranchEnd
public void parallelBranchEnd(@NonNull org.jenkinsci.plugins.workflow.graph.FlowNode parallelStartNode, @NonNull org.jenkinsci.plugins.workflow.graph.FlowNode branchEndNode, @NonNull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scanner) - Specified by:
parallelBranchEnd
in interfaceorg.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
- Overrides:
parallelBranchEnd
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
atomNode
public void atomNode(@CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode before, @NonNull org.jenkinsci.plugins.workflow.graph.FlowNode atomNode, @CheckForNull org.jenkinsci.plugins.workflow.graph.FlowNode after, @NonNull org.jenkinsci.plugins.workflow.graphanalysis.ForkScanner scan) - Specified by:
atomNode
in interfaceorg.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
- Overrides:
atomNode
in classorg.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
-
accumulatePipelineActions
protected void accumulatePipelineActions(org.jenkinsci.plugins.workflow.graph.FlowNode node) Find any Actions on this node, and add them to the pipelineActions collection until we can attach them to a FlowNodeWrapper. -
drainPipelineActions
Empty the pipelineActions buffer, returning its contents. -
getPipelineNodes
- Specified by:
getPipelineNodes
in interfacePipelineGraphBuilderApi
-
isDeclarative
public boolean isDeclarative()
-