Issue/71 maintain dsf linter improve log messages and review bpmn types#77
Open
khalilmalla95 wants to merge 17 commits into
Open
Conversation
Bumps org.thymeleaf:thymeleaf from 3.1.2.RELEASE to 3.1.5.RELEASE. --- updated-dependencies: - dependency-name: org.thymeleaf:thymeleaf dependency-version: 3.1.5.RELEASE dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
DsfMultiPluginLinterTest failed with NoClassDefFoundError for jakarta.xml.bind.annotation.XmlElement during full lint runs. On Java 11+, JAXB is not part of the JDK. Jackson/Thymeleaf can pull in jackson-module-jakarta-xmlbind, which requires jakarta.xml.bind.*. Camunda only brings javax-era jakarta.xml.bind-api 2.3.3 transitively. Declare jakarta.xml.bind-api 4.0.2 explicitly so integration tests and linting complete without ClassNotFound/NoClassDefFoundError.
- Update linter call sites to use renamed constants
DSF processes are started via incoming messages. Enforce at least one message start event as a direct child of the process element; start events inside subprocesses do not count. - Add BpmnModelUtils.isMessageStartEvent for shared detection - Route start event linting through message vs generic paths - Report BPMN_MESSAGE_START_EVENT_NOT_FOUND on the process when missing - Emit SUCCESS when a valid process-level message start exists
- Add BpmnProcessLinterMessageStartEventTest (missing, present, subprocess-only) - Assert message start with empty message name in model linter tests - Adjust integration/golden tests for new lint types or expectations
Introduce separate LintingType constants for message start/end events, message intermediate throw events, send tasks, and receive tasks. Remove the generic BPMN_EVENT_NAME_EMPTY enum value.
…n present Treat a BPMN message reference on message intermediate throw events as informational rather than a warning. - Rename LintingType to BPMN_MESSAGE_INTERMEDIATE_THROW_EVENT_HAS_MESSAGE_REFERENCE - Downgrade severity from WARN to INFO when a message reference exists - Remove the lint item when no message reference is defined - Clarify the lint message text to mention "message reference"
…NOT_PART_OF_SUB_PROCESS
…1 and v2 Fix BpmnMessageEventImplementationLinter so validation matches DSF BPE runtime requirements for both API versions. V1: - Require JavaDelegate (error) for message end and intermediate throw events - Error when the class does not extend AbstractTaskMessageSend - Use element-specific LintingTypes for the abstract-class erroring V2: - Validate MessageEndEvent vs MessageIntermediateThrowEvent separately - Use BPMN_END_EVENT_NO_INTERFACE_CLASS_IMPLEMENTING for end events - Use BPMN_INTERMEDIATE_THROW_EVENT_NO_INTERFACE_CLASS_IMPLEMENTING for intermediate throw events (previously both incorrectly used the end-event type) Add LintingType entries and BpmnMessageEventImplementationLinterTest to cover class-not-found, wrong-interface, and regression cases per element type.
…PLE_OUTGOING_FLOWS_BUT_NAME_IS_EMPTY to WARN
Field injections provided as camunda:expression were always reported as BPMN_FIELD_INJECTION_NOT_STRING_LITERAL. For DSF API v2, expressions are valid; only API v1 still requires string literals. When an expression is used under API v2, record a success item and skip static per-field and FHIR cross-checks for that field, since values cannot be resolved at lint time.
Rename BPMN_PRACTITIONER_ROLE_HAS_NO_VALUE_OR_NULL and BPMN_PRACTITIONERS_HAS_NO_VALUE_OR_NULL to BPMN_USER_TASK_LISTENER_PRACTITIONER_ROLE_INPUT_EMPTY and BPMN_USER_TASK_LISTENER_PRACTITIONERS_INPUT_EMPTY, and move them into the BPMN user task listener section. Update default messages to state that the Camunda input parameter is defined on the task listener but has no value. Adjust references in BpmnListenerLinter and tests.
…in-dsf-linter-improve-log-messages-and-review-bpmn-types # Conflicts: # linter-core/src/main/java/dev/dsf/linter/bpmn/BpmnProcessLinter.java # linter-core/src/main/java/dev/dsf/linter/output/LintingType.java # linter-core/src/main/java/dev/dsf/linter/util/bpmn/linters/BpmnEndEventLinter.java # linter-core/src/main/java/dev/dsf/linter/util/bpmn/linters/BpmnMessageEventImplementationLinter.java
jaboehri
approved these changes
Jun 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #71