Dhairya-007 opened a new pull request, #29967:
URL: https://github.com/apache/camel/pull/29967
## Problem
Six options on the `tahu-edge` endpoint put an aside into their `label`:
```java
@UriPath(label = "producer (device only)", description = "ID of this edge
node device")
...
@UriParam(label = "producer (edge node only)", description = "Host ID of the
primary host application for this edge node")
...
@UriParam(label = "producer (edge node only),advanced", description = "Flag
enabling support for metric aliases", ...)
```
`label` is a comma-separated set of group tokens, not prose, so each of
those strings becomes a group of its own. In `tahu-edge.json` as shipped:
```
2 path producer (device only) producer (device only)
deviceId
8 parameter producer producer
metricDataTypePayloadMap
9 parameter producer (advanced) producer,advanced
headerFilterStrategy
11 parameter advanced producer (edge node only),advanced
bdSeqManager
12 parameter advanced producer (edge node only),advanced
bdSeqNumPath
13 parameter advanced producer (edge node only),advanced
useAliases
14 parameter producer (edge node only) producer (edge node only)
deviceIds
15 parameter producer (edge node only) producer (edge node only)
primaryHostId
```
So the component's option table has a `producer (device only)` section with
one entry and a `producer (edge node only)` section with two, and the three
`,advanced` ones come out worse: the generator does not recognise `producer
(edge node only)` as a known token, so they land in the plain `advanced` group
- separated from the producer options they configure, and from
`headerFilterStrategy` two lines above them in the same file, which already
uses the correct `producer,advanced` and is grouped under `producer (advanced)`.
Filtering the catalog by the `producer` label also misses all six.
## Fix
Use `producer` and `producer,advanced`, as the rest of the same class
already does, and move the device-only / edge-node-only aside into the
description, so the information is still there for the reader:
```java
@UriPath(label = "producer", description = "ID of this edge node device.
Applies to the device endpoint only.")
```
After this the groups are `producer` for the three paths and `deviceIds`,
`metricDataTypePayloadMap`, `primaryHostId`, and `producer (advanced)` for the
five advanced ones.
The regenerated `tahu-edge.json` files are included - produced by
`camel-package-maven-plugin`, not edited by hand.
`TahuEdgeEndpointBuilderFactory` in camel-endpointdsl also carries these group
names in its javadoc; I left it for the build to regenerate rather than
hand-reordering a 600-line generated file.
--
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]