Skip to content

support fluxnova namespace - #291

Open
sivascorpio94 wants to merge 1 commit into
finos:mainfrom
fidelity-contributions:feature/support-fluxnova-namespace
Open

support fluxnova namespace#291
sivascorpio94 wants to merge 1 commit into
finos:mainfrom
fidelity-contributions:feature/support-fluxnova-namespace

Conversation

@sivascorpio94

Copy link
Copy Markdown
Contributor

Issue: #268

The Fluxnova BPM Engine (v3.0.0+) only recognized service task implementation attributes when they used the camunda: namespace. Equivalent fluxnova: attributes were not supported during BPMN parsing, preventing complete migration from Camunda-specific namespaces to Fluxnova namespaces.

Impact: BPMN models using fluxnova: namespace attributes (for example, fluxnova:class, fluxnova:delegateExpression, fluxnova:asyncBefore) failed deployment with parsing errors:

ENGINE-09005 Could not parse BPMN process. Errors:

One of the attributes 'class', 'delegateExpression', 'type', or 'expression'
is mandatory on serviceTask.

Solution

Implemented comprehensive support for fluxnova: namespace attributes across the BPMN parser by:

New Helper Method

Created a helper method getAttributeWithNamespace() in BpmnParse.java that:

Checks the camunda: namespace first (backward compatibility)
Falls back to the fluxnova: namespace if not found
Supports default values
Parser Updates

Updated 40+ attribute parsing locations to use the new helper method, including:

Service Tasks
class
delegateExpression
expression
type
User Tasks
assignee
candidateUsers
candidateGroups
formKey
priority
dueDate
followUpDate
Process Definition
versionTag
historyTimeToLive
isStartableInTasklist
Async Execution
asyncBefore
asyncAfter
async
exclusive
Error Handling
errorMessage
errorCodeVariable
errorMessageVariable
Multi-Instance
collection
elementVariable
External Tasks
topic
Business Rules
decisionRef
mapDecisionResult
Start Events
initiator
candidateStarterUsers
candidateStarterGroups
Call Activities
caseRef
variableMappingClass
variableMappingDelegateExpression

And many more.

Additional Update

Updated HistoryTimeToLiveParser.java to support the fluxnova:historyTimeToLive attribute.

Files Modified
BpmnParse.java
HistoryTimeToLiveParser.java
Backward Compatibility

Fully backward compatible.

All existing BPMN files using the camunda: namespace continue to work without modifications. The parser checks the camunda: namespace first and then falls back to the fluxnova: namespace.

Example

Testing

Created a comprehensive test suite: FluxnovaNamespaceServiceTaskTest

Validated Scenarios

fluxnova:class attribute recognition
fluxnova:delegateExpression attribute recognition
fluxnova:expression attribute recognition
fluxnova:type attribute recognition (external tasks)

Comprehensive scenario validating:

fluxnova:historyTimeToLive on the process definition
fluxnova:asyncBefore on a service task
fluxnova:class on a service task
fluxnova:properties extension elements
Test Files
FluxnovaNamespaceServiceTaskTest.java
FluxnovaNamespaceServiceTaskTest.testFluxnovaClass.bpmn20.xml
FluxnovaNamespaceServiceTaskTest.testFluxnovaDelegateExpression.bpmn20.xml
FluxnovaNamespaceServiceTaskTest.testFluxnovaExpression.bpmn20.xml
FluxnovaNamespaceServiceTaskTest.testFluxnovaType.bpmn20.xml
FluxnovaNamespaceServiceTaskTest.testFluxnovaComprehensive.bpmn20.xml
Verification

Successfully validated that BPMN files deploy without errors and that process definitions are correctly created with all fluxnova: namespace attributes properly parsed.

Before: Deployment failure with ENGINE-09005 error

After: Successful deployment with all attributes recognized

@linux-foundation-easycla

linux-foundation-easycla Bot commented Aug 26, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: sivascorpio94 / name: Kasina, Yajna (fc80559)

@github-project-automation github-project-automation Bot moved this from Backlog to Done in Fluxnova Project Board Aug 26, 2026
@sivascorpio94 sivascorpio94 reopened this Aug 26, 2026
@osfidelity
osfidelity force-pushed the feature/support-fluxnova-namespace branch 2 times, most recently from 7720deb to 13b37ed Compare August 31, 2026 18:24
@osfidelity
osfidelity force-pushed the feature/support-fluxnova-namespace branch from 13b37ed to fc80559 Compare August 31, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant