[
https://issues.apache.org/jira/browse/CAMEL-26075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18130907#comment-18130907
]
Claus Ibsen commented on CAMEL-26075:
-------------------------------------
Fix in PR https://github.com/apache/camel/pull/28353 (one PR for the 10 AWS
tickets CAMEL-26032, 26070, 26075, 26076, 26095, 26096, 26097, 26098, 26099,
26101). The PR description lists what changed per component.
_Claude Code on behalf of davsclaus_
> camel-aws2-transcribe - no operation fails with a NullPointerException, and
> createVocabulary sends a List of phrases as one phrase
> ----------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26075
> URL: https://issues.apache.org/jira/browse/CAMEL-26075
> Project: Camel
> Issue Type: Bug
> Components: camel-aws2
> Affects Versions: 4.18.0, 4.22.0, 4.23.0
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> Found while adding the catalog body types of aws2-transcribe (CAMEL-24961).
> h4. 1. No operation fails with a NullPointerException
> The operation option has no default and there is no operation header, so
> {{switch (getConfiguration().getOperation())}} ({{Transcribe2Producer}}, main
> ed3d719b379c, line 50) fails with a NullPointerException when the endpoint
> sets no operation. Checked on 4.24.0-SNAPSHOT with {{camel run}} against the
> AWS emulator of {{camel infra run aws}}.
> *Proposed change*: require the operation when the endpoint is created.
> h4. 2. createVocabulary sends a List of phrases as one phrase
> createVocabulary reads {{CamelAwsTranscribeVocabularyPhrases}} as a String
> (lines 325-327), while the catalog says it is a {{List<String>}} and the
> vocabulary filters read it as a List. A List of phrases is sent as one
> phrase. Checked on 4.24.0-SNAPSHOT with {{camel run}} against a fake of the
> AWS API that logs the requests it gets: the header {{['camel', 'kamelet']}}
> gives {{"Phrases":["[camel, kamelet]"]}}. createVocabulary never reads
> {{CamelAwsTranscribeVocabularyFileUri}}, and updateVocabulary reads neither.
> *Proposed change*: read the header as a List, and the file uri too.
> h4. 3. Two delete operations keep the body
> deleteTranscriptionJob and deleteVocabulary never set the body (lines 268-295
> and 450-477), while the other four delete operations set their response.
> Checked on 4.24.0-SNAPSHOT with {{camel run}} against the AWS emulator of
> {{camel infra run aws}}: after deleteVocabulary the body is still the
> response of the step before.
> *Proposed change*: set the response, as the other delete operations do.
> h4. Also read in the code, not run
> * {{Transcribe2Component}} (lines 68-72) refuses an endpoint without a
> transcribeClient or an accessKey and a secretKey, also with
> {{useDefaultCredentialsProvider}} or {{useProfileCredentialsProvider}}, which
> the page offers.
> * The page names an {{amazonTranscribeClient}}; the option is
> {{transcribeClient}}, and it is not autowired.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)