This is an automated email from the ASF dual-hosted git repository.

oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 557752dbd2fd CAMEL-24264: camel-aws2-translate - throw when 
pojoRequest=true and the body is the wrong type (#25158)
557752dbd2fd is described below

commit 557752dbd2fdb30c521fd374bcf07ffa4404ecb3
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Jul 28 09:23:19 2026 +0200

    CAMEL-24264: camel-aws2-translate - throw when pojoRequest=true and the 
body is the wrong type (#25158)
    
    Child of CAMEL-24261. Translate2Producer.translateText only acted when the 
body
    was a TranslateTextRequest under pojoRequest=true; any other body silently 
fell
    through with no AWS call and no error. Add the missing else that throws
    IllegalArgumentException naming the required type, consistent with 
CAMEL-23462.
    
    The shared 4.22 upgrade-guide entry was added with CAMEL-24263.
    
    Signed-off-by: Andrea Cosentino <[email protected]>
    Co-authored-by: Claude Opus 4.8 <[email protected]>
---
 components/camel-aws/camel-aws2-translate/pom.xml                 | 5 +++++
 .../apache/camel/component/aws2/translate/Translate2Producer.java | 3 +++
 .../camel/component/aws2/translate/Translate2ProducerTest.java    | 8 ++++++++
 3 files changed, 16 insertions(+)

diff --git a/components/camel-aws/camel-aws2-translate/pom.xml 
b/components/camel-aws/camel-aws2-translate/pom.xml
index c22e0853e8a5..0cae2005dfcf 100644
--- a/components/camel-aws/camel-aws2-translate/pom.xml
+++ b/components/camel-aws/camel-aws2-translate/pom.xml
@@ -78,5 +78,10 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
 
b/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
index c94175afe28d..17e5e0358415 100644
--- 
a/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
+++ 
b/components/camel-aws/camel-aws2-translate/src/main/java/org/apache/camel/component/aws2/translate/Translate2Producer.java
@@ -100,6 +100,9 @@ public class Translate2Producer extends DefaultProducer {
                 }
                 Message message = getMessageForResponse(exchange);
                 message.setBody(result.translatedText());
+            } else {
+                throw new IllegalArgumentException(
+                        "translateText operation requires TranslateTextRequest 
in POJO mode");
             }
         } else {
             Builder request = TranslateTextRequest.builder();
diff --git 
a/components/camel-aws/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
 
b/components/camel-aws/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
index 0ac9b2cb8a8d..dad42153da4e 100644
--- 
a/components/camel-aws/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
+++ 
b/components/camel-aws/camel-aws2-translate/src/test/java/org/apache/camel/component/aws2/translate/Translate2ProducerTest.java
@@ -26,6 +26,7 @@ import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import software.amazon.awssdk.services.translate.model.TranslateTextRequest;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class Translate2ProducerTest extends CamelTestSupport {
@@ -76,6 +77,13 @@ public class Translate2ProducerTest extends CamelTestSupport 
{
 
     }
 
+    @Test
+    void translateTextWithPojoRequestAndWrongBodyTypeThrows() {
+        assertThatThrownBy(() -> 
template.requestBody("direct:translatePojoText", "not a TranslateTextRequest"))
+                .hasRootCauseInstanceOf(IllegalArgumentException.class)
+                .hasRootCauseMessage("translateText operation requires 
TranslateTextRequest in POJO mode");
+    }
+
     @Test
     public void translateTextTestOptions() throws Exception {
 

Reply via email to