* Assure than an error_type is consistently set on exceptions.
* ValidationExceptions should not bild up a detailed error message that replicates information available within it.
1) Avoid deserialization errors by setting a default to the row_number for DMN
2) Since we are updating signatures on error messages, have the WorkflowException take a "task_spec" rather than the obscure "sender"
Switched arguments to the WorkflowException, WorkflowTaskException - which now always takes a string message as the first argument, and named arguments thereafter to be consistent with all other error messages in Python.
Consistently raise ValidationExceptions whenever we encounter an error anywhere during parsing of xml.
The BPMN/WorkflowTaskExecException is removed, in favor of just calling a WorkflowTaskException. There is nothing BPMN Specific in the logic, so no need for this.
Consolidated error message logic so that things like "Did you mean" just get added by default if possible. So we don't have to separately deal with that logic each time.
Better Error messages for DMN (include row number as a part of the error information)
Validators now catch more general exceptions from lxml
When catching errors, check to see if they are SpiffWorkflow errors already, and if so, just add a note to help provide additional context for the error.
There are small typos in:
- SpiffWorkflow/bpmn/FeelLikeScriptEngine.py
- SpiffWorkflow/bpmn/specs/ExclusiveGateway.py
- SpiffWorkflow/bpmn/specs/events/event_definitions.py
- SpiffWorkflow/specs/base.py
- doc/bpmn/events.rst
Fixes:
- Should read `specific` rather than `sepcific`.
- Should read `overridden` rather than `overidden`.
- Should read `occurred` rather than `occured`.
- Should read `convert` rather than `conver`.
- Should read `certain` rather than `cetain`.
Signed-off-by: Tim Gates <tim.gates@iress.com>