Class NESTWorkflowExtractorImpl
java.lang.Object
de.uni_trier.wi2.procake.utils.extractor.NESTWorkflowExtractorImpl
- All Implemented Interfaces:
NESTWorkflowExtractor
Implementation of
NESTWorkflowExtractor
.-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionextractPartialGraph
(NESTSequenceNodeObject componentNode, boolean removeUnusedControlflowBlocks) Returns a cloned partial nest workflow graph for a sequence node.extractPartialGraph
(Collection<NESTSequenceNodeObject> componentNodes, boolean removeUnusedControlflowBlocks) Returns a cloned partial nest workflow graph for a given set of sequence nodes.Returns a set of partial nest workflow graph for those sequence nodes that are connected via the control-flow and a set of partial nest graphs containing unlinked data objects.Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.extractSingleTaskBlocks
(Predicate<NESTTaskNodeObject> filter, int initialCntValue) Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.extractTaskSequences
(int minLength) Extracts each longest sequence of task nodes without controlflow nodes and with at least minLength tasksReturns a set of partial nest workflow graphs extracted from a block-oriented workflow graph.extractWorkflowBlocks
(int initialCntValue) Returns a set of partial nest workflow graphs extracted from a block-oriented workflow graph.
-
Field Details
-
nestWorkflow
-
-
Constructor Details
-
NESTWorkflowExtractorImpl
-
-
Method Details
-
extractTaskSequences
Description copied from interface:NESTWorkflowExtractor
Extracts each longest sequence of task nodes without controlflow nodes and with at least minLength tasks- Specified by:
extractTaskSequences
in interfaceNESTWorkflowExtractor
- Parameters:
minLength
- minimum number of tasks in a sequence- Returns:
- set of nest workflow graphs with task sequences
-
extractSingleTaskBlocks
Description copied from interface:NESTWorkflowExtractor
Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.- Specified by:
extractSingleTaskBlocks
in interfaceNESTWorkflowExtractor
- Returns:
- set of nest workflow graphs
-
extractSingleTaskBlocks
Description copied from interface:NESTWorkflowExtractor
Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.- Specified by:
extractSingleTaskBlocks
in interfaceNESTWorkflowExtractor
- Parameters:
filter
- filter for the tasks to be extracted- Returns:
- set of nest workflow graphs
-
extractSingleTaskBlocks
public Set<NESTWorkflowObject> extractSingleTaskBlocks(Predicate<NESTTaskNodeObject> filter, int initialCntValue) Description copied from interface:NESTWorkflowExtractor
Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.- Specified by:
extractSingleTaskBlocks
in interfaceNESTWorkflowExtractor
- Parameters:
filter
- filter for the tasks to be extractedinitialCntValue
- counter for id generation- Returns:
- set of nest workflow graphs
-
extractWorkflowBlocks
Description copied from interface:NESTWorkflowExtractor
Returns a set of partial nest workflow graphs extracted from a block-oriented workflow graph. Returns the following elements as a single graph: each longest sequence of task nodes without controlflow nodes with at least two tasks and each controlflow block with contained sequences Returns null if the given nest workflow graph is not block-oriented.- Specified by:
extractWorkflowBlocks
in interfaceNESTWorkflowExtractor
- Returns:
- set of nest workflow graphs
-
extractWorkflowBlocks
Description copied from interface:NESTWorkflowExtractor
Returns a set of partial nest workflow graphs extracted from a block-oriented workflow graph. Returns the following elements as a single graph: each longest sequence of task nodes without controlflow nodes with at least two tasks and each controlflow block with contained sequences Returns null if the given nest workflow graph is not block-oriented.- Specified by:
extractWorkflowBlocks
in interfaceNESTWorkflowExtractor
- Parameters:
initialCntValue
- counter for id generation- Returns:
- set of nest workflow graphs
-
extractPartialGraphComponents
Description copied from interface:NESTWorkflowExtractor
Returns a set of partial nest workflow graph for those sequence nodes that are connected via the control-flow and a set of partial nest graphs containing unlinked data objects.- Specified by:
extractPartialGraphComponents
in interfaceNESTWorkflowExtractor
- Returns:
- set of partial nest workflow graphs
-
extractOrderedDataNodes
- Specified by:
extractOrderedDataNodes
in interfaceNESTWorkflowExtractor
- Returns:
- data nodes ordered by occurrence.
-
extractOrderedTaskNodes
- Specified by:
extractOrderedTaskNodes
in interfaceNESTWorkflowExtractor
- Returns:
- task nodes ordered by occurrence.
-
extractPartialGraph
public NESTWorkflowObject extractPartialGraph(Collection<NESTSequenceNodeObject> componentNodes, boolean removeUnusedControlflowBlocks) Description copied from interface:NESTWorkflowExtractor
Returns a cloned partial nest workflow graph for a given set of sequence nodes.- Specified by:
extractPartialGraph
in interfaceNESTWorkflowExtractor
- Parameters:
componentNodes
- the set of sequence nodes that are contained in the nest graphremoveUnusedControlflowBlocks
- defined whether unused control-flow blocks are removed- Returns:
- cloned partial nest workflow graph
-
extractPartialGraph
public NESTWorkflowObject extractPartialGraph(NESTSequenceNodeObject componentNode, boolean removeUnusedControlflowBlocks) Description copied from interface:NESTWorkflowExtractor
Returns a cloned partial nest workflow graph for a sequence node.- Specified by:
extractPartialGraph
in interfaceNESTWorkflowExtractor
- Parameters:
componentNode
- the set of sequence nodes that are contained in the nest workflow graphremoveUnusedControlflowBlocks
- defined whether unused control-flow blocks are removed- Returns:
- cloned partial nest workflow graph
-
extractOrderedSequenceNodes
- Specified by:
extractOrderedSequenceNodes
in interfaceNESTWorkflowExtractor
- Returns:
- sequence nodes ordered by occurrence.
-