sota.gui.graph
Class GraphManager

java.lang.Object
  extended by sota.gui.graph.GraphManager
All Implemented Interfaces:
GuiUpdateListener

public class GraphManager
extends java.lang.Object
implements GuiUpdateListener

Diese Klasse verwaltet die Datenstrukturen des CFG, ermöglicht ihre Abbildung aufeinander und die Akualisierung der Graph-Informationen.


Field Summary
private  java.util.HashMap<ASTNode,GraphNode> ast2graphNode
           
private  ASTFunctionNode currentFunction
           
private  java.util.HashMap<org.eclipse.draw2d.graph.Edge,GraphEdge> edge2graphEdge
           
private  org.eclipse.jface.text.Document fileDocument
           
private  boolean firstNodeSelection
           
private  java.util.HashMap<org.eclipse.draw2d.graph.Node,GraphNode> node2graphNode
           
private  org.eclipse.jface.text.IDocumentPartitioner partitioner
           
private  org.eclipse.jface.text.source.SourceViewer sourceViewer
           
private  int topLineNr
           
 
Constructor Summary
GraphManager()
           
 
Method Summary
static void applyCoverageColor(GraphNode graphNode)
          Färbt den GraphNode und die ausgehenden GraphEdges je nach Färbung des zugehörigen ASTNodes
 GraphNode astNode2graphNode(ASTNode n)
           
static java.lang.String astNodeToString(GraphNode graphNode)
           
 void clearSourceViewer()
           
 GraphEdge edge2GraphEdge(org.eclipse.draw2d.graph.Edge edge)
           
 java.util.HashMap<org.eclipse.draw2d.graph.Node,GraphNode> getNode2GraphNode()
           
static int getNrExitHits(GraphNode graphNode)
           
 void guiUpdate(ASTManager ast)
          Wird bei der GUI-Aktualisierung aufgerufen.
 void initSourceViewer()
           
static boolean isCovered(GraphNode graphNode)
          Bestimmt, ob dieser GraphNode überdeckt ist oder nicht
 GraphNode node2GraphNode(org.eclipse.draw2d.graph.Node node)
           
static org.eclipse.swt.graphics.Color percentage2Color(float p)
           
 void put(GraphNode graphNode)
           
 void putGraph(GraphNode root)
           
 void refreshSourceViewer(GraphNode gn, ASTNode n)
           
 void reset()
           
 void setSourceViewer(org.eclipse.jface.text.source.SourceViewer sourceViewer)
           
 void updateNodeAndEdgeReferences()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ast2graphNode

private java.util.HashMap<ASTNode,GraphNode> ast2graphNode

currentFunction

private ASTFunctionNode currentFunction

edge2graphEdge

private java.util.HashMap<org.eclipse.draw2d.graph.Edge,GraphEdge> edge2graphEdge

fileDocument

private org.eclipse.jface.text.Document fileDocument

firstNodeSelection

private boolean firstNodeSelection

node2graphNode

private java.util.HashMap<org.eclipse.draw2d.graph.Node,GraphNode> node2graphNode

partitioner

private org.eclipse.jface.text.IDocumentPartitioner partitioner

sourceViewer

private org.eclipse.jface.text.source.SourceViewer sourceViewer

topLineNr

private int topLineNr
Constructor Detail

GraphManager

public GraphManager()
Method Detail

applyCoverageColor

public static void applyCoverageColor(GraphNode graphNode)
Färbt den GraphNode und die ausgehenden GraphEdges je nach Färbung des zugehörigen ASTNodes

Parameters:
graphNode - Der zu färbende GraphNode.

astNode2graphNode

public GraphNode astNode2graphNode(ASTNode n)

astNodeToString

public static java.lang.String astNodeToString(GraphNode graphNode)

clearSourceViewer

public void clearSourceViewer()

edge2GraphEdge

public GraphEdge edge2GraphEdge(org.eclipse.draw2d.graph.Edge edge)

getNode2GraphNode

public java.util.HashMap<org.eclipse.draw2d.graph.Node,GraphNode> getNode2GraphNode()

getNrExitHits

public static int getNrExitHits(GraphNode graphNode)

guiUpdate

public void guiUpdate(ASTManager ast)
Description copied from interface: GuiUpdateListener
Wird bei der GUI-Aktualisierung aufgerufen.

Specified by:
guiUpdate in interface GuiUpdateListener
Parameters:
ast - der aktuelle ASTManager

initSourceViewer

public void initSourceViewer()

isCovered

public static boolean isCovered(GraphNode graphNode)
Bestimmt, ob dieser GraphNode überdeckt ist oder nicht

Parameters:
graphNode - Der zu testende GraphNode.
Returns:
Wahr, wenn der GraphNode überdeckt wurde, sonst falsch.

node2GraphNode

public GraphNode node2GraphNode(org.eclipse.draw2d.graph.Node node)

percentage2Color

public static org.eclipse.swt.graphics.Color percentage2Color(float p)

put

public void put(GraphNode graphNode)

putGraph

public void putGraph(GraphNode root)

refreshSourceViewer

public void refreshSourceViewer(GraphNode gn,
                                ASTNode n)

reset

public void reset()

setSourceViewer

public void setSourceViewer(org.eclipse.jface.text.source.SourceViewer sourceViewer)

updateNodeAndEdgeReferences

public void updateNodeAndEdgeReferences()