davsclaus opened a new pull request, #29616:
URL: https://github.com/apache/camel/pull/29616
Stacked on #29600 (which is stacked on #29599): base
`tui-about-runtime-topology`. Retarget to main once #29600 is merged.
#29599 gave every edge of the route topology `reply`: whether the route
waits for the answer of the route it sends to. #29600 uses it in the About
view. This PR shows it in the Diagram and in the jump hints of the source
editor as well.
**Diagram (topology):** an edge whose route waits ends in `⇅` (there and
back): a direct call, or a request-reply over a broker. A hand-off ends in `▼`,
as before. With the shape of connect-service/jms-request-reply (seda in place
of the broker), live in the TUI:
```
┌──────────────────────┐
│ reserve-order │
└────────────────── 3 ─┘
│
┬───────────────────────────┬─────┴───────────────────────────────────┬
⇅ ⇅ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ stock-service│ │ audit │ │ metrics │ │ shipping │
```
stock-service is `exchangePattern=InOut` over seda, audit is direct, metrics
is a wireTap and shipping is a hand-off. A folded group waits when one of its
routes is waited on. An integration before 4.24 does not say it, and its arrows
stay `▼`.
**Source editor:** the jump hint marks the route as the About view does: `↵
↳ stock-service` when the route waits, `↵ ⇢ shipping` for a hand-off. The
reverse hint on a `from:` line does the same.
- From the sources: `direct`, `kamelet`, `enrich` and
`exchangePattern=InOut` (in the uri, or in the `parameters` / `pattern` of a
YAML step) wait, and a `wireTap` never does.
- The running integration decides when a tab (Diagram, Routes, About) has
already asked for its topology. So a route that consumes a request (from
platform-http) and sends to a queue shows `↳`.
- The jump links never ask the integration themselves, so the editor does
not wait on it.
**camel-diagram:** `TopologyEdgeInfo.reply` is read from the topology JSON,
and `TopologyLayoutEdge` has `reply` with a new constructor; the six-argument
one is kept. The CLI's ASCII topology renderer (`camel cmd route-diagram`, MCP)
is unchanged in this PR.
**Size limits:** `SourceTab` and `SourceViewer` are at the limits of
`SourceSizeTest`, so the send rules are in `SendHow` and the jump link is a
record of its own (`JumpLink`, moved out of `SourceViewer`, whose limit is
lowered to its new size).
Docs: the Diagram and source editor pages, and the F1 help of both.
**Tests:**
- `TopologyReplyArrowTest` (the heads, rendered), `TopologyGroupFoldsTest`
(a folded group), `SourceTabJumpLinksTest` (the hints in YAML and Java, and the
send rules), `TopologyHelperErrorPathTest` (parsing `reply`).
- All TUI tests (2513) and camel-diagram (198) pass locally.
- Checked live in a scratch TUI against an integration running on the #29599
core jars.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_016Y4dDiMc7mxmdVoQiGSMh8
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]