feat: use endpointUri for cross-route drill-down instead of label parsing
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m2s
CI / docker (push) Successful in 1m0s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 38s

Server:
- Add endpointUri to PositionedNode (from RouteNode)
- Add fromEndpointUri to RouteSummary (catalog API)
- Catalog controller resolves endpoint URI from diagram store

UI:
- Build endpointRouteMap from catalog's fromEndpointUri field
- Drill-down uses exact match on node.endpointUri against the map
- Remove label parsing heuristics (extractTargetEndpoint, camelToKebab)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-28 18:31:08 +01:00
parent 0516207e83
commit e5e6175aca
9 changed files with 67 additions and 44 deletions

View File

@@ -8,14 +8,15 @@ import java.util.List;
* For compound nodes (CHOICE, SPLIT, TRY_CATCH, etc.), {@code children}
* contains the nested child nodes rendered inside the parent bounds.
*
* @param id node identifier (matches RouteNode.id)
* @param label display label
* @param type NodeType name (e.g., "ENDPOINT", "PROCESSOR")
* @param x horizontal position
* @param y vertical position
* @param width node width
* @param height node height
* @param children nested child nodes for compound/swimlane groups
* @param id node identifier (matches RouteNode.id)
* @param label display label
* @param type NodeType name (e.g., "ENDPOINT", "PROCESSOR")
* @param x horizontal position
* @param y vertical position
* @param width node width
* @param height node height
* @param children nested child nodes for compound/swimlane groups
* @param endpointUri the Camel endpoint URI (e.g., "direct:processOrder"), null for non-endpoint nodes
*/
public record PositionedNode(
String id,
@@ -25,6 +26,7 @@ public record PositionedNode(
double y,
double width,
double height,
List<PositionedNode> children
List<PositionedNode> children,
String endpointUri
) {
}