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

    Fields
    Modifier and Type
    Field
    Description
     
     
     

    Fields inherited from class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor

    chunk
  • Constructor Summary

    Constructors
    Constructor
    Description
    PipelineNodeGraphVisitor(org.jenkinsci.plugins.workflow.job.WorkflowRun run)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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.
    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)
     
    protected Set<Action>
    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)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • 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 interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
      Overrides:
      chunkStart in class org.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 interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
      Overrides:
      chunkEnd in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
    • handleChunkDone

      protected void handleChunkDone(@NonNull org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk)
      Overrides:
      handleChunkDone in class org.jenkinsci.plugins.workflow.graphanalysis.StandardChunkVisitor
    • resetChunk

      protected void resetChunk(@NonNull org.jenkinsci.plugins.workflow.graphanalysis.MemoryFlowChunk chunk)
      Overrides:
      resetChunk in class org.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 interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
      Overrides:
      parallelStart in class org.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 interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
      Overrides:
      parallelEnd in class org.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 interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
      Overrides:
      parallelBranchStart in class org.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 interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
      Overrides:
      parallelBranchEnd in class org.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 interface org.jenkinsci.plugins.workflow.graphanalysis.SimpleChunkVisitor
      Overrides:
      atomNode in class org.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

      protected Set<Action> drainPipelineActions()
      Empty the pipelineActions buffer, returning its contents.
    • getPipelineNodes

      public List<FlowNodeWrapper> getPipelineNodes()
      Specified by:
      getPipelineNodes in interface PipelineGraphBuilderApi
    • isDeclarative

      public boolean isDeclarative()