[
https://issues.apache.org/jira/browse/CAMEL-24956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18120851#comment-18120851
]
Brijesh Thakkar commented on CAMEL-24956:
-----------------------------------------
Heyy I will raise PR for thiss one
> camel-jbang: a command that reports the route topology and where the body
> comes from, read from the source
> ----------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-24956
> URL: https://issues.apache.org/jira/browse/CAMEL-24956
> Project: Camel
> Issue Type: New Feature
> Components: camel-jbang
> Reporter: Claus Ibsen
> Priority: Major
>
> The route topology dev console draws the graph of a *running* application:
> which route sends to which, and which endpoints reach outside. The same graph
> can be read from the source, before anything runs - CAMEL-24844 does it, to
> answer where the body comes from.
> That analysis is more useful as a report than as a gate. A command that reads
> a set of files and prints what it found would serve a person opening an
> unfamiliar project and an agent about to change one:
> {noformat}
> camel topology # the route files of the project
> camel topology src/main/resources # or a directory, or single files
> camel topology --json # for a tool or an agent
> {noformat}
> What it would show, all of it already computed:
> * the routes, and where each one starts
> * the edges between them: which route sends to which, through which endpoint
> * the endpoints that leave the application, and the ones that enter it
> * where the body of each route comes from, and where it is set
> * what is wrong: an endpoint nothing consumes (CAMEL-24955), a route nothing
> calls, a step that reads a body the route cannot have (CAMEL-24844)
> h3. Why a command and not only a validation
> Validation answers "may I write this file". A report answers "what is this
> application", which is the question someone has when they arrive at a
> project, and the question an agent has before it edits one. The same is true
> of the failures: a report can say a route is unreachable without refusing
> anything, which is the right severity for a smell that may be intentional.
> h3. What it needs
> The analysis is in {{camel-yaml-dsl-validator}} and is package-private. A
> small public facade - the routes, the edges, the findings, as records - would
> serve the command, the validation path, and anything else that wants the
> graph, such as the views or a diagram.
> The runtime side already exists and could be the same output:
> {{RouteTopologyDevConsole}} and {{camel get topology}} for a running
> application, this for the source of one that is not.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)