davsclaus opened a new pull request, #29508:
URL: https://github.com/apache/camel/pull/29508

   _Claude Code on behalf of davsclaus_
   
   Found by running the `route/dynamic-routing` example. Its entry route 
`incoming-orders` sends each order through a recipient list to a warehouse 
route and a billing route. In the Diagram's topology, `incoming-orders` stood 
alone, and the five routes it sends to sat beside it, unconnected.
   
   **Cause:** the `route-topology` console builds the edges from the routes. A 
recipient list, a `toD` or a dynamic router computes its endpoint while it 
routes, so the console cannot know where they go.
   
   **Fix:** the runtime knows. The runtime endpoint registry counted each 
endpoint a route sent to, and the status file has them: `direct://warehouse-DE 
out incoming-orders 1`. `DiagramTopology.withNumbers`, which already copies the 
numbers of the status into the topology, now also adds a call edge for each 
such endpoint that another route consumes, when the routes have no edge for it. 
The edge is marked `observed: true` in the JSON and drawn as a call. With it, 
the topology of the example reads as its flow: `incoming-orders` at the top, 
the warehouses and billing routes under it, and the invoice services under 
`billing-paid`.
   
   The structure kept for the next refresh is left as the console sent it. 
Endpoints never sent to (0 hits), and a route sending to its own consumer, add 
nothing.
   
   Tests: 
`DiagramTopologyTest#aRouteCalledThroughARecipientListIsAnEdgeAsTheRuntimeSawIt`.
 The full `camel-jbang-plugin-tui` suite passes, apart from 
`ConfigurationTabRenderTest`, which fails on main and is fixed by #29503. I 
checked it live with the example.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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]

Reply via email to