Squashed 'SpiffWorkflow/' changes from a6392d1906..8d820dce1f
8d820dce1f Track spiff step details more granularly (#17) 426da26d8f Clear the remaining __init__.py imports in SpiffWorkflow (#14) 9a1d1c484a Fix FutureWarning in SpiffWorkflow (#16) git-subtree-dir: SpiffWorkflow git-subtree-split: 8d820dce1f439bb76bc07e39629832d998d6f634
This commit is contained in:
parent
c3cdca16b8
commit
7ac4b51c6a
|
@ -27,8 +27,10 @@ from SpiffWorkflow.bpmn.specs.events.event_definitions import NoneEventDefinitio
|
|||
|
||||
from .ValidationException import ValidationException
|
||||
from ..specs.BpmnProcessSpec import BpmnProcessSpec
|
||||
from ..specs.events import StartEvent, EndEvent, BoundaryEvent, IntermediateCatchEvent, IntermediateThrowEvent
|
||||
from ..specs.events import SendTask, ReceiveTask
|
||||
from ..specs.events.EndEvent import EndEvent
|
||||
from ..specs.events.StartEvent import StartEvent
|
||||
from ..specs.events.IntermediateEvent import BoundaryEvent, IntermediateCatchEvent, IntermediateThrowEvent
|
||||
from ..specs.events.IntermediateEvent import SendTask, ReceiveTask
|
||||
from ..specs.SubWorkflowTask import CallActivity, SubWorkflowTask, TransactionSubprocess
|
||||
from ..specs.ExclusiveGateway import ExclusiveGateway
|
||||
from ..specs.InclusiveGateway import InclusiveGateway
|
||||
|
|
|
@ -23,7 +23,8 @@ from .ValidationException import ValidationException
|
|||
from ..specs.NoneTask import NoneTask
|
||||
from ..specs.ScriptTask import ScriptTask
|
||||
from ..specs.UserTask import UserTask
|
||||
from ..specs.events import _BoundaryEventParent, CancelEventDefinition
|
||||
from ..specs.events.IntermediateEvent import _BoundaryEventParent
|
||||
from ..specs.events.event_definitions import CancelEventDefinition
|
||||
from ..specs.MultiInstanceTask import getDynamicMIClass
|
||||
from ..specs.SubWorkflowTask import CallActivity, TransactionSubprocess, SubWorkflowTask
|
||||
from ..specs.ExclusiveGateway import ExclusiveGateway
|
||||
|
|
|
@ -5,7 +5,7 @@ from SpiffWorkflow.bpmn.specs.events.event_definitions import CorrelationPropert
|
|||
from .ValidationException import ValidationException
|
||||
from .TaskParser import TaskParser
|
||||
from .util import first, one
|
||||
from ..specs.events import (TimerEventDefinition, MessageEventDefinition,
|
||||
from ..specs.events.event_definitions import (TimerEventDefinition, MessageEventDefinition,
|
||||
ErrorEventDefinition, EscalationEventDefinition,
|
||||
SignalEventDefinition,
|
||||
CancelEventDefinition, CycleTimerEventDefinition,
|
||||
|
|
|
@ -35,7 +35,8 @@ class NodeParser:
|
|||
return expression.text if expression is not None else None
|
||||
|
||||
def parse_documentation(self, sequence_flow=None):
|
||||
documentation_node = first(self._xpath(sequence_flow or self.node, './/bpmn:documentation'))
|
||||
node = sequence_flow if sequence_flow is not None else self.node
|
||||
documentation_node = first(self._xpath(node, './/bpmn:documentation'))
|
||||
return None if documentation_node is None else documentation_node.text
|
||||
|
||||
def parse_incoming_data_references(self):
|
||||
|
|
|
@ -23,7 +23,7 @@ from builtins import object
|
|||
from collections import deque
|
||||
import json
|
||||
from ...task import TaskState
|
||||
from ...specs import SubWorkflow
|
||||
from ...specs.Subworkflow import SubWorkflow
|
||||
from ...serializer.base import Serializer
|
||||
from ..workflow import BpmnWorkflow
|
||||
|
||||
|
|
|
@ -15,6 +15,3 @@
|
|||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
|
||||
from .workflow import BpmnWorkflowSerializer
|
||||
from .bpmn_converters import BpmnDataConverter
|
|
@ -7,9 +7,9 @@ from SpiffWorkflow.bpmn.specs.BpmnProcessSpec import BpmnDataSpecification
|
|||
|
||||
from .dictionary import DictionaryConverter
|
||||
|
||||
from ..specs.events import SignalEventDefinition, MessageEventDefinition, NoneEventDefinition
|
||||
from ..specs.events import TimerEventDefinition, CycleTimerEventDefinition, TerminateEventDefinition
|
||||
from ..specs.events import ErrorEventDefinition, EscalationEventDefinition, CancelEventDefinition
|
||||
from ..specs.events.event_definitions import SignalEventDefinition, MessageEventDefinition, NoneEventDefinition
|
||||
from ..specs.events.event_definitions import TimerEventDefinition, CycleTimerEventDefinition, TerminateEventDefinition
|
||||
from ..specs.events.event_definitions import ErrorEventDefinition, EscalationEventDefinition, CancelEventDefinition
|
||||
from ..specs.events.event_definitions import CorrelationProperty, NamedEventDefinition
|
||||
|
||||
from ..specs.BpmnSpecMixin import BpmnSpecMixin, SequenceFlow
|
||||
|
|
|
@ -2,7 +2,7 @@ from uuid import UUID
|
|||
|
||||
from .bpmn_converters import BpmnTaskSpecConverter
|
||||
|
||||
from ...specs import StartTask
|
||||
from ...specs.StartTask import StartTask
|
||||
from ...specs.Simple import Simple
|
||||
from ...specs.LoopResetTask import LoopResetTask
|
||||
|
||||
|
@ -19,7 +19,9 @@ from ..specs.ExclusiveGateway import ExclusiveGateway
|
|||
from ..specs.InclusiveGateway import InclusiveGateway
|
||||
from ..specs.ParallelGateway import ParallelGateway
|
||||
|
||||
from ..specs.events import StartEvent, EndEvent, BoundaryEvent, IntermediateCatchEvent, IntermediateThrowEvent
|
||||
from ..specs.events.StartEvent import StartEvent
|
||||
from ..specs.events.EndEvent import EndEvent
|
||||
from ..specs.events.IntermediateEvent import BoundaryEvent, IntermediateCatchEvent, IntermediateThrowEvent
|
||||
from ..specs.events.IntermediateEvent import _BoundaryEventParent, SendTask, ReceiveTask
|
||||
|
||||
from ..workflow import BpmnWorkflow
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
from ...task import TaskState
|
||||
from ...operators import Operator
|
||||
from ...specs import TaskSpec
|
||||
from ...specs.base import TaskSpec
|
||||
|
||||
|
||||
class _BpmnCondition(Operator):
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
from ...exceptions import WorkflowException
|
||||
|
||||
from .BpmnSpecMixin import BpmnSpecMixin
|
||||
from ...specs import TaskSpec
|
||||
from ...specs.base import TaskSpec
|
||||
from ...specs.ExclusiveChoice import ExclusiveChoice
|
||||
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
# 02110-1301 USA
|
||||
from ...bpmn.specs.BpmnSpecMixin import BpmnSpecMixin
|
||||
|
||||
from ...specs import Simple
|
||||
from ...specs.Simple import Simple
|
||||
|
||||
|
||||
class ManualTask(Simple, BpmnSpecMixin):
|
||||
|
@ -32,4 +32,4 @@ class ManualTask(Simple, BpmnSpecMixin):
|
|||
|
||||
@property
|
||||
def spec_type(self):
|
||||
return 'Manual Task'
|
||||
return 'Manual Task'
|
||||
|
|
|
@ -29,7 +29,7 @@ from .ScriptTask import ScriptTask
|
|||
from .ExclusiveGateway import ExclusiveGateway
|
||||
from ...dmn.specs.BusinessRuleTask import BusinessRuleTask
|
||||
from ...operators import valueof, is_number
|
||||
from ...specs import SubWorkflow
|
||||
from ...specs.SubWorkflow import SubWorkflow
|
||||
from ...specs.base import TaskSpec
|
||||
from ...util.impl import get_class
|
||||
from ...task import Task, TaskState
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
from ...specs import Simple
|
||||
from ...specs.Simple import Simple
|
||||
|
||||
from ...bpmn.specs.BpmnSpecMixin import BpmnSpecMixin
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ from copy import deepcopy
|
|||
|
||||
from SpiffWorkflow.task import TaskState
|
||||
from .BpmnSpecMixin import BpmnSpecMixin
|
||||
from ...specs import TaskSpec
|
||||
from ...specs.base import TaskSpec
|
||||
|
||||
|
||||
class SubWorkflowTask(BpmnSpecMixin):
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
from .StartEvent import StartEvent
|
||||
from .EndEvent import EndEvent
|
||||
from .IntermediateEvent import IntermediateCatchEvent, IntermediateThrowEvent, BoundaryEvent, _BoundaryEventParent, SendTask, ReceiveTask
|
||||
from .event_definitions import (NoneEventDefinition, CancelEventDefinition, ErrorEventDefinition, EscalationEventDefinition, MessageEventDefinition,
|
||||
SignalEventDefinition, TimerEventDefinition, CycleTimerEventDefinition, TerminateEventDefinition)
|
|
@ -161,7 +161,9 @@ class BpmnWorkflow(Workflow):
|
|||
event_definition.payload = payload
|
||||
self.catch(event_definition, correlations=correlations)
|
||||
|
||||
def do_engine_steps(self, exit_at = None):
|
||||
def do_engine_steps(self, exit_at = None,
|
||||
will_complete_task=None,
|
||||
did_complete_task=None):
|
||||
"""
|
||||
Execute any READY tasks that are engine specific (for example, gateways
|
||||
or script tasks). This is done in a loop, so it will keep completing
|
||||
|
@ -169,6 +171,8 @@ class BpmnWorkflow(Workflow):
|
|||
left.
|
||||
|
||||
:param exit_at: After executing a task with a name matching this param return the task object
|
||||
:param will_complete_task: Callback that will be called prior to completing a task
|
||||
:param did_complete_task: Callback that will be called after completing a task
|
||||
"""
|
||||
assert not self.read_only
|
||||
engine_steps = list(
|
||||
|
@ -176,21 +180,34 @@ class BpmnWorkflow(Workflow):
|
|||
if self._is_engine_task(t.task_spec)])
|
||||
while engine_steps:
|
||||
for task in engine_steps:
|
||||
if will_complete_task is not None:
|
||||
will_complete_task(task)
|
||||
task.complete()
|
||||
if did_complete_task is not None:
|
||||
did_complete_task(task)
|
||||
if task.task_spec.name == exit_at:
|
||||
return task
|
||||
engine_steps = list(
|
||||
[t for t in self.get_tasks(TaskState.READY)
|
||||
if self._is_engine_task(t.task_spec)])
|
||||
|
||||
def refresh_waiting_tasks(self):
|
||||
def refresh_waiting_tasks(self,
|
||||
will_refresh_task=None,
|
||||
did_refresh_task=None):
|
||||
"""
|
||||
Refresh the state of all WAITING tasks. This will, for example, update
|
||||
Catching Timer Events whose waiting time has passed.
|
||||
|
||||
:param will_refresh_task: Callback that will be called prior to refreshing a task
|
||||
:param did_refresh_task: Callback that will be called after refreshing a task
|
||||
"""
|
||||
assert not self.read_only
|
||||
for my_task in self.get_tasks(TaskState.WAITING):
|
||||
if will_refresh_task is not None:
|
||||
will_refresh_task(my_task)
|
||||
my_task.task_spec._update(my_task)
|
||||
if did_refresh_task is not None:
|
||||
did_refresh_task(my_task)
|
||||
|
||||
def get_tasks_from_spec_name(self, name, workflow=None):
|
||||
return [t for t in self.get_tasks(workflow=workflow) if t.task_spec.name == name]
|
||||
|
|
|
@ -6,7 +6,9 @@ from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser
|
|||
from SpiffWorkflow.dmn.specs.BusinessRuleTask import BusinessRuleTask
|
||||
from SpiffWorkflow.camunda.parser.task_spec import BusinessRuleTaskParser
|
||||
|
||||
from SpiffWorkflow.bpmn.specs.events import EndEvent, IntermediateThrowEvent, StartEvent, IntermediateCatchEvent, BoundaryEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.StartEvent import StartEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.EndEvent import EndEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.IntermediateEvent import IntermediateThrowEvent, IntermediateCatchEvent, BoundaryEvent
|
||||
from .event_parsers import CamundaStartEventParser, CamundaEndEventParser, \
|
||||
CamundaIntermediateCatchEventParser, CamundaIntermediateThrowEventParser, CamundaBoundaryEventParser
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
from .task_spec_converters import UserTaskConverter, StartEventConverter, EndEventConverter, \
|
||||
BoundaryEventConverter, IntermediateCatchEventConverter, IntermediateThrowEventConverter
|
|
@ -1,6 +1,8 @@
|
|||
from functools import partial
|
||||
|
||||
from SpiffWorkflow.bpmn.specs.events import EndEvent, IntermediateThrowEvent, StartEvent, IntermediateCatchEvent, BoundaryEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.StartEvent import StartEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.EndEvent import EndEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.IntermediateEvent import IntermediateThrowEvent, IntermediateCatchEvent, BoundaryEvent
|
||||
from ..specs.events.event_definitions import MessageEventDefinition
|
||||
from ...bpmn.serializer.bpmn_converters import BpmnTaskSpecConverter
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
from .task_spec_converters import BusinessRuleTaskConverter
|
|
@ -1,6 +1,6 @@
|
|||
from SpiffWorkflow.bpmn.exceptions import WorkflowTaskExecException
|
||||
|
||||
from ...specs import Simple
|
||||
from ...specs.Simple import Simple
|
||||
|
||||
from ...bpmn.specs.BpmnSpecMixin import BpmnSpecMixin
|
||||
from ...util.deep_merge import DeepMerge
|
||||
|
|
|
@ -16,6 +16,71 @@ from builtins import object
|
|||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
|
||||
import re
|
||||
from .. import operators
|
||||
from .. import specs
|
||||
from ..specs.AcquireMutex import AcquireMutex
|
||||
from ..specs.Cancel import Cancel
|
||||
from ..specs.CancelTask import CancelTask
|
||||
from ..specs.Celery import Celery
|
||||
from ..specs.Choose import Choose
|
||||
from ..specs.ExclusiveChoice import ExclusiveChoice
|
||||
from ..specs.Execute import Execute
|
||||
from ..specs.Gate import Gate
|
||||
from ..specs.Join import Join
|
||||
from ..specs.Merge import Merge
|
||||
from ..specs.MultiChoice import MultiChoice
|
||||
from ..specs.MultiInstance import MultiInstance
|
||||
from ..specs.ReleaseMutex import ReleaseMutex
|
||||
from ..specs.Simple import Simple
|
||||
from ..specs.StartTask import StartTask
|
||||
from ..specs.SubWorkflow import SubWorkflow
|
||||
from ..specs.ThreadStart import ThreadStart
|
||||
from ..specs.ThreadMerge import ThreadMerge
|
||||
from ..specs.ThreadSplit import ThreadSplit
|
||||
from ..specs.Transform import Transform
|
||||
from ..specs.Trigger import Trigger
|
||||
from ..specs.WorkflowSpec import WorkflowSpec
|
||||
from ..specs.LoopResetTask import LoopResetTask
|
||||
|
||||
# Create a list of tag names out of the spec names.
|
||||
def spec_map():
|
||||
return {
|
||||
'acquire-mutex': AcquireMutex,
|
||||
'cancel': Cancel,
|
||||
'cancel-task': CancelTask,
|
||||
'celery': Celery,
|
||||
'choose': Choose,
|
||||
'exclusive-choice': ExclusiveChoice,
|
||||
'execute': Execute,
|
||||
'gate': Gate,
|
||||
'join': Join,
|
||||
'merge': Merge,
|
||||
'multi-choice': MultiChoice,
|
||||
'multi-instance': MultiInstance,
|
||||
'release-mutex': ReleaseMutex,
|
||||
'simple': Simple,
|
||||
'start-task': StartTask,
|
||||
'sub-workflow': SubWorkflow,
|
||||
'thread-start': ThreadStart,
|
||||
'thread-merge': ThreadMerge,
|
||||
'thread-split': ThreadSplit,
|
||||
'transform': Transform,
|
||||
'trigger': Trigger,
|
||||
'workflow-spec': WorkflowSpec,
|
||||
'loop-reset-task': LoopResetTask,
|
||||
'task': Simple,
|
||||
}
|
||||
|
||||
def op_map():
|
||||
return {
|
||||
'equals': operators.Equal,
|
||||
'not-equals': operators.NotEqual,
|
||||
'less-than': operators.LessThan,
|
||||
'greater-than': operators.GreaterThan,
|
||||
'matches': operators.Match
|
||||
}
|
||||
|
||||
|
||||
class Serializer(object):
|
||||
|
||||
|
|
|
@ -24,11 +24,30 @@ from ..util.impl import get_class
|
|||
from ..task import Task
|
||||
from ..operators import (Attrib, PathAttrib, Equal, NotEqual,
|
||||
Operator, GreaterThan, LessThan, Match)
|
||||
from ..specs import (Cancel, AcquireMutex, CancelTask, Celery, Choose,
|
||||
ExclusiveChoice, Execute, Gate, Join, MultiChoice,
|
||||
MultiInstance, ReleaseMutex, Simple, WorkflowSpec,
|
||||
TaskSpec, SubWorkflow, StartTask, ThreadMerge,
|
||||
ThreadSplit, ThreadStart, Merge, Trigger, LoopResetTask)
|
||||
from ..specs.base import TaskSpec
|
||||
from ..specs.AcquireMutex import AcquireMutex
|
||||
from ..specs.Cancel import Cancel
|
||||
from ..specs.CancelTask import CancelTask
|
||||
from ..specs.Celery import Celery
|
||||
from ..specs.Choose import Choose
|
||||
from ..specs.ExclusiveChoice import ExclusiveChoice
|
||||
from ..specs.Execute import Execute
|
||||
from ..specs.Gate import Gate
|
||||
from ..specs.Join import Join
|
||||
from ..specs.Merge import Merge
|
||||
from ..specs.MultiChoice import MultiChoice
|
||||
from ..specs.MultiInstance import MultiInstance
|
||||
from ..specs.ReleaseMutex import ReleaseMutex
|
||||
from ..specs.Simple import Simple
|
||||
from ..specs.StartTask import StartTask
|
||||
from ..specs.SubWorkflow import SubWorkflow
|
||||
from ..specs.ThreadStart import ThreadStart
|
||||
from ..specs.ThreadMerge import ThreadMerge
|
||||
from ..specs.ThreadSplit import ThreadSplit
|
||||
from ..specs.Transform import Transform
|
||||
from ..specs.Trigger import Trigger
|
||||
from ..specs.WorkflowSpec import WorkflowSpec
|
||||
from ..specs.LoopResetTask import LoopResetTask
|
||||
from .base import Serializer
|
||||
from .exceptions import TaskNotSupportedError, MissingSpecError
|
||||
import warnings
|
||||
|
|
|
@ -18,25 +18,15 @@
|
|||
# 02110-1301 USA
|
||||
import re
|
||||
import xml.dom.minidom as minidom
|
||||
from .. import operators, specs
|
||||
from .. import operators
|
||||
from ..specs.Simple import Simple
|
||||
from ..specs.WorkflowSpec import WorkflowSpec
|
||||
from ..exceptions import StorageException
|
||||
from .base import Serializer
|
||||
from .base import Serializer, spec_map, op_map
|
||||
|
||||
# Create a list of tag names out of the spec names.
|
||||
_spec_map = dict()
|
||||
for name in dir(specs):
|
||||
if name.startswith('_'):
|
||||
continue
|
||||
module = specs.__dict__[name]
|
||||
name = re.sub(r'(.)([A-Z])', r'\1-\2', name).lower()
|
||||
_spec_map[name] = module
|
||||
_spec_map['task'] = specs.Simple
|
||||
|
||||
_op_map = {'equals': operators.Equal,
|
||||
'not-equals': operators.NotEqual,
|
||||
'less-than': operators.LessThan,
|
||||
'greater-than': operators.GreaterThan,
|
||||
'matches': operators.Match}
|
||||
_spec_map = spec_map()
|
||||
_op_map = op_map()
|
||||
|
||||
_exc = StorageException
|
||||
|
||||
|
@ -299,9 +289,9 @@ class XmlSerializer(Serializer):
|
|||
_exc('%s without a name attribute' % node.nodeName)
|
||||
|
||||
# Read all task specs and create a list of successors.
|
||||
workflow_spec = specs.WorkflowSpec(name, filename)
|
||||
workflow_spec = WorkflowSpec(name, filename)
|
||||
del workflow_spec.task_specs['Start']
|
||||
end = specs.Simple(workflow_spec, 'End'), []
|
||||
end = Simple(workflow_spec, 'End'), []
|
||||
read_specs = dict(end=end)
|
||||
for child_node in node.childNodes:
|
||||
if child_node.nodeType != minidom.Node.ELEMENT_NODE:
|
||||
|
|
|
@ -24,29 +24,35 @@ from .. import specs, operators
|
|||
from ..task import Task, TaskStateNames
|
||||
from ..operators import (Attrib, Assign, PathAttrib, Equal, NotEqual,
|
||||
GreaterThan, LessThan, Match)
|
||||
from ..specs import (Cancel, AcquireMutex, CancelTask, Celery, Choose,
|
||||
ExclusiveChoice, Execute, Gate, Join, MultiChoice,
|
||||
MultiInstance, ReleaseMutex, Simple, WorkflowSpec,
|
||||
SubWorkflow, StartTask, ThreadMerge,
|
||||
ThreadSplit, ThreadStart, Merge, Trigger, LoopResetTask)
|
||||
from .base import Serializer
|
||||
from ..specs.AcquireMutex import AcquireMutex
|
||||
from ..specs.Cancel import Cancel
|
||||
from ..specs.CancelTask import CancelTask
|
||||
from ..specs.Celery import Celery
|
||||
from ..specs.Choose import Choose
|
||||
from ..specs.ExclusiveChoice import ExclusiveChoice
|
||||
from ..specs.Execute import Execute
|
||||
from ..specs.Gate import Gate
|
||||
from ..specs.Join import Join
|
||||
from ..specs.Merge import Merge
|
||||
from ..specs.MultiChoice import MultiChoice
|
||||
from ..specs.MultiInstance import MultiInstance
|
||||
from ..specs.ReleaseMutex import ReleaseMutex
|
||||
from ..specs.Simple import Simple
|
||||
from ..specs.StartTask import StartTask
|
||||
from ..specs.SubWorkflow import SubWorkflow
|
||||
from ..specs.ThreadStart import ThreadStart
|
||||
from ..specs.ThreadMerge import ThreadMerge
|
||||
from ..specs.ThreadSplit import ThreadSplit
|
||||
from ..specs.Transform import Transform
|
||||
from ..specs.Trigger import Trigger
|
||||
from ..specs.WorkflowSpec import WorkflowSpec
|
||||
from ..specs.LoopResetTask import LoopResetTask
|
||||
from .base import Serializer, spec_map, op_map
|
||||
from .exceptions import TaskNotSupportedError
|
||||
|
||||
# Create a list of tag names out of the spec names.
|
||||
_spec_map = dict()
|
||||
for name in dir(specs):
|
||||
if name.startswith('_'):
|
||||
continue
|
||||
module = specs.__dict__[name]
|
||||
name = re.sub(r'(.)([A-Z])', r'\1-\2', name).lower()
|
||||
_spec_map[name] = module
|
||||
_spec_map['task'] = specs.Simple
|
||||
|
||||
_op_map = {'equals': operators.Equal,
|
||||
'not-equals': operators.NotEqual,
|
||||
'less-than': operators.LessThan,
|
||||
'greater-than': operators.GreaterThan,
|
||||
'matches': operators.Match}
|
||||
_spec_map = spec_map()
|
||||
_op_map = op_map()
|
||||
|
||||
|
||||
class XmlSerializer(Serializer):
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
from .tasks import CallActivityParser
|
|
@ -18,7 +18,7 @@
|
|||
# 02110-1301 USA
|
||||
import os
|
||||
|
||||
from . import StartTask
|
||||
from .StartTask import StartTask
|
||||
from .base import TaskSpec
|
||||
from ..task import TaskState
|
||||
from ..exceptions import WorkflowException
|
||||
|
@ -87,7 +87,7 @@ class SubWorkflow(TaskSpec):
|
|||
|
||||
def _create_subworkflow(self, my_task):
|
||||
from ..serializer.prettyxml import XmlSerializer
|
||||
from ..specs import WorkflowSpec
|
||||
from ..specs.WorkflowSpec import WorkflowSpec
|
||||
from ..workflow import Workflow
|
||||
file_name = valueof(my_task, self.file)
|
||||
serializer = XmlSerializer()
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
from ..task import TaskState
|
||||
from ..exceptions import WorkflowException
|
||||
from ..operators import valueof
|
||||
from ..specs import Join
|
||||
from ..specs.Join import Join
|
||||
|
||||
|
||||
class ThreadMerge(Join):
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301 USA
|
||||
|
||||
from ..specs import StartTask
|
||||
from ..specs.StartTask import StartTask
|
||||
|
||||
|
||||
class WorkflowSpec(object):
|
||||
|
@ -82,7 +82,7 @@ class WorkflowSpec(object):
|
|||
:returns: empty list if valid, a list of errors if not
|
||||
"""
|
||||
results = []
|
||||
from ..specs import Join
|
||||
from ..specs.Join import Join
|
||||
|
||||
def recursive_find_loop(task, history):
|
||||
current = history[:]
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# flake8: noqa
|
||||
|
||||
from .base import TaskSpec
|
||||
from .AcquireMutex import AcquireMutex
|
||||
from .Cancel import Cancel
|
||||
from .CancelTask import CancelTask
|
||||
from .Celery import Celery
|
||||
from .Choose import Choose
|
||||
from .ExclusiveChoice import ExclusiveChoice
|
||||
from .Execute import Execute
|
||||
from .Gate import Gate
|
||||
from .Join import Join
|
||||
from .Merge import Merge
|
||||
from .MultiChoice import MultiChoice
|
||||
from .MultiInstance import MultiInstance
|
||||
from .ReleaseMutex import ReleaseMutex
|
||||
from .Simple import Simple
|
||||
from .StartTask import StartTask
|
||||
from .SubWorkflow import SubWorkflow
|
||||
from .ThreadStart import ThreadStart
|
||||
from .ThreadMerge import ThreadMerge
|
||||
from .ThreadSplit import ThreadSplit
|
||||
from .Transform import Transform
|
||||
from .Trigger import Trigger
|
||||
from .WorkflowSpec import WorkflowSpec
|
||||
from .LoopResetTask import LoopResetTask
|
||||
|
||||
import inspect
|
||||
__all__ = [name for name, obj in list(locals().items())
|
||||
if not (name.startswith('_') or inspect.ismodule(obj))]
|
|
@ -1 +0,0 @@
|
|||
from .process import SpiffBpmnParser, VALIDATOR
|
|
@ -3,8 +3,15 @@ import os
|
|||
from SpiffWorkflow.dmn.parser.BpmnDmnParser import BpmnDmnParser
|
||||
from SpiffWorkflow.bpmn.parser.BpmnParser import BpmnValidator, full_tag
|
||||
|
||||
from SpiffWorkflow.bpmn.specs.events import StartEvent, EndEvent, IntermediateThrowEvent, BoundaryEvent, IntermediateCatchEvent
|
||||
from SpiffWorkflow.spiff.specs import NoneTask, ManualTask, UserTask, ScriptTask, SubWorkflowTask, TransactionSubprocess, CallActivity, ServiceTask
|
||||
from SpiffWorkflow.bpmn.specs.events.EndEvent import EndEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.StartEvent import StartEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.IntermediateEvent import IntermediateThrowEvent, BoundaryEvent, IntermediateCatchEvent
|
||||
from SpiffWorkflow.spiff.specs.none_task import NoneTask
|
||||
from SpiffWorkflow.spiff.specs.manual_task import ManualTask
|
||||
from SpiffWorkflow.spiff.specs.user_task import UserTask
|
||||
from SpiffWorkflow.spiff.specs.script_task import ScriptTask
|
||||
from SpiffWorkflow.spiff.specs.subworkflow_task import SubWorkflowTask, TransactionSubprocess, CallActivity
|
||||
from SpiffWorkflow.spiff.specs.service_task import ServiceTask
|
||||
from SpiffWorkflow.spiff.specs.events.event_types import SendTask, ReceiveTask
|
||||
from SpiffWorkflow.spiff.parser.task_spec import SpiffTaskParser, SubWorkflowParser, CallActivityParser, ServiceTaskParser, ScriptTaskParser
|
||||
from SpiffWorkflow.spiff.parser.event_parsers import (SpiffStartEventParser, SpiffEndEventParser, SpiffBoundaryEventParser,
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
from .task_spec_converters import NoneTaskConverter, ManualTaskConverter, UserTaskConverter, ScriptTaskConverter
|
||||
from .task_spec_converters import TransactionSubprocessConverter, CallActivityTaskConverter, SubWorkflowTaskConverter
|
||||
from .task_spec_converters import StartEventConverter, EndEventConverter, IntermediateCatchEventConverter, IntermediateThrowEventConverter, \
|
||||
BoundaryEventConverter, SendTaskConverter, ReceiveTaskConverter, ServiceTaskConverter
|
|
@ -1,9 +1,16 @@
|
|||
from functools import partial
|
||||
|
||||
from SpiffWorkflow.bpmn.serializer.bpmn_converters import BpmnTaskSpecConverter
|
||||
from SpiffWorkflow.bpmn.specs.events import EndEvent, StartEvent, IntermediateThrowEvent, IntermediateCatchEvent, BoundaryEvent
|
||||
from SpiffWorkflow.spiff.specs import NoneTask, ManualTask, UserTask, ScriptTask, ServiceTask, SubWorkflowTask, TransactionSubprocess, CallActivity
|
||||
from SpiffWorkflow.spiff.specs.events import SendTask, ReceiveTask
|
||||
from SpiffWorkflow.bpmn.specs.events.StartEvent import StartEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.EndEvent import EndEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.IntermediateEvent import IntermediateThrowEvent, IntermediateCatchEvent, BoundaryEvent
|
||||
from SpiffWorkflow.spiff.specs.none_task import NoneTask
|
||||
from SpiffWorkflow.spiff.specs.manual_task import ManualTask
|
||||
from SpiffWorkflow.spiff.specs.user_task import UserTask
|
||||
from SpiffWorkflow.spiff.specs.script_task import ScriptTask
|
||||
from SpiffWorkflow.spiff.specs.service_task import ServiceTask
|
||||
from SpiffWorkflow.spiff.specs.subworkflow_task import SubWorkflowTask, TransactionSubprocess, CallActivity
|
||||
from SpiffWorkflow.spiff.specs.events.event_types import SendTask, ReceiveTask
|
||||
from SpiffWorkflow.spiff.specs.events.event_definitions import MessageEventDefinition
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
from .manual_task import ManualTask
|
||||
from .none_task import NoneTask
|
||||
from .subworkflow_task import SubWorkflowTask, TransactionSubprocess, CallActivity
|
||||
from .user_task import UserTask
|
||||
from .script_task import ScriptTask
|
||||
from .service_task import ServiceTask
|
|
@ -1 +0,0 @@
|
|||
from .event_types import SendTask, ReceiveTask
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import logging
|
||||
|
||||
from . import specs
|
||||
from .specs.Simple import Simple
|
||||
from .specs.LoopResetTask import LoopResetTask
|
||||
from .task import Task, TaskState
|
||||
from .util.compat import mutex
|
||||
|
@ -61,7 +61,7 @@ class Workflow(object):
|
|||
if 'Root' in workflow_spec.task_specs:
|
||||
root = workflow_spec.task_specs['Root']
|
||||
else:
|
||||
root = specs.Simple(workflow_spec, 'Root')
|
||||
root = Simple(workflow_spec, 'Root')
|
||||
logger.info('Initialize', extra=self.log_info())
|
||||
|
||||
# Setting TaskState.COMPLETED prevents the root task from being executed.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import json
|
||||
from SpiffWorkflow.workflow import Workflow
|
||||
from SpiffWorkflow.specs import WorkflowSpec
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.serializer.json import JSONSerializer
|
||||
|
||||
# Load from JSON
|
||||
|
|
|
@ -6,7 +6,7 @@ import unittest
|
|||
import os
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
|
||||
from SpiffWorkflow.specs import WorkflowSpec
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.task import Task
|
||||
from SpiffWorkflow.serializer.prettyxml import XmlSerializer
|
||||
from tests.SpiffWorkflow.util import run_workflow
|
||||
|
|
|
@ -6,7 +6,9 @@ import os.path
|
|||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
|
||||
from SpiffWorkflow.workflow import Workflow
|
||||
from SpiffWorkflow.specs import Join, MultiChoice, WorkflowSpec
|
||||
from SpiffWorkflow.specs.Join import Join
|
||||
from SpiffWorkflow.specs.MultiChoice import MultiChoice
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.operators import Attrib, Equal, PathAttrib
|
||||
from SpiffWorkflow.task import TaskState
|
||||
from SpiffWorkflow.specs.Simple import Simple
|
||||
|
|
|
@ -7,7 +7,8 @@ import os.path
|
|||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
|
||||
from SpiffWorkflow.task import Task, TaskState, updateDotDict
|
||||
from SpiffWorkflow.specs import WorkflowSpec, Simple
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.specs.Simple import Simple
|
||||
|
||||
|
||||
class MockWorkflow(object):
|
||||
|
|
|
@ -7,7 +7,9 @@ data_dir = os.path.join(os.path.dirname(__file__), 'data')
|
|||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
|
||||
from SpiffWorkflow.workflow import Workflow
|
||||
from SpiffWorkflow.specs import Cancel, Simple, WorkflowSpec
|
||||
from SpiffWorkflow.specs.Cancel import Cancel
|
||||
from SpiffWorkflow.specs.Simple import Simple
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.task import TaskState
|
||||
from SpiffWorkflow.serializer.prettyxml import XmlSerializer
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import unittest
|
||||
from SpiffWorkflow.bpmn.workflow import BpmnWorkflow
|
||||
from SpiffWorkflow.bpmn.specs.events import MessageEventDefinition
|
||||
from SpiffWorkflow.bpmn.specs.events.event_definitions import MessageEventDefinition
|
||||
from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase
|
||||
|
||||
__author__ = 'matth'
|
||||
|
|
|
@ -10,7 +10,7 @@ from SpiffWorkflow.bpmn.serializer.bpmn_converters import BpmnTaskSpecConverter
|
|||
|
||||
# Many of our tests relied on the Packager to set the calledElement attribute on
|
||||
# Call Activities. I've moved that code to a customized parser.
|
||||
from SpiffWorkflow.signavio.parser import CallActivityParser
|
||||
from SpiffWorkflow.signavio.parser.tasks import CallActivityParser
|
||||
from SpiffWorkflow.bpmn.specs.SubWorkflowTask import CallActivity
|
||||
|
||||
__author__ = 'matth'
|
||||
|
|
|
@ -6,7 +6,7 @@ from uuid import uuid4
|
|||
from SpiffWorkflow.task import TaskState
|
||||
from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine
|
||||
from SpiffWorkflow.bpmn.parser.BpmnParser import BpmnParser
|
||||
from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer
|
||||
from SpiffWorkflow.bpmn.serializer.workflow import BpmnWorkflowSerializer
|
||||
from SpiffWorkflow.bpmn.serializer.BpmnSerializer import BpmnSerializer
|
||||
from SpiffWorkflow.bpmn.workflow import BpmnWorkflow
|
||||
from tests.SpiffWorkflow.bpmn.BpmnLoaderForTests import TestUserTaskConverter
|
||||
|
|
|
@ -7,7 +7,7 @@ from SpiffWorkflow.bpmn.parser.BpmnParser import BpmnValidator
|
|||
|
||||
from SpiffWorkflow.task import TaskState
|
||||
|
||||
from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer
|
||||
from SpiffWorkflow.bpmn.serializer.workflow import BpmnWorkflowSerializer
|
||||
from .BpmnLoaderForTests import TestUserTaskConverter, TestBpmnParser
|
||||
|
||||
__author__ = 'matth'
|
||||
|
|
|
@ -3,7 +3,7 @@ import os
|
|||
import unittest
|
||||
|
||||
from SpiffWorkflow.camunda.parser.CamundaParser import CamundaParser
|
||||
from SpiffWorkflow.spiff.parser import SpiffBpmnParser
|
||||
from SpiffWorkflow.spiff.parser.process import SpiffBpmnParser
|
||||
|
||||
from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import unittest
|
||||
|
||||
from SpiffWorkflow.bpmn.specs.events import CancelEventDefinition, SignalEventDefinition
|
||||
from SpiffWorkflow.bpmn.specs.events.event_definitions import CancelEventDefinition, SignalEventDefinition
|
||||
from SpiffWorkflow.task import TaskState
|
||||
from SpiffWorkflow.bpmn.workflow import BpmnWorkflow
|
||||
from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase
|
||||
|
|
|
@ -5,7 +5,7 @@ import datetime
|
|||
import time
|
||||
from datetime import timedelta
|
||||
|
||||
from SpiffWorkflow.bpmn.specs.events import EndEvent
|
||||
from SpiffWorkflow.bpmn.specs.events.EndEvent import EndEvent
|
||||
from SpiffWorkflow.task import TaskState
|
||||
from SpiffWorkflow.bpmn.workflow import BpmnWorkflow
|
||||
from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
|
||||
from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer
|
||||
from SpiffWorkflow.bpmn.serializer.workflow import BpmnWorkflowSerializer
|
||||
from SpiffWorkflow.camunda.parser.CamundaParser import CamundaParser
|
||||
from SpiffWorkflow.camunda.serializer import UserTaskConverter, StartEventConverter, EndEventConverter, \
|
||||
from SpiffWorkflow.camunda.serializer.task_spec_converters import UserTaskConverter, StartEventConverter, EndEventConverter, \
|
||||
IntermediateCatchEventConverter, IntermediateThrowEventConverter, BoundaryEventConverter
|
||||
|
||||
from SpiffWorkflow.dmn.serializer import BusinessRuleTaskConverter
|
||||
from SpiffWorkflow.dmn.serializer.task_spec_converters import BusinessRuleTaskConverter
|
||||
|
||||
from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase
|
||||
|
||||
|
|
|
@ -3,7 +3,8 @@ import unittest
|
|||
|
||||
from SpiffWorkflow.camunda.specs.UserTask import FormField, UserTask, Form, \
|
||||
EnumFormField
|
||||
from SpiffWorkflow.specs import WorkflowSpec, TaskSpec
|
||||
from SpiffWorkflow.specs.base import TaskSpec
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
|
||||
|
||||
class UserTaskSpecTest(unittest.TestCase):
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from SpiffWorkflow.specs import ExclusiveChoice, Join, MultiChoice, MultiInstance, Simple, WorkflowSpec
|
||||
from SpiffWorkflow.specs.ExclusiveChoice import ExclusiveChoice
|
||||
from SpiffWorkflow.specs.Join import Join
|
||||
from SpiffWorkflow.specs.MultiChoice import MultiChoice
|
||||
from SpiffWorkflow.specs.MultiInstance import MultiInstance
|
||||
from SpiffWorkflow.specs.Simple import Simple
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.operators import Attrib, Equal, NotEqual
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ sys.path.insert(0, os.path.join(dirname, '..'))
|
|||
|
||||
from PatternTest import run_workflow, PatternTest
|
||||
from SpiffWorkflow.serializer.base import Serializer
|
||||
from SpiffWorkflow.specs import WorkflowSpec
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.workflow import Workflow
|
||||
from SpiffWorkflow.serializer.exceptions import TaskNotSupportedError
|
||||
|
||||
|
|
|
@ -6,7 +6,8 @@ import unittest
|
|||
import pickle
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
||||
from .TaskSpecTest import TaskSpecTest
|
||||
from SpiffWorkflow.specs import Celery, WorkflowSpec
|
||||
from SpiffWorkflow.specs.Celery import Celery
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.operators import Attrib
|
||||
from SpiffWorkflow.serializer.dict import DictionarySerializer
|
||||
from base64 import b64encode
|
||||
|
|
|
@ -10,7 +10,7 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
|||
from tests.SpiffWorkflow.util import run_workflow
|
||||
from .TaskSpecTest import TaskSpecTest
|
||||
from SpiffWorkflow.task import TaskState
|
||||
from SpiffWorkflow.specs import Execute
|
||||
from SpiffWorkflow.specs.Execute import Execute
|
||||
|
||||
|
||||
class ExecuteTest(TaskSpecTest):
|
||||
|
|
|
@ -8,7 +8,7 @@ import unittest
|
|||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
||||
|
||||
from .TaskSpecTest import TaskSpecTest
|
||||
from SpiffWorkflow.specs import Join
|
||||
from SpiffWorkflow.specs.Join import Join
|
||||
|
||||
|
||||
class JoinTest(TaskSpecTest):
|
||||
|
|
|
@ -8,7 +8,9 @@ import unittest
|
|||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
||||
|
||||
from .JoinTest import JoinTest
|
||||
from SpiffWorkflow.specs import Merge, WorkflowSpec, Simple
|
||||
from SpiffWorkflow.specs.Merge import Merge
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.specs.Simple import Simple
|
||||
from SpiffWorkflow.workflow import Workflow
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import os
|
|||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
||||
|
||||
from SpiffWorkflow.specs import WorkflowSpec
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.specs.SubWorkflow import SubWorkflow
|
||||
from SpiffWorkflow.serializer.prettyxml import XmlSerializer
|
||||
from SpiffWorkflow.task import TaskState
|
||||
|
|
|
@ -5,9 +5,11 @@ import unittest
|
|||
import os
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
||||
|
||||
from SpiffWorkflow.specs import WorkflowSpec, Simple, Join
|
||||
from SpiffWorkflow.specs.Join import Join
|
||||
from SpiffWorkflow.specs.Simple import Simple
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.exceptions import WorkflowException
|
||||
from SpiffWorkflow.specs import TaskSpec
|
||||
from SpiffWorkflow.specs.base import TaskSpec
|
||||
from SpiffWorkflow.serializer.dict import DictionarySerializer
|
||||
|
||||
|
||||
|
|
|
@ -9,7 +9,8 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
|
|||
|
||||
from tests.SpiffWorkflow.util import run_workflow
|
||||
from .TaskSpecTest import TaskSpecTest
|
||||
from SpiffWorkflow.specs import Transform, Simple
|
||||
from SpiffWorkflow.specs.Transform import Transform
|
||||
from SpiffWorkflow.specs.Simple import Simple
|
||||
|
||||
|
||||
class TransformTest(TaskSpecTest):
|
||||
|
|
|
@ -15,7 +15,8 @@ try:
|
|||
except ImportError as e:
|
||||
from tests.SpiffWorkflow.util import track_workflow
|
||||
from SpiffWorkflow.workflow import Workflow
|
||||
from SpiffWorkflow.specs import Join, WorkflowSpec
|
||||
from SpiffWorkflow.specs.Join import Join
|
||||
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
||||
from SpiffWorkflow.serializer.prettyxml import XmlSerializer
|
||||
|
||||
serializer = XmlSerializer()
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
|
||||
from SpiffWorkflow.spiff.parser import SpiffBpmnParser, VALIDATOR
|
||||
from SpiffWorkflow.spiff.serializer import NoneTaskConverter, \
|
||||
from SpiffWorkflow.spiff.parser.process import SpiffBpmnParser, VALIDATOR
|
||||
from SpiffWorkflow.spiff.serializer.task_spec_converters import NoneTaskConverter, \
|
||||
ManualTaskConverter, UserTaskConverter, ScriptTaskConverter, \
|
||||
SubWorkflowTaskConverter, TransactionSubprocessConverter, \
|
||||
CallActivityTaskConverter, \
|
||||
|
@ -11,7 +11,7 @@ from SpiffWorkflow.spiff.serializer import NoneTaskConverter, \
|
|||
IntermediateCatchEventConverter, IntermediateThrowEventConverter, \
|
||||
ServiceTaskConverter
|
||||
from SpiffWorkflow.dmn.serializer.task_spec_converters import BusinessRuleTaskConverter
|
||||
from SpiffWorkflow.bpmn.serializer import BpmnWorkflowSerializer
|
||||
from SpiffWorkflow.bpmn.serializer.workflow import BpmnWorkflowSerializer
|
||||
|
||||
from tests.SpiffWorkflow.bpmn.BpmnWorkflowTestCase import BpmnWorkflowTestCase
|
||||
|
||||
|
|
Loading…
Reference in New Issue