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

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

commit ae4a71b27b0c0c2631f75b4def5cbae4c4e848a1
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Jan 28 09:40:11 2026 +0100

    Camel-AWS components: Use ObjectHelper for null checks - Bedrock
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../aws2/bedrock/agent/BedrockAgentComponent.java  |  3 +-
 .../aws2/bedrock/agent/BedrockAgentEndpoint.java   |  6 +--
 .../agentruntime/BedrockAgentRuntimeComponent.java |  3 +-
 .../agentruntime/BedrockAgentRuntimeEndpoint.java  |  6 +--
 .../aws2/bedrock/runtime/BedrockComponent.java     |  3 +-
 .../aws2/bedrock/runtime/BedrockEndpoint.java      | 10 ++---
 .../aws2/bedrock/runtime/BedrockProducer.java      | 48 +++++++++++-----------
 .../runtime/stream/BedrockStreamHandler.java       | 15 +++----
 .../bedrock/runtime/stream/ClaudeStreamParser.java | 23 ++++++-----
 .../bedrock/runtime/stream/CohereStreamParser.java | 17 ++++----
 .../runtime/stream/ConverseStreamHandler.java      | 15 +++----
 .../bedrock/runtime/stream/LlamaStreamParser.java  |  9 ++--
 .../runtime/stream/MistralStreamParser.java        | 11 ++---
 .../bedrock/runtime/stream/TitanStreamParser.java  |  9 ++--
 14 files changed, 94 insertions(+), 84 deletions(-)

diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentComponent.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentComponent.java
index 6a938a720201..281ef03b1d99 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentComponent.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentComponent.java
@@ -23,6 +23,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.HealthCheckComponent;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * For working with Amazon Bedrock Agent SDK v2.
@@ -44,7 +45,7 @@ public class BedrockAgentComponent extends 
HealthCheckComponent {
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
         BedrockAgentConfiguration configuration
-                = this.configuration != null ? this.configuration.copy() : new 
BedrockAgentConfiguration();
+                = ObjectHelper.isNotEmpty(this.configuration) ? 
this.configuration.copy() : new BedrockAgentConfiguration();
         BedrockAgentEndpoint endpoint = new BedrockAgentEndpoint(uri, this, 
configuration);
         setProperties(endpoint, parameters);
         if 
(Boolean.FALSE.equals(configuration.isUseDefaultCredentialsProvider())
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentEndpoint.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentEndpoint.java
index 316942ea3b9f..a021c21076c2 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentEndpoint.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agent/BedrockAgentEndpoint.java
@@ -72,7 +72,7 @@ public class BedrockAgentEndpoint extends 
ScheduledPollEndpoint implements Endpo
     public void doStart() throws Exception {
         super.doStart();
 
-        bedrockAgentClient = configuration.getBedrockAgentClient() != null
+        bedrockAgentClient = 
ObjectHelper.isNotEmpty(configuration.getBedrockAgentClient())
                 ? configuration.getBedrockAgentClient()
                 : 
BedrockAgentClientFactory.getBedrockAgentClient(configuration);
     }
@@ -80,7 +80,7 @@ public class BedrockAgentEndpoint extends 
ScheduledPollEndpoint implements Endpo
     @Override
     public void doStop() throws Exception {
         if (ObjectHelper.isEmpty(configuration.getBedrockAgentClient())) {
-            if (bedrockAgentClient != null) {
+            if (ObjectHelper.isNotEmpty(bedrockAgentClient)) {
                 bedrockAgentClient.close();
             }
         }
@@ -115,7 +115,7 @@ public class BedrockAgentEndpoint extends 
ScheduledPollEndpoint implements Endpo
     @Override
     public Map<String, String> getServiceMetadata() {
         HashMap<String, String> metadata = new HashMap<>();
-        if (configuration.getModelId() != null) {
+        if (ObjectHelper.isNotEmpty(configuration.getModelId())) {
             metadata.put("modelId", configuration.getModelId());
         }
         return metadata;
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponent.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponent.java
index db4e5c39fc3a..d596b3e79da8 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponent.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeComponent.java
@@ -23,6 +23,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.HealthCheckComponent;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * For working with Amazon Bedrock Agent Runtime SDK v2.
@@ -44,7 +45,7 @@ public class BedrockAgentRuntimeComponent extends 
HealthCheckComponent {
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
         BedrockAgentRuntimeConfiguration configuration
-                = this.configuration != null ? this.configuration.copy() : new 
BedrockAgentRuntimeConfiguration();
+                = ObjectHelper.isNotEmpty(this.configuration) ? 
this.configuration.copy() : new BedrockAgentRuntimeConfiguration();
         BedrockAgentRuntimeEndpoint endpoint = new 
BedrockAgentRuntimeEndpoint(uri, this, configuration);
         setProperties(endpoint, parameters);
         if 
(Boolean.FALSE.equals(configuration.isUseDefaultCredentialsProvider())
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
index 7e2fbce5f782..0b45f3524b04 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/agentruntime/BedrockAgentRuntimeEndpoint.java
@@ -65,7 +65,7 @@ public class BedrockAgentRuntimeEndpoint extends 
ScheduledPollEndpoint implement
     public void doStart() throws Exception {
         super.doStart();
 
-        bedrockAgentRuntimeClient = 
configuration.getBedrockAgentRuntimeClient() != null
+        bedrockAgentRuntimeClient = 
ObjectHelper.isNotEmpty(configuration.getBedrockAgentRuntimeClient())
                 ? configuration.getBedrockAgentRuntimeClient()
                 : 
BedrockAgentRuntimeClientFactory.getBedrockAgentRuntimeClient(configuration);
     }
@@ -73,7 +73,7 @@ public class BedrockAgentRuntimeEndpoint extends 
ScheduledPollEndpoint implement
     @Override
     public void doStop() throws Exception {
         if 
(ObjectHelper.isEmpty(configuration.getBedrockAgentRuntimeClient())) {
-            if (bedrockAgentRuntimeClient != null) {
+            if (ObjectHelper.isNotEmpty(bedrockAgentRuntimeClient)) {
                 bedrockAgentRuntimeClient.close();
             }
         }
@@ -108,7 +108,7 @@ public class BedrockAgentRuntimeEndpoint extends 
ScheduledPollEndpoint implement
     @Override
     public Map<String, String> getServiceMetadata() {
         HashMap<String, String> metadata = new HashMap<>();
-        if (configuration.getModelId() != null) {
+        if (ObjectHelper.isNotEmpty(configuration.getModelId())) {
             metadata.put("modelId", configuration.getModelId());
         }
         return metadata;
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockComponent.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockComponent.java
index 1c80a5d6cb3f..896609d632fc 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockComponent.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockComponent.java
@@ -23,6 +23,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.HealthCheckComponent;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * For working with Amazon Bedrock SDK v2.
@@ -44,7 +45,7 @@ public class BedrockComponent extends HealthCheckComponent {
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
         BedrockConfiguration configuration
-                = this.configuration != null ? this.configuration.copy() : new 
BedrockConfiguration();
+                = ObjectHelper.isNotEmpty(this.configuration) ? 
this.configuration.copy() : new BedrockConfiguration();
         BedrockEndpoint endpoint = new BedrockEndpoint(uri, this, 
configuration);
         setProperties(endpoint, parameters);
         if 
(Boolean.FALSE.equals(configuration.isUseDefaultCredentialsProvider())
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockEndpoint.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockEndpoint.java
index 93013de2a489..405b05c2ba81 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockEndpoint.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockEndpoint.java
@@ -72,12 +72,12 @@ public class BedrockEndpoint extends ScheduledPollEndpoint 
implements EndpointSe
         super.doStart();
 
         // Get sync client
-        bedrockRuntimeClient = configuration.getBedrockRuntimeClient() != null
+        bedrockRuntimeClient = 
ObjectHelper.isNotEmpty(configuration.getBedrockRuntimeClient())
                 ? configuration.getBedrockRuntimeClient()
                 : BedrockClientFactory.getBedrockRuntimeClient(configuration);
 
         // Get async client for streaming operations
-        bedrockRuntimeAsyncClient = 
configuration.getBedrockRuntimeAsyncClient() != null
+        bedrockRuntimeAsyncClient = 
ObjectHelper.isNotEmpty(configuration.getBedrockRuntimeAsyncClient())
                 ? configuration.getBedrockRuntimeAsyncClient()
                 : 
BedrockClientFactory.getBedrockRuntimeAsyncClient(configuration);
     }
@@ -85,12 +85,12 @@ public class BedrockEndpoint extends ScheduledPollEndpoint 
implements EndpointSe
     @Override
     public void doStop() throws Exception {
         if (ObjectHelper.isEmpty(configuration.getBedrockRuntimeClient())) {
-            if (bedrockRuntimeClient != null) {
+            if (ObjectHelper.isNotEmpty(bedrockRuntimeClient)) {
                 bedrockRuntimeClient.close();
             }
         }
         if 
(ObjectHelper.isEmpty(configuration.getBedrockRuntimeAsyncClient())) {
-            if (bedrockRuntimeAsyncClient != null) {
+            if (ObjectHelper.isNotEmpty(bedrockRuntimeAsyncClient)) {
                 bedrockRuntimeAsyncClient.close();
             }
         }
@@ -129,7 +129,7 @@ public class BedrockEndpoint extends ScheduledPollEndpoint 
implements EndpointSe
     @Override
     public Map<String, String> getServiceMetadata() {
         HashMap<String, String> metadata = new HashMap<>();
-        if (configuration.getModelId() != null) {
+        if (ObjectHelper.isNotEmpty(configuration.getModelId())) {
             metadata.put("modelId", configuration.getModelId());
         }
         return metadata;
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
index aaeaf0503203..cac050a892a0 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/BedrockProducer.java
@@ -513,10 +513,10 @@ public class BedrockProducer extends DefaultProducer {
     }
 
     private void setStreamingMetadata(Message message, 
BedrockStreamHandler.StreamMetadata metadata) {
-        if (metadata.getCompletionReason() != null) {
+        if (ObjectHelper.isNotEmpty(metadata.getCompletionReason())) {
             message.setHeader(BedrockConstants.STREAMING_COMPLETION_REASON, 
metadata.getCompletionReason());
         }
-        if (metadata.getTokenCount() != null) {
+        if (ObjectHelper.isNotEmpty(metadata.getTokenCount())) {
             message.setHeader(BedrockConstants.STREAMING_TOKEN_COUNT, 
metadata.getTokenCount());
         }
         message.setHeader(BedrockConstants.STREAMING_CHUNK_COUNT, 
metadata.getChunkCount());
@@ -544,7 +544,7 @@ public class BedrockProducer extends DefaultProducer {
             @SuppressWarnings("unchecked")
             List<software.amazon.awssdk.services.bedrockruntime.model.Message> 
messages
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_MESSAGES, List.class);
-            if (messages != null) {
+            if (ObjectHelper.isNotEmpty(messages)) {
                 builder.messages(messages);
             } else {
                 throw new IllegalArgumentException(
@@ -555,21 +555,21 @@ public class BedrockProducer extends DefaultProducer {
             @SuppressWarnings("unchecked")
             List<SystemContentBlock> system
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_SYSTEM, List.class);
-            if (system != null) {
+            if (ObjectHelper.isNotEmpty(system)) {
                 builder.system(system);
             }
 
             // Optional: Inference configuration
             InferenceConfiguration inferenceConfig
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_INFERENCE_CONFIG, 
InferenceConfiguration.class);
-            if (inferenceConfig != null) {
+            if (ObjectHelper.isNotEmpty(inferenceConfig)) {
                 builder.inferenceConfig(inferenceConfig);
             }
 
             // Optional: Tool configuration
             ToolConfiguration toolConfig
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_TOOL_CONFIG, 
ToolConfiguration.class);
-            if (toolConfig != null) {
+            if (ObjectHelper.isNotEmpty(toolConfig)) {
                 builder.toolConfig(toolConfig);
             }
 
@@ -577,7 +577,7 @@ public class BedrockProducer extends DefaultProducer {
             software.amazon.awssdk.core.document.Document additionalFields = 
exchange.getMessage()
                     
.getHeader(BedrockConstants.CONVERSE_ADDITIONAL_MODEL_REQUEST_FIELDS,
                             
software.amazon.awssdk.core.document.Document.class);
-            if (additionalFields != null) {
+            if (ObjectHelper.isNotEmpty(additionalFields)) {
                 builder.additionalModelRequestFields(additionalFields);
             }
 
@@ -585,7 +585,7 @@ public class BedrockProducer extends DefaultProducer {
             
software.amazon.awssdk.services.bedrockruntime.model.GuardrailConfiguration 
guardrailConfig
                     = 
exchange.getMessage().getHeader(BedrockConstants.GUARDRAIL_CONFIG,
                             
software.amazon.awssdk.services.bedrockruntime.model.GuardrailConfiguration.class);
-            if (guardrailConfig != null) {
+            if (ObjectHelper.isNotEmpty(guardrailConfig)) {
                 builder.guardrailConfig(guardrailConfig);
             } else if 
(ObjectHelper.isNotEmpty(getConfiguration().getGuardrailIdentifier())) {
                 // Build from endpoint configuration
@@ -607,14 +607,14 @@ public class BedrockProducer extends DefaultProducer {
             org.apache.camel.Message message = getMessageForResponse(exchange);
 
             // Set the output message content as body
-            if (response.output() != null && response.output().message() != 
null) {
+            if (ObjectHelper.isNotEmpty(response.output()) && 
ObjectHelper.isNotEmpty(response.output().message())) {
                 software.amazon.awssdk.services.bedrockruntime.model.Message 
outputMessage = response.output().message();
                 message.setHeader(BedrockConstants.CONVERSE_OUTPUT_MESSAGE, 
outputMessage);
 
                 // Extract text content from the message
                 StringBuilder textContent = new StringBuilder();
                 for (ContentBlock content : outputMessage.content()) {
-                    if (content.text() != null) {
+                    if (ObjectHelper.isNotEmpty(content.text())) {
                         textContent.append(content.text());
                     }
                 }
@@ -622,13 +622,13 @@ public class BedrockProducer extends DefaultProducer {
             }
 
             // Set metadata headers
-            if (response.stopReason() != null) {
+            if (ObjectHelper.isNotEmpty(response.stopReason())) {
                 message.setHeader(BedrockConstants.CONVERSE_STOP_REASON, 
response.stopReason().toString());
             }
-            if (response.usage() != null) {
+            if (ObjectHelper.isNotEmpty(response.usage())) {
                 message.setHeader(BedrockConstants.CONVERSE_USAGE, 
response.usage());
             }
-            if (response.trace() != null && response.trace().guardrail() != 
null) {
+            if (ObjectHelper.isNotEmpty(response.trace()) && 
ObjectHelper.isNotEmpty(response.trace().guardrail())) {
                 message.setHeader(BedrockConstants.GUARDRAIL_TRACE, 
response.trace().guardrail());
             }
 
@@ -660,7 +660,7 @@ public class BedrockProducer extends DefaultProducer {
             @SuppressWarnings("unchecked")
             List<software.amazon.awssdk.services.bedrockruntime.model.Message> 
messages
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_MESSAGES, List.class);
-            if (messages != null) {
+            if (ObjectHelper.isNotEmpty(messages)) {
                 builder.messages(messages);
             } else {
                 throw new IllegalArgumentException(
@@ -671,21 +671,21 @@ public class BedrockProducer extends DefaultProducer {
             @SuppressWarnings("unchecked")
             List<SystemContentBlock> system
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_SYSTEM, List.class);
-            if (system != null) {
+            if (ObjectHelper.isNotEmpty(system)) {
                 builder.system(system);
             }
 
             // Optional: Inference configuration
             InferenceConfiguration inferenceConfig
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_INFERENCE_CONFIG, 
InferenceConfiguration.class);
-            if (inferenceConfig != null) {
+            if (ObjectHelper.isNotEmpty(inferenceConfig)) {
                 builder.inferenceConfig(inferenceConfig);
             }
 
             // Optional: Tool configuration
             ToolConfiguration toolConfig
                     = 
exchange.getMessage().getHeader(BedrockConstants.CONVERSE_TOOL_CONFIG, 
ToolConfiguration.class);
-            if (toolConfig != null) {
+            if (ObjectHelper.isNotEmpty(toolConfig)) {
                 builder.toolConfig(toolConfig);
             }
 
@@ -693,7 +693,7 @@ public class BedrockProducer extends DefaultProducer {
             software.amazon.awssdk.core.document.Document additionalFields = 
exchange.getMessage()
                     
.getHeader(BedrockConstants.CONVERSE_ADDITIONAL_MODEL_REQUEST_FIELDS,
                             
software.amazon.awssdk.core.document.Document.class);
-            if (additionalFields != null) {
+            if (ObjectHelper.isNotEmpty(additionalFields)) {
                 builder.additionalModelRequestFields(additionalFields);
             }
 
@@ -701,7 +701,7 @@ public class BedrockProducer extends DefaultProducer {
             
software.amazon.awssdk.services.bedrockruntime.model.GuardrailStreamConfiguration
 guardrailConfig
                     = 
exchange.getMessage().getHeader(BedrockConstants.GUARDRAIL_CONFIG,
                             
software.amazon.awssdk.services.bedrockruntime.model.GuardrailStreamConfiguration.class);
-            if (guardrailConfig != null) {
+            if (ObjectHelper.isNotEmpty(guardrailConfig)) {
                 builder.guardrailConfig(guardrailConfig);
             } else if 
(ObjectHelper.isNotEmpty(getConfiguration().getGuardrailIdentifier())) {
                 // Build from endpoint configuration
@@ -777,13 +777,13 @@ public class BedrockProducer extends DefaultProducer {
     private void setConverseStreamingMetadata(
             org.apache.camel.Message message,
             
org.apache.camel.component.aws2.bedrock.runtime.stream.ConverseStreamHandler.StreamMetadata
 metadata) {
-        if (metadata.getStopReason() != null) {
+        if (ObjectHelper.isNotEmpty(metadata.getStopReason())) {
             message.setHeader(BedrockConstants.CONVERSE_STOP_REASON, 
metadata.getStopReason());
         }
-        if (metadata.getUsage() != null) {
+        if (ObjectHelper.isNotEmpty(metadata.getUsage())) {
             message.setHeader(BedrockConstants.CONVERSE_USAGE, 
metadata.getUsage());
         }
-        if (metadata.getGuardrailTrace() != null) {
+        if (ObjectHelper.isNotEmpty(metadata.getGuardrailTrace())) {
             message.setHeader(BedrockConstants.GUARDRAIL_TRACE, 
metadata.getGuardrailTrace());
         }
         message.setHeader(BedrockConstants.STREAMING_CHUNK_COUNT, 
metadata.getChunkCount());
@@ -830,7 +830,7 @@ public class BedrockProducer extends DefaultProducer {
             @SuppressWarnings("unchecked")
             
List<software.amazon.awssdk.services.bedrockruntime.model.GuardrailContentBlock>
 content
                     = 
exchange.getMessage().getHeader(BedrockConstants.GUARDRAIL_CONTENT, List.class);
-            if (content != null && !content.isEmpty()) {
+            if (ObjectHelper.isNotEmpty(content)) {
                 builder.content(content);
             } else {
                 throw new IllegalArgumentException(
@@ -857,7 +857,7 @@ public class BedrockProducer extends DefaultProducer {
                 // Store assessments as a header for detailed analysis
                 message.setHeader(BedrockConstants.GUARDRAIL_ASSESSMENTS, 
response.assessments());
             }
-            if (response.usage() != null) {
+            if (ObjectHelper.isNotEmpty(response.usage())) {
                 message.setHeader(BedrockConstants.GUARDRAIL_USAGE, 
response.usage());
             }
 
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
index 896fe04c67ad..cf0feaafdbd5 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/BedrockStreamHandler.java
@@ -20,6 +20,7 @@ import java.util.List;
 import java.util.function.Consumer;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
+import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import 
software.amazon.awssdk.services.bedrockruntime.model.InvokeModelWithResponseStreamResponseHandler;
@@ -57,19 +58,19 @@ public final class BedrockStreamHandler {
                             try {
                                 String chunkJson = part.bytes().asUtf8String();
                                 String text = parser.extractText(chunkJson);
-                                if (text != null && !text.isEmpty()) {
+                                if (ObjectHelper.isNotEmpty(text)) {
                                     fullText.append(text);
                                 }
 
                                 // Extract metadata from final chunk
                                 if (parser.isFinalChunk(chunkJson)) {
                                     String completionReason = 
parser.extractCompletionReason(chunkJson);
-                                    if (completionReason != null) {
+                                    if 
(ObjectHelper.isNotEmpty(completionReason)) {
                                         
metadata.setCompletionReason(completionReason);
                                     }
 
                                     Integer tokenCount = 
parser.extractTokenCount(chunkJson);
-                                    if (tokenCount != null) {
+                                    if (ObjectHelper.isNotEmpty(tokenCount)) {
                                         metadata.setTokenCount(tokenCount);
                                     }
                                 }
@@ -111,9 +112,9 @@ public final class BedrockStreamHandler {
                                 String chunkJson = part.bytes().asUtf8String();
                                 String text = parser.extractText(chunkJson);
 
-                                if (text != null && !text.isEmpty()) {
+                                if (ObjectHelper.isNotEmpty(text)) {
                                     chunks.add(text);
-                                    if (chunkConsumer != null) {
+                                    if 
(ObjectHelper.isNotEmpty(chunkConsumer)) {
                                         chunkConsumer.accept(text);
                                     }
                                 }
@@ -121,12 +122,12 @@ public final class BedrockStreamHandler {
                                 // Extract metadata from final chunk
                                 if (parser.isFinalChunk(chunkJson)) {
                                     String completionReason = 
parser.extractCompletionReason(chunkJson);
-                                    if (completionReason != null) {
+                                    if 
(ObjectHelper.isNotEmpty(completionReason)) {
                                         
metadata.setCompletionReason(completionReason);
                                     }
 
                                     Integer tokenCount = 
parser.extractTokenCount(chunkJson);
-                                    if (tokenCount != null) {
+                                    if (ObjectHelper.isNotEmpty(tokenCount)) {
                                         metadata.setTokenCount(tokenCount);
                                     }
                                 }
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
index aa8ca527c333..e36b7ce75bd4 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ClaudeStreamParser.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.component.aws2.bedrock.runtime.stream;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * Parser for Anthropic Claude model streaming responses (v3+ format)
@@ -41,13 +42,13 @@ public class ClaudeStreamParser implements 
StreamResponseParser {
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode type = node.get("type");
 
-        if (type != null && "content_block_delta".equals(type.asText())) {
+        if (ObjectHelper.isNotEmpty(type) && 
"content_block_delta".equals(type.asText())) {
             JsonNode delta = node.get("delta");
-            if (delta != null) {
+            if (ObjectHelper.isNotEmpty(delta)) {
                 JsonNode deltaType = delta.get("type");
-                if (deltaType != null && 
"text_delta".equals(deltaType.asText())) {
+                if (ObjectHelper.isNotEmpty(deltaType) && 
"text_delta".equals(deltaType.asText())) {
                     JsonNode text = delta.get("text");
-                    return text != null && !text.isNull() ? text.asText() : "";
+                    return ObjectHelper.isNotEmpty(text) && !text.isNull() ? 
text.asText() : "";
                 }
             }
         }
@@ -62,11 +63,11 @@ public class ClaudeStreamParser implements 
StreamResponseParser {
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode type = node.get("type");
 
-        if (type != null && "message_delta".equals(type.asText())) {
+        if (ObjectHelper.isNotEmpty(type) && 
"message_delta".equals(type.asText())) {
             JsonNode delta = node.get("delta");
-            if (delta != null) {
+            if (ObjectHelper.isNotEmpty(delta)) {
                 JsonNode stopReason = delta.get("stop_reason");
-                return stopReason != null && !stopReason.isNull() ? 
stopReason.asText() : null;
+                return ObjectHelper.isNotEmpty(stopReason) && 
!stopReason.isNull() ? stopReason.asText() : null;
             }
         }
         return null;
@@ -80,11 +81,11 @@ public class ClaudeStreamParser implements 
StreamResponseParser {
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode type = node.get("type");
 
-        if (type != null && "message_delta".equals(type.asText())) {
+        if (ObjectHelper.isNotEmpty(type) && 
"message_delta".equals(type.asText())) {
             JsonNode usage = node.get("usage");
-            if (usage != null) {
+            if (ObjectHelper.isNotEmpty(usage)) {
                 JsonNode outputTokens = usage.get("output_tokens");
-                return outputTokens != null && !outputTokens.isNull() ? 
outputTokens.asInt() : null;
+                return ObjectHelper.isNotEmpty(outputTokens) && 
!outputTokens.isNull() ? outputTokens.asInt() : null;
             }
         }
         return null;
@@ -97,6 +98,6 @@ public class ClaudeStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode type = node.get("type");
-        return type != null && "message_stop".equals(type.asText());
+        return ObjectHelper.isNotEmpty(type) && 
"message_stop".equals(type.asText());
     }
 }
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
index 52140781e4b9..12aa228d8955 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/CohereStreamParser.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.component.aws2.bedrock.runtime.stream;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * Parser for Cohere model streaming responses
@@ -39,9 +40,9 @@ public class CohereStreamParser implements 
StreamResponseParser {
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode eventType = node.get("event_type");
 
-        if (eventType != null && "text-generation".equals(eventType.asText())) 
{
+        if (ObjectHelper.isNotEmpty(eventType) && 
"text-generation".equals(eventType.asText())) {
             JsonNode text = node.get("text");
-            return text != null && !text.isNull() ? text.asText() : "";
+            return ObjectHelper.isNotEmpty(text) && !text.isNull() ? 
text.asText() : "";
         }
         return "";
     }
@@ -53,7 +54,7 @@ public class CohereStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode finishReason = node.get("finish_reason");
-        return finishReason != null && !finishReason.isNull() ? 
finishReason.asText() : null;
+        return ObjectHelper.isNotEmpty(finishReason) && !finishReason.isNull() 
? finishReason.asText() : null;
     }
 
     @Override
@@ -63,13 +64,13 @@ public class CohereStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode response = node.get("response");
-        if (response != null) {
+        if (ObjectHelper.isNotEmpty(response)) {
             JsonNode meta = response.get("meta");
-            if (meta != null) {
+            if (ObjectHelper.isNotEmpty(meta)) {
                 JsonNode tokens = meta.get("tokens");
-                if (tokens != null) {
+                if (ObjectHelper.isNotEmpty(tokens)) {
                     JsonNode outputTokens = tokens.get("output_tokens");
-                    return outputTokens != null && !outputTokens.isNull() ? 
outputTokens.asInt() : null;
+                    return ObjectHelper.isNotEmpty(outputTokens) && 
!outputTokens.isNull() ? outputTokens.asInt() : null;
                 }
             }
         }
@@ -83,6 +84,6 @@ public class CohereStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode isFinished = node.get("is_finished");
-        return isFinished != null && isFinished.asBoolean(false);
+        return ObjectHelper.isNotEmpty(isFinished) && 
isFinished.asBoolean(false);
     }
 }
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ConverseStreamHandler.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ConverseStreamHandler.java
index c554f5030844..182a17a3977d 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ConverseStreamHandler.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/ConverseStreamHandler.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.component.aws2.bedrock.runtime.stream;
 import java.util.List;
 import java.util.function.Consumer;
 
+import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import 
software.amazon.awssdk.services.bedrockruntime.model.ConverseStreamResponseHandler;
@@ -51,18 +52,18 @@ public final class ConverseStreamHandler {
         return ConverseStreamResponseHandler.builder()
                 .subscriber(ConverseStreamResponseHandler.Visitor.builder()
                         .onContentBlockDelta(delta -> {
-                            if (delta.delta() != null && delta.delta().text() 
!= null) {
+                            if (ObjectHelper.isNotEmpty(delta.delta()) && 
ObjectHelper.isNotEmpty(delta.delta().text())) {
                                 fullText.append(delta.delta().text());
                             }
                             chunkCount[0]++;
                         })
                         .onMetadata(metadataEvent -> {
-                            if (metadataEvent.usage() != null) {
+                            if 
(ObjectHelper.isNotEmpty(metadataEvent.usage())) {
                                 metadata.setUsage(metadataEvent.usage());
                             }
                         })
                         .onMessageStop(stop -> {
-                            if (stop.stopReason() != null) {
+                            if (ObjectHelper.isNotEmpty(stop.stopReason())) {
                                 
metadata.setStopReason(stop.stopReason().toString());
                             }
                         })
@@ -92,22 +93,22 @@ public final class ConverseStreamHandler {
         return ConverseStreamResponseHandler.builder()
                 .subscriber(ConverseStreamResponseHandler.Visitor.builder()
                         .onContentBlockDelta(delta -> {
-                            if (delta.delta() != null && delta.delta().text() 
!= null) {
+                            if (ObjectHelper.isNotEmpty(delta.delta()) && 
ObjectHelper.isNotEmpty(delta.delta().text())) {
                                 String text = delta.delta().text();
                                 chunks.add(text);
-                                if (chunkConsumer != null) {
+                                if (ObjectHelper.isNotEmpty(chunkConsumer)) {
                                     chunkConsumer.accept(text);
                                 }
                             }
                             chunkCount[0]++;
                         })
                         .onMetadata(metadataEvent -> {
-                            if (metadataEvent.usage() != null) {
+                            if 
(ObjectHelper.isNotEmpty(metadataEvent.usage())) {
                                 metadata.setUsage(metadataEvent.usage());
                             }
                         })
                         .onMessageStop(stop -> {
-                            if (stop.stopReason() != null) {
+                            if (ObjectHelper.isNotEmpty(stop.stopReason())) {
                                 
metadata.setStopReason(stop.stopReason().toString());
                             }
                         })
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/LlamaStreamParser.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/LlamaStreamParser.java
index 04a538b7cd4e..243a09e1dd2d 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/LlamaStreamParser.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/LlamaStreamParser.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.component.aws2.bedrock.runtime.stream;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * Parser for Meta Llama model streaming responses
@@ -39,7 +40,7 @@ public class LlamaStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode generation = node.get("generation");
-        return generation != null && !generation.isNull() ? 
generation.asText() : "";
+        return ObjectHelper.isNotEmpty(generation) && !generation.isNull() ? 
generation.asText() : "";
     }
 
     @Override
@@ -49,7 +50,7 @@ public class LlamaStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode stopReason = node.get("stop_reason");
-        return stopReason != null && !stopReason.isNull() ? 
stopReason.asText() : null;
+        return ObjectHelper.isNotEmpty(stopReason) && !stopReason.isNull() ? 
stopReason.asText() : null;
     }
 
     @Override
@@ -59,12 +60,12 @@ public class LlamaStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode tokenCount = node.get("generation_token_count");
-        return tokenCount != null && !tokenCount.isNull() ? tokenCount.asInt() 
: null;
+        return ObjectHelper.isNotEmpty(tokenCount) && !tokenCount.isNull() ? 
tokenCount.asInt() : null;
     }
 
     @Override
     public boolean isFinalChunk(String chunk) throws JsonProcessingException {
         String stopReason = extractCompletionReason(chunk);
-        return stopReason != null && !stopReason.isEmpty();
+        return ObjectHelper.isNotEmpty(stopReason);
     }
 }
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
index 8cc2b9df6575..b2ce79f9c0c8 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/MistralStreamParser.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.component.aws2.bedrock.runtime.stream;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * Parser for Mistral AI model streaming responses
@@ -37,10 +38,10 @@ public class MistralStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode outputs = node.get("outputs");
-        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
+        if (ObjectHelper.isNotEmpty(outputs) && outputs.isArray() && 
outputs.size() > 0) {
             JsonNode firstOutput = outputs.get(0);
             JsonNode text = firstOutput.get("text");
-            return text != null && !text.isNull() ? text.asText() : "";
+            return ObjectHelper.isNotEmpty(text) && !text.isNull() ? 
text.asText() : "";
         }
         return "";
     }
@@ -52,10 +53,10 @@ public class MistralStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode outputs = node.get("outputs");
-        if (outputs != null && outputs.isArray() && outputs.size() > 0) {
+        if (ObjectHelper.isNotEmpty(outputs) && outputs.isArray() && 
outputs.size() > 0) {
             JsonNode firstOutput = outputs.get(0);
             JsonNode stopReason = firstOutput.get("stop_reason");
-            return stopReason != null && !stopReason.isNull() ? 
stopReason.asText() : null;
+            return ObjectHelper.isNotEmpty(stopReason) && !stopReason.isNull() 
? stopReason.asText() : null;
         }
         return null;
     }
@@ -70,6 +71,6 @@ public class MistralStreamParser implements 
StreamResponseParser {
     @Override
     public boolean isFinalChunk(String chunk) throws JsonProcessingException {
         String stopReason = extractCompletionReason(chunk);
-        return stopReason != null && !stopReason.isEmpty();
+        return ObjectHelper.isNotEmpty(stopReason);
     }
 }
diff --git 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/TitanStreamParser.java
 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/TitanStreamParser.java
index 5a6aa41fd7c4..5d472fc650a9 100644
--- 
a/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/TitanStreamParser.java
+++ 
b/components/camel-aws/camel-aws-bedrock/src/main/java/org/apache/camel/component/aws2/bedrock/runtime/stream/TitanStreamParser.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.component.aws2.bedrock.runtime.stream;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * Parser for Amazon Titan model streaming responses
@@ -39,7 +40,7 @@ public class TitanStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode outputText = node.get("outputText");
-        return outputText != null && !outputText.isNull() ? 
outputText.asText() : "";
+        return ObjectHelper.isNotEmpty(outputText) && !outputText.isNull() ? 
outputText.asText() : "";
     }
 
     @Override
@@ -49,7 +50,7 @@ public class TitanStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode completionReason = node.get("completionReason");
-        return completionReason != null && !completionReason.isNull() ? 
completionReason.asText() : null;
+        return ObjectHelper.isNotEmpty(completionReason) && 
!completionReason.isNull() ? completionReason.asText() : null;
     }
 
     @Override
@@ -59,12 +60,12 @@ public class TitanStreamParser implements 
StreamResponseParser {
         }
         JsonNode node = MAPPER.readTree(chunk);
         JsonNode tokenCount = node.get("totalOutputTextTokenCount");
-        return tokenCount != null && !tokenCount.isNull() ? tokenCount.asInt() 
: null;
+        return ObjectHelper.isNotEmpty(tokenCount) && !tokenCount.isNull() ? 
tokenCount.asInt() : null;
     }
 
     @Override
     public boolean isFinalChunk(String chunk) throws JsonProcessingException {
         String completionReason = extractCompletionReason(chunk);
-        return completionReason != null && !completionReason.isEmpty();
+        return ObjectHelper.isNotEmpty(completionReason);
     }
 }


Reply via email to