org.processmining.framework.models.activitygraph
Class ActivityGraph

java.lang.Object
  extended by att.grappa.Element
      extended by att.grappa.Subgraph
          extended by att.grappa.Graph
              extended by org.processmining.framework.models.ModelGraph
                  extended by org.processmining.framework.models.activitygraph.ActivityGraph
All Implemented Interfaces:
att.grappa.GrappaConstants, java.lang.Cloneable, java.util.Comparator, DotFileWriter

public class ActivityGraph
extends ModelGraph
implements java.lang.Cloneable

An activity graph is a graph with only activities in it. So, there doesn't exists any connections between the activities.

Author:
rmans

Field Summary
protected  java.util.ArrayList<ActivityVertex> activities
          the list of activities
 
Fields inherited from class org.processmining.framework.models.ModelGraph
DOESNTCROSS_REGION, ENTERS_REGION, EXITS_REGION, identifier, nodeMapping, vertices, visualObject
 
Fields inherited from class att.grappa.Graph
INDENT_STRING, REFCNTXT
 
Fields inherited from class att.grappa.Subgraph
currentSelection, defaultNamePrefix
 
Fields inherited from class att.grappa.Element
counter, highlight, linewidth, object, printAllAttributes, printDefaultAttributes, usePrintList, visible
 
Fields inherited from interface att.grappa.GrappaConstants
_NO_TYPE, ANONYMOUS_PREFIX, BBOX_ATTR, BBOX_HASH, BOX_SHAPE, BOX_TYPE, CLUSTERRANK_ATTR, COLOR_ATTR, COLOR_HASH, COLOR_TYPE, CUSTOM_ATTR, CUSTOM_HASH, CUSTOM_SHAPE, DELETION_MASK, DIAMOND_SHAPE, DIR_ATTR, DIR_HASH, DIR_TYPE, DISTORTION_ATTR, DISTORTION_HASH, DOUBLE_TYPE, DOUBLECIRCLE_SHAPE, DOUBLEOCTAGON_SHAPE, EDGE, EGG_SHAPE, FILLCOLOR_ATTR, FILLCOLOR_HASH, FONTCOLOR_ATTR, FONTCOLOR_HASH, FONTNAME_ATTR, FONTNAME_HASH, FONTSIZE_ATTR, FONTSIZE_HASH, FONTSTYLE_ATTR, FONTSTYLE_HASH, FONTSTYLE_TYPE, GRAPPA_BACKGROUND_COLOR_ATTR, GRAPPA_BACKGROUND_COLOR_HASH, GRAPPA_DELETION_STYLE_ATTR, GRAPPA_DELETION_STYLE_HASH, GRAPPA_FONTSIZE_ADJUSTMENT_ATTR, GRAPPA_FONTSIZE_ADJUSTMENT_HASH, GRAPPA_SELECTION_STYLE_ATTR, GRAPPA_SELECTION_STYLE_HASH, GRAPPA_SHAPE, HASHLIST_TYPE, HEIGHT_ATTR, HEIGHT_HASH, HEXAGON_SHAPE, HIGHLIGHT_MASK, HIGHLIGHT_OFF, HIGHLIGHT_ON, HIGHLIGHT_TOGGLE, HOUSE_SHAPE, IDENTXFRM, IMAGE_ATTR, IMAGE_HASH, INTEGER_TYPE, INVERTEDHOUSE_SHAPE, INVERTEDTRAPEZIUM_SHAPE, INVERTEDTRIANGLE_SHAPE, LABEL_ATTR, LABEL_HASH, LINE_SHAPE, LINE_TYPE, LOG10, LP_ATTR, LP_HASH, MARGIN_ATTR, MARGIN_HASH, MCIRCLE_SHAPE, MCLIMIT_ATTR, MCLIMIT_HASH, MDIAMOND_SHAPE, MINBOX_ATTR, MINBOX_HASH, MINLEN_ATTR, MINLEN_HASH, MINSIZE_ATTR, MINSIZE_HASH, MRECORD_SHAPE, MSQUARE_SHAPE, NBSP, NEW_LINE, NO_SHAPE, NODE, NODESEP_ATTR, NODESEP_HASH, OCTAGON_SHAPE, ORIENTATION_ATTR, ORIENTATION_HASH, OVAL_SHAPE, PACKAGE_PREFIX, PARALLELOGRAM_SHAPE, PATCH_ATTR, PATCH_HASH, PENTAGON_SHAPE, PERIPHERIES_ATTR, PERIPHERIES_HASH, PERIPHERY_GAP, PKG_LOWER, PKG_UPLOW, PKG_UPPER, PLAINTEXT_SHAPE, POINT_TYPE, PointsPerInch, POLYGON_SHAPE, POS_ATTR, POS_HASH, PRINTLIST_ATTR, PRINTLIST_HASH, RANKDIR_ATTR, RANKDIR_HASH, RANKSEP_ATTR, RANKSEP_HASH, RECORD_SHAPE, RECTS_ATTR, RECTS_HASH, ROTATION_ATTR, ROTATION_HASH, ROUNDEDBOX_SHAPE, SELECTION_MASK, SHAPE_ATTR, SHAPE_HASH, SHAPE_MASK, SHAPE_TYPE, SIDES_ATTR, SIDES_HASH, SIZE_ATTR, SIZE_HASH, SIZE_TYPE, SKEW_ATTR, SKEW_HASH, STRING_TYPE, STYLE_ATTR, STYLE_HASH, STYLE_TYPE, SUBGRAPH, SYSTEM, TAG_ATTR, TAG_HASH, TIP_ATTR, TIP_HASH, TRAPEZIUM_SHAPE, TRIANGLE_SHAPE, TRIPLEOCTAGON_SHAPE, TYPES_SHIFT, WEIGHT_ATTR, WEIGHT_HASH, WIDTH_ATTR, WIDTH_HASH
 
Constructor Summary
ActivityGraph()
          basic constructor
 
Method Summary
 ActivityVertex addActivityVertex(ActivityVertex av)
          adds an activity vertex to the activity graph
 ActivityVertex addAndLinkActivityVertex(ActivityVertex av)
          Adds a given activity vertex to this activity graph.
 java.lang.Object clone()
          Makes a deep copy of the object, i.e., reconstructs the activity graph with cloned activity vertices.
 void delActivityVertex(ActivityVertex av)
          Removes an activity vertex from the activity graph
 java.util.List<ActivityVertex> getActivityVertices()
          Retrieves the activity vertices that are present in this activity graph
 HighLevelProcess getHighLevelProcess()
           
 ModelGraphPanel getPanel(java.util.Set<HighLevelProcess.Perspective> perspectivesToShow)
          Returns the visualization of the activity graph for the given perspectives
 void setHighLevelActivitySet(HLActivitySet highLevelActivitySet)
          Sets the highlevelactivity set for this activity graph
 void writeToDot(java.io.Writer bw)
          When a activity graph is asked for its visualization, a temporary dot file is written and afterwards read by grappa to convert it into a java frame.
 
Methods inherited from class org.processmining.framework.models.ModelGraph
addEdge, addEdge, addVertex, calculateAllNonCompRegions, calculateAllRegions, calculateMinimalRegions, calculateRegionsMaxSize, delEdge, getAllEdges, getEdgeObjects, getEdges, getEdgesBetween, getFirstEdge, getGrappaVisualization, getIdentifier, getNumberOfEdges, getPostRegions, getPreRegions, getShortestDistances, getVerticeList, getWeightedArcs, reduceTransitively, removeEdge, removeEdges, removeVertex, setIdentifier, setWeightedArcs, Test
 
Methods inherited from class att.grappa.Graph
addPanel, attributeType, buildShapes, decrementIndent, dropcloth, getErrorWriter, getGlobalAttribute, getGlobalAttributeKeys, getGlobalAttributePairs, getGlobalAttributeSize, getGrappaAttribute, getGrappaAttributeKeys, getGrappaAttributeValue, getId, getIndent, getSynchronizePaint, getToolTipText, incrementIndent, isDirected, isEditable, isMenuable, isSelectable, isStrict, paintImmediately, printError, printError, printGraph, printGraph, removePanel, repaint, reset, reset, resync, setEditable, setErrorWriter, setGrappaAttribute, setMenuable, setSelectable, setSynchronizePaint, setToolTipText, validGrappaAttributeKey
 
Methods inherited from class att.grappa.Subgraph
addEdge, addNode, addSubgraph, addTypeTag, clearPatchWork, compare, computePatchWork, countOfElements, countOfLocalElements, createElement, edgeElements, elements, elements, equals, findEdgeByName, findNodeByName, findSubgraphByName, getBoundingBox, getEdgeAttribute, getEdgeAttributeKeys, getEdgeAttributePairs, getEdgeAttributeValue, getNodeAttribute, getNodeAttributeKeys, getNodeAttributePairs, getNodeAttributeValue, getShowEdgeLabels, getShowNodeLabels, getShowSubgraphLabels, getType, hasEmptySubgraphs, hasTypeTag, hasTypeTags, isCluster, isLR, isRoot, isSubgraph, nodeElements, patchWork, preparePatchWork, printSubgraph, removeEdge, removeEmptySubgraphs, removeNode, removeSubgraph, removeTypeTag, removeTypeTags, resetBoundingBox, setAttribute, setAttribute, setEdgeAttribute, setEdgeAttribute, setName, setNodeAttribute, setNodeAttribute, setShowEdgeLabels, setShowNodeLabels, setShowSubgraphLabels, subgraphElements, vectorOfElements
 
Methods inherited from class att.grappa.Element
addTag, attrNotOfInterest, attrOfInterest, bdfs, buildShape, canonString, canonValue, clearBBox, delete, getAttribute, getAttributePairs, getAttributeValue, getDefaultAttribute, getDefaultAttribute, getGraph, getGrappaNexus, getId, getIdKey, getLocalAttribute, getLocalAttributeKeys, getLocalAttributePairs, getName, getSubgraph, getThisAttribute, getThisAttributeValue, hasAttributeForKey, hasDefaultTag, hasDefaultTags, hasLocalTag, hasLocalTags, hasTag, hasTags, isEdge, isNode, isOfInterest, listAttrsOfInterest, printElement, removeTag, removeTags, setDefaultAttribute, setDefaultAttribute, setDefaultAttribute, setDefaultAttribute, setIdKey, setSubgraph, setUserAttributeType, toString, typeString
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

activities

protected java.util.ArrayList<ActivityVertex> activities
the list of activities

Constructor Detail

ActivityGraph

public ActivityGraph()
basic constructor

Method Detail

addActivityVertex

public ActivityVertex addActivityVertex(ActivityVertex av)
adds an activity vertex to the activity graph

Parameters:
av - ActivityVertex the activity vertex to be added to the graph
Returns:
ActivityVertex the added activity vertex

getActivityVertices

public java.util.List<ActivityVertex> getActivityVertices()
Retrieves the activity vertices that are present in this activity graph

Returns:
List

delActivityVertex

public void delActivityVertex(ActivityVertex av)
Removes an activity vertex from the activity graph

Parameters:
av - ActivityVertex the activity vertex to be removed from the activity graph

writeToDot

public void writeToDot(java.io.Writer bw)
                throws java.io.IOException
When a activity graph is asked for its visualization, a temporary dot file is written and afterwards read by grappa to convert it into a java frame. For the activity graph, only the activities will be displayed in the picture.

Specified by:
writeToDot in interface DotFileWriter
Overrides:
writeToDot in class ModelGraph
Parameters:
bw - Writer
Throws:
java.io.IOException

addAndLinkActivityVertex

public ActivityVertex addAndLinkActivityVertex(ActivityVertex av)
Adds a given activity vertex to this activity graph.
Note that the activity vertex is expected not to be associated to this activity graph already and this link will be established. If that link already has been established use addActivityVertex(ActivityVertex av)) instead.

Parameters:
av - ActivityVertex the activity vertex to be added
Returns:
ActivityVertex the newly added activity vertex

clone

public java.lang.Object clone()
Makes a deep copy of the object, i.e., reconstructs the activity graph with cloned activity vertices. Note that this method needs to be extended as soon as there are attributes added to the class which are not primitive or immutable.

Overrides:
clone in class ModelGraph
Returns:
Object the cloned object.

getPanel

public ModelGraphPanel getPanel(java.util.Set<HighLevelProcess.Perspective> perspectivesToShow)
Returns the visualization of the activity graph for the given perspectives

Parameters:
perspectivesToShow - Set the perspectives that need to be shown in the activity graph
Returns:
ModelGraphPanel the visualization of the activity graph

setHighLevelActivitySet

public void setHighLevelActivitySet(HLActivitySet highLevelActivitySet)
Sets the highlevelactivity set for this activity graph

Parameters:
highLevelActivitySet - HLActivitySet the hlActivitySet

getHighLevelProcess

public HighLevelProcess getHighLevelProcess()