Repository navigation
CAMEL-25892: camel-jbang - show the body types each step has been reached with in the Routes and Diagram views - #28192
Merged
Conversation
Contributor
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
This was referenced Oct 20, 2026
davsclaus
changed the base branch from
feature/CAMEL-25750-body-type-registry
to
main
October 20, 2026 20:05
…dy types they have been reached with The route-structure console has the body types each step has been reached with, across the messages, and their kinds (CAMEL-25750). The node of a route diagram now keeps them, so a renderer can draw them: RouteDiagramHelper reads them, and the steps of an onException block copied into the error frame keep them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
…ched with in the Routes and Diagram views Routes: a BODY TYPES column says how many steps of a route have been reached with more than one body type, and how many of them with bodies of more than one kind, which need attention; the processors of the selected route have the types of each step. Diagram: y shows the types beside the arrow into each step of a route, on the shaft above the head, cut to the room there is where the arrows of a branch are side by side (the first types and how many more). A step reached with bodies of more than one kind has a warning sign in its top border. The Info panel of a step lists all its types with their kind, the Info panel of a route in the topology its counts, and the diagram state of the MCP tools has them. The types follow the status file while they are shown, as the metrics do. DiagramSupport was at its size limit: its layout helpers moved to DiagramLayouts. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
davsclaus
force-pushed
the
feature/CAMEL-25892-body-type-views
branch
from
October 20, 2026 20:07
2bcd976 to
fc7b907
Compare
gnodet-bot
reviewed
Oct 20, 2026
gnodet-bot
left a comment
Contributor
There was a problem hiding this comment.
Well-structured feature PR with thorough test coverage. ✅
- All
NodeInfocopy paths propagate the new fields correctly - Backward compatibility is handled (existing callers unaffected)
- The label-fitting logic has correct boundary conditions
- Minor:
RouteDiagramHelper.strings()silently drops null elements whileStatusParser.stringList()converts them to the string"null"viaString.valueOf(). Academic given the real data flow, but worth keeping in mind if these helpers are ever reused in other contexts.
This review was generated by an AI agent, Hermès on behalf of @gnodet.
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.
Stacked on #28178 (CAMEL-25750), which keeps the body types each step of a route has been reached with, across the messages, with their kinds: null, payload, data and collection. This brings them to the Routes and Diagram views of
camel tui, as sketched in CAMEL-25892.The route in the screenshots unmarshals JSON, and only one branch of a choice marshals it again. The step after the choice is then reached with a stream from some messages and a map from others. That step needs attention: a step that writes the body fails for the map, one that reads fields fails for the stream.
camel-diagram
NodeInfo.bodyTypes/bodyKinds).RouteDiagramHelperreads them from the route-structure JSON, and the steps of an onException block copied into the error frame keep them. Any renderer can draw them from there.Diagram view
yshows the types beside the arrow into each step, on the shaft above the arrowhead. Where a branch bends right above the head, they go after the message count there. The arrows then show how the body changes along the route.⚠ ByteArrayInputStreamCache +2;yoff.Body: ⚠ 4 mixed.tui_get_stategives thebodyTypesandbodyKindsof the selected step, so an AI client sees them too.Routes view
⚠ 1 mixed · 2 varied).Other
DiagramSupportwas at the size limit ofSourceSizeTest. Its three layout helpers moved toDiagramLayouts, unchanged, and the two Info panel methods are now under the method limit.Tests
RouteDiagramHelperTestandRouteErrorFrameTest.BodyTypesOnArrowsTestdraws a route into a buffer: the labels on the shafts, a label cut beside the arrows of a branch, and the ⚠ mark with the labels off.BodyTypesViewsTestcovers the label fitting, the Info panel lines and the Routes columns.DiagramTopologyTestcovers the live types from the status file, andAbstractDiagramTabTesttheykey in both tabs.camel tui, against an integration that runs on the jars of this branch; the screenshots are from that session.Not in this PR: the Source view of the issue, which needs CAMEL-25771, and Shift+F8 from the diagram.
Claude Code on behalf of davsclaus
🤖 Generated with Claude Code