feat(templates): client-Java process handlers for template-bpm (#6584) - #6619
Merged
Conversation
The BPM starter scaffolded two TypeScript files; both become client Java: - tasks/my-service-task.ts -> <package>/MyServiceTask.java, a plain org.flowable.engine.delegate.JavaDelegate. The service task in the BPMN switches from the JS delegate to the platform's Java call delegate (DirigibleJavaCallDelegate, bean name JavaTask) with a handler field holding the class' fully qualified name - which is why the handler moves with the package. - api/ProcessService.ts -> <package>/ProcessService.java, an sdk.http @controller starting the process through sdk.bpm.Process. It answers at POST /services/java/<project>/<package>/ProcessService/processes and takes the process variables as its JSON body. Logging goes through sdk.log.Logging instead of console.log. The .gen descriptor already pointed at the Harmonia form builder; the last mention of the removed AngularJS one, in the form-builder README, is reworded. Part of #6591. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
delchev
force-pushed
the
feat/templates-bpm-java
branch
from
August 8, 2026 06:16
443dcfa to
0d76689
Compare
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 #6584. Part of the umbrella #6591.
The BPM starter was the last template wired to the TypeScript stack:
tasks/my-service-task.ts→<package>/MyServiceTask.java, a plainorg.flowable.engine.delegate.JavaDelegate(instantiated per execution via its no-argconstructor — not a bean, as
DirigibleJavaCallDelegaterequires).process.bpmn.template's service task switches from${JSTask}+ a.tshandler path to${JavaTask}+ ahandlerfield holding the class' FQN (${javaPackageName}.MyServiceTask).api/ProcessService.ts.template→<package>/ProcessService.java, ansdk.http@Controllerstarting the process through
sdk.bpm.Process, atPOST /services/java/<project>/<package>/ProcessService/processeswith the process variables asits JSON body.
sdk.log.Logging.The
.gendescriptor already pointed attemplate-form-builder-harmonia(repointed when theAngularJS templates were removed); the issue's last
form-builder-angularjsmention lives in theform-builder README and is reworded, so
grep -rn "form-builder-angularjs" components/templateisnow empty.
Note the templates render through Velocity, so the Java sources use
${javaPackageName}/${processId}, not{{…}}— and${JavaTask}survives verbatim because it is an undefinedreference, the same mechanism
${JSTask}relied on.Verification (scaffolded, published, run on a live instance)
The service task ran through the Java delegate (no JS-delegate fallback in the log), the generated
files land at
<package>/{ProcessService,MyServiceTask}.java, and the Problems view is clean.🤖 Generated with Claude Code