gnodet opened a new pull request, #26451: URL: https://github.com/apache/camel/pull/26451
## Summary Fix metadata mismatches between `@UriParam` annotations and actual runtime behaviour in 7 components. All were confirmed on main. ## Root Cause & Fix ### 1. azure-storage-datalake: Wrong `enums` on `operation` `DataLakeConfiguration.operation` had `enums = "listFileSystem, listFiles"` but `DataLakeOperationsDefinition` has **15 values**. The hardcoded `enums` attribute overrides what the annotation processor would derive from the enum type. **Fix:** remove the `enums` attribute so the processor uses the actual enum constants. ### 2. google-secret-manager: Incomplete `enums` on `operation` `GoogleSecretManagerConfiguration.operation` had `enums = "createSecret"` but `GoogleSecretManagerOperations` has **4 values** (`createSecret`, `getSecretVersion`, `deleteSecret`, `listSecrets`). **Fix:** remove the `enums` attribute. ### 3. google-storage: `objectName` labelled `producer`-only `GoogleCloudStorageConfiguration.objectName` was labelled `producer` but `GoogleCloudStorageConsumer` uses `getConfiguration().getObjectName()` to filter which object to read. **Fix:** change label to `common`. ### 4. web3j: `operation` labelled `producer`-only `Web3jConfiguration.operation` was labelled `producer` but `Web3jConsumer.process()` dispatches on `configuration.getOperation()` to route requests. **Fix:** change label to `common`. ### 5. grpc: `forwardOnCompleted`/`forwardOnError` labelled `consumer`-only Both flags were labelled `consumer` but `GrpcResponseRouterStreamObserver` (the producer-side streaming client, created via `GrpcStreamObserverFactory`) checks both via `configuration.isForwardOnError()` and `configuration.isForwardOnCompleted()`. **Fix:** change labels to `common`. ### 6. netty-http: `bootstrapConfiguration` invisible in metadata `NettyHttpComponent.createEndpoint()` extracts `bootstrapConfiguration` via `resolveAndRemoveReferenceParameter` before the parameter map reaches the endpoint. It is completely absent from `@UriParam` annotations, making it invisible in all generated metadata. **Fix:** add a doc-only `@UriParam` field in `NettyHttpEndpoint` with `javaType = "org.apache.camel.component.netty.NettyServerBootstrapConfiguration"`, matching the pattern already used for `httpConfiguration` in the same class. ### 7. jt400: `outputFieldsIdx`/`fieldsLength` String setters have no `@UriParam` `Jt400Configuration` annotated `Integer[] outputFieldsIdxArray` and `Integer[] outputFieldsLengthArray` with `@UriParam`, but users cannot set `Integer[]` from a URI string. The String-accepting setters `setOutputFieldsIdx(String)` and `setFieldsLength(String)` (which parse comma-separated values into the arrays) existed but had no annotation and no getter — invisible in metadata and unreachable via URI. **Fix:** introduce `String outputFieldsIdx` and `String fieldsLength` fields with `@UriParam`, add corresponding getters, update the setters to also store the string value for round-trip, and remove `@UriParam` from the Integer[] array fields. ## Test All 7 affected modules compile cleanly (`mvn compile -q`). The azure-storage-datalake generated JSON was regenerated by the annotation processor and now lists all 15 enum values instead of the stale 2. --- _Hermes Agent (Claude Sonnet 4.6) on behalf of Guillaume Nodet_ -- 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]
