From c1e4fd8d484718f5852b9dd8b5833f4c51be0074 Mon Sep 17 00:00:00 2001 From: Mike Fedosin Date: Sun, 2 Jun 2019 21:56:47 +0200 Subject: [PATCH] Remove _get_next_clauses A little code clean-up: this commit replaces _get_next_clauses method from direct_workflow.py with a built-in find_outbound_task_names Change-Id: Ic5ea956ee45b8c455d42669c0f0e386d53e22425 --- mistral/workflow/direct_workflow.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/mistral/workflow/direct_workflow.py b/mistral/workflow/direct_workflow.py index 8267bcbdb..aabb09eec 100644 --- a/mistral/workflow/direct_workflow.py +++ b/mistral/workflow/direct_workflow.py @@ -196,13 +196,6 @@ class DirectWorkflowController(base.WorkflowController): return self._get_join_logical_state(task_spec) - def _get_next_clauses(self, task_name): - res = self.wf_spec.get_on_success_clause(task_name)[:] - res += self.wf_spec.get_on_error_clause(task_name) - res += self.wf_spec.get_on_complete_clause(task_name) - - return res - def find_indirectly_affected_task_executions(self, t_name): all_joins = {task_spec.get_name() for task_spec in self.wf_spec.get_tasks() @@ -216,12 +209,13 @@ class DirectWorkflowController(base.WorkflowController): } if all_joins else {} visited_task_names = set() - clauses = self._get_next_clauses(t_name) + clauses = self.wf_spec.find_outbound_task_names(t_name) + res = set() while clauses: visited_task_names.add(t_name) - t_name, _, _ = clauses.pop() + t_name = clauses.pop() # Handle cycles. if t_name in visited_task_names: @@ -236,7 +230,7 @@ class DirectWorkflowController(base.WorkflowController): res.add(t_execs_cache[t_name]) continue - clauses += self._get_next_clauses(t_name) + clauses.update(self.wf_spec.find_outbound_task_names(t_name)) return res