org.processmining.framework.models.epcpack
Class ConfigurableEPC

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.epcpack.ConfigurableEPC
All Implemented Interfaces:
att.grappa.GrappaConstants, java.util.Comparator, DotFileWriter
Direct Known Subclasses:
EPC, EPCFragment

public class ConfigurableEPC
extends ModelGraph

Version:
1.0
Author:
not attributable

Field Summary
protected  java.util.ArrayList connectors
           
protected  boolean enforceValidity
           
protected  java.util.ArrayList events
           
protected  java.util.ArrayList functions
           
 
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
ConfigurableEPC()
           
ConfigurableEPC(boolean enforceValidity)
           
 
Method Summary
 ConfigurableEPCConfiguration addConfiguration(ConfigurableEPCConfiguration config)
           
 EPCConnector addConnector(EPCConnector c)
           
 EPCEdge addEdge(EPCObject source, EPCObject destination)
           
 EPCEvent addEvent(EPCEvent e)
           
 EPCFunction addFunction(EPCFunction f)
           
 EPC applyConfiguration(ConfigurableEPCConfiguration config)
          applyConfiguration applies the configuration of this configurable epc, thus yielding a new EPC, note that config.isComplete() should be true.
 EPC applyCurrentConfiguration()
          applyConfiguration applies the current configuration of this configurable epc, thus yielding a new EPC.
 EPC applyFirstCompleteConfiguration()
          applyConfiguration applies the current configuration of this configurable epc, thus yielding a new EPC.
 void copyAllFrom(ConfigurableEPC epc, java.util.HashMap org2new)
           
 void delConfiguration(ConfigurableEPCConfiguration config)
           
 void delConnector(EPCConnector c)
           
 void delEvent(EPCEvent e)
           
 void delFunction(EPCFunction f)
           
protected  java.lang.String editName(java.lang.String name)
           
 java.util.ArrayList getAllFunctions(LogEvent lme)
           
 java.util.ArrayList getConfigurableObjects()
           
 java.util.ArrayList getConnectors()
           
 EPCEvent getEvent(java.lang.String identifier)
           
 java.util.ArrayList getEvents()
           
 java.util.ArrayList getFunctions()
           
 java.util.Collection[] getPossiblePreEvents(EPCFunction f)
           
 java.util.Collection[] getPossiblePreFunctions(EPCEvent e)
           
 java.util.Collection[] getPossibleSucEvents(EPCFunction f)
           
 java.util.Collection[] getPossibleSucFunctions(EPCEvent e)
           
 java.util.ArrayList getPreceedingEvents(EPCFunction f)
           
 java.util.ArrayList getPreceedingFunctions(EPCEvent e)
           
 java.util.ArrayList getSucceedingEvents(EPCFunction f)
           
 java.util.ArrayList getSucceedingFunctions(EPCEvent e)
           
 boolean isFullyConfigurable()
          Check if there is at least one configuration that is complete
 java.lang.String isValidEPC()
           
 void setShowObjects(boolean org, boolean data, boolean infSys)
           
 void setValidating(boolean b)
          setValidating
 void Test(java.lang.String tag)
          Print key indicators of the EPC to the Test tab.
protected  void write(java.lang.String s, java.io.OutputStream out)
           
 void writePPMImport(java.io.OutputStream out)
           
 void writeToDot(java.io.Writer bw)
          Writes a DOT representation of this graph to the given Writer.
 
Methods inherited from class org.processmining.framework.models.ModelGraph
addEdge, addEdge, addVertex, calculateAllNonCompRegions, calculateAllRegions, calculateMinimalRegions, calculateRegionsMaxSize, clone, delEdge, getAllEdges, getEdgeObjects, getEdges, getEdgesBetween, getFirstEdge, getGrappaVisualization, getIdentifier, getNumberOfEdges, getPostRegions, getPreRegions, getShortestDistances, getVerticeList, getWeightedArcs, reduceTransitively, removeEdge, removeEdges, removeVertex, setIdentifier, setWeightedArcs
 
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

functions

protected java.util.ArrayList functions

events

protected java.util.ArrayList events

connectors

protected java.util.ArrayList connectors

enforceValidity

protected boolean enforceValidity
Constructor Detail

ConfigurableEPC

public ConfigurableEPC()

ConfigurableEPC

public ConfigurableEPC(boolean enforceValidity)
Method Detail

setValidating

public void setValidating(boolean b)
setValidating

Parameters:
b - boolean

addFunction

public EPCFunction addFunction(EPCFunction f)

addConnector

public EPCConnector addConnector(EPCConnector c)

getEvent

public EPCEvent getEvent(java.lang.String identifier)

addEvent

public EPCEvent addEvent(EPCEvent e)

delFunction

public void delFunction(EPCFunction f)

delConnector

public void delConnector(EPCConnector c)

delEvent

public void delEvent(EPCEvent e)

isValidEPC

public java.lang.String isValidEPC()

addEdge

public EPCEdge addEdge(EPCObject source,
                       EPCObject destination)

writeToDot

public void writeToDot(java.io.Writer bw)
                throws java.io.IOException
Description copied from class: ModelGraph
Writes a DOT representation of this graph to the given Writer. This representation is used by the getGrappaVisualization method to generate the visualization. Note that this function should have a call to nodeMapping.clear() at the beginning and it should call nodeMapping.put(new String(nodeID),nodeObject); after writing a node to the dot file

Specified by:
writeToDot in interface DotFileWriter
Overrides:
writeToDot in class ModelGraph
Parameters:
bw - the DOT representation will be written using this Writer
Throws:
java.io.IOException - in case there is a problem with writing to bw

getAllFunctions

public java.util.ArrayList getAllFunctions(LogEvent lme)

getFunctions

public java.util.ArrayList getFunctions()

getEvents

public java.util.ArrayList getEvents()

getConnectors

public java.util.ArrayList getConnectors()

getConfigurableObjects

public java.util.ArrayList getConfigurableObjects()

setShowObjects

public void setShowObjects(boolean org,
                           boolean data,
                           boolean infSys)

addConfiguration

public ConfigurableEPCConfiguration addConfiguration(ConfigurableEPCConfiguration config)

delConfiguration

public void delConfiguration(ConfigurableEPCConfiguration config)

applyConfiguration

public EPC applyConfiguration(ConfigurableEPCConfiguration config)
applyConfiguration applies the configuration of this configurable epc, thus yielding a new EPC, note that config.isComplete() should be true. If not, null is returned.

Parameters:
config - ConfigurableEPCConfiguration
Returns:
EPC the newly configured EPC.

applyCurrentConfiguration

public EPC applyCurrentConfiguration()
applyConfiguration applies the current configuration of this configurable epc, thus yielding a new EPC. The current configuration is the one last added by the addConfiguration method. If there is no such configuration, null is returned. Note that the configuration should be complete. If not, null is returned.

Parameters:
config - ConfigurableEPCConfiguration
Returns:
EPC the newly configured EPC.

applyFirstCompleteConfiguration

public EPC applyFirstCompleteConfiguration()
applyConfiguration applies the current configuration of this configurable epc, thus yielding a new EPC. The current configuration is the one last added by the addConfiguration method. If there is no such configuration, null is returned. Note that the configuration should be complete. If not, null is returned.

Parameters:
config - ConfigurableEPCConfiguration
Returns:
EPC the newly configured EPC.

isFullyConfigurable

public boolean isFullyConfigurable()
Check if there is at least one configuration that is complete

Parameters:
config - ConfigurableEPCConfiguration
Returns:
EPC the newly configured EPC.

getPreceedingEvents

public java.util.ArrayList getPreceedingEvents(EPCFunction f)

getSucceedingEvents

public java.util.ArrayList getSucceedingEvents(EPCFunction f)

getPreceedingFunctions

public java.util.ArrayList getPreceedingFunctions(EPCEvent e)

getSucceedingFunctions

public java.util.ArrayList getSucceedingFunctions(EPCEvent e)

copyAllFrom

public void copyAllFrom(ConfigurableEPC epc,
                        java.util.HashMap org2new)

getPossibleSucFunctions

public java.util.Collection[] getPossibleSucFunctions(EPCEvent e)

getPossiblePreFunctions

public java.util.Collection[] getPossiblePreFunctions(EPCEvent e)

getPossibleSucEvents

public java.util.Collection[] getPossibleSucEvents(EPCFunction f)

getPossiblePreEvents

public java.util.Collection[] getPossiblePreEvents(EPCFunction f)

writePPMImport

public void writePPMImport(java.io.OutputStream out)
                    throws java.io.IOException
Throws:
java.io.IOException

write

protected void write(java.lang.String s,
                     java.io.OutputStream out)

editName

protected java.lang.String editName(java.lang.String name)

Test

public void Test(java.lang.String tag)
Print key indicators of the EPC to the Test tab.

Overrides:
Test in class ModelGraph
Parameters:
tag - String The tag to use for the indicators.