Merge pull request #123 from sartography/feature/spiff-serializer-update
Feature/spiff serializer update
This commit is contained in:
commit
61016d2c8c
|
@ -1760,7 +1760,7 @@ lxml = "*"
|
||||||
type = "git"
|
type = "git"
|
||||||
url = "https://github.com/sartography/SpiffWorkflow"
|
url = "https://github.com/sartography/SpiffWorkflow"
|
||||||
reference = "main"
|
reference = "main"
|
||||||
resolved_reference = "1f51db962ccaed5810f5d0f7d76a932f056430ab"
|
resolved_reference = "0e61be85c47474a33037e6f398e64c96e02f13ad"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sqlalchemy"
|
name = "sqlalchemy"
|
||||||
|
|
|
@ -30,6 +30,9 @@ from SpiffWorkflow.bpmn.PythonScriptEngine import PythonScriptEngine # type: ig
|
||||||
from SpiffWorkflow.bpmn.PythonScriptEngineEnvironment import BasePythonScriptEngineEnvironment # type: ignore
|
from SpiffWorkflow.bpmn.PythonScriptEngineEnvironment import BasePythonScriptEngineEnvironment # type: ignore
|
||||||
from SpiffWorkflow.bpmn.PythonScriptEngineEnvironment import Box
|
from SpiffWorkflow.bpmn.PythonScriptEngineEnvironment import Box
|
||||||
from SpiffWorkflow.bpmn.PythonScriptEngineEnvironment import BoxedTaskDataEnvironment
|
from SpiffWorkflow.bpmn.PythonScriptEngineEnvironment import BoxedTaskDataEnvironment
|
||||||
|
from SpiffWorkflow.bpmn.serializer.task_spec import ( # type: ignore
|
||||||
|
EventBasedGatewayConverter,
|
||||||
|
)
|
||||||
from SpiffWorkflow.bpmn.serializer.workflow import BpmnWorkflowSerializer # type: ignore
|
from SpiffWorkflow.bpmn.serializer.workflow import BpmnWorkflowSerializer # type: ignore
|
||||||
from SpiffWorkflow.bpmn.specs.BpmnProcessSpec import BpmnProcessSpec # type: ignore
|
from SpiffWorkflow.bpmn.specs.BpmnProcessSpec import BpmnProcessSpec # type: ignore
|
||||||
from SpiffWorkflow.bpmn.specs.events.EndEvent import EndEvent # type: ignore
|
from SpiffWorkflow.bpmn.specs.events.EndEvent import EndEvent # type: ignore
|
||||||
|
@ -43,9 +46,6 @@ from SpiffWorkflow.exceptions import WorkflowException # type: ignore
|
||||||
from SpiffWorkflow.exceptions import WorkflowTaskException
|
from SpiffWorkflow.exceptions import WorkflowTaskException
|
||||||
from SpiffWorkflow.serializer.exceptions import MissingSpecError # type: ignore
|
from SpiffWorkflow.serializer.exceptions import MissingSpecError # type: ignore
|
||||||
from SpiffWorkflow.spiff.serializer.config import SPIFF_SPEC_CONFIG # type: ignore
|
from SpiffWorkflow.spiff.serializer.config import SPIFF_SPEC_CONFIG # type: ignore
|
||||||
from SpiffWorkflow.spiff.serializer.task_spec_converters import ( # type: ignore
|
|
||||||
EventBasedGatewayConverter,
|
|
||||||
)
|
|
||||||
from SpiffWorkflow.task import Task as SpiffTask # type: ignore
|
from SpiffWorkflow.task import Task as SpiffTask # type: ignore
|
||||||
from SpiffWorkflow.task import TaskState
|
from SpiffWorkflow.task import TaskState
|
||||||
from SpiffWorkflow.util.deep_merge import DeepMerge # type: ignore
|
from SpiffWorkflow.util.deep_merge import DeepMerge # type: ignore
|
||||||
|
@ -393,7 +393,7 @@ class ProcessInstanceProcessor:
|
||||||
SPIFF_SPEC_CONFIG
|
SPIFF_SPEC_CONFIG
|
||||||
)
|
)
|
||||||
_serializer = BpmnWorkflowSerializer(wf_spec_converter, version=SERIALIZER_VERSION)
|
_serializer = BpmnWorkflowSerializer(wf_spec_converter, version=SERIALIZER_VERSION)
|
||||||
_event_serializer = EventBasedGatewayConverter()
|
_event_serializer = EventBasedGatewayConverter(wf_spec_converter)
|
||||||
|
|
||||||
PROCESS_INSTANCE_ID_KEY = "process_instance_id"
|
PROCESS_INSTANCE_ID_KEY = "process_instance_id"
|
||||||
VALIDATION_PROCESS_KEY = "validate_only"
|
VALIDATION_PROCESS_KEY = "validate_only"
|
||||||
|
@ -971,7 +971,7 @@ class ProcessInstanceProcessor:
|
||||||
def send_bpmn_event(self, event_data: dict[str, Any]) -> None:
|
def send_bpmn_event(self, event_data: dict[str, Any]) -> None:
|
||||||
"""Send an event to the workflow."""
|
"""Send an event to the workflow."""
|
||||||
payload = event_data.pop("payload", None)
|
payload = event_data.pop("payload", None)
|
||||||
event_definition = self._event_serializer.restore(event_data)
|
event_definition = self._event_serializer.registry.restore(event_data)
|
||||||
if payload is not None:
|
if payload is not None:
|
||||||
event_definition.payload = payload
|
event_definition.payload = payload
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
|
|
Loading…
Reference in New Issue