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 ba42601776897f84ab72795f4d5c5a881a5fcc5a
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Jan 28 10:11:32 2026 +0100

    Camel-AWS components: Use ObjectHelper for null checks - DynamoDB
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../apache/camel/component/aws2/ddb/AbstractDdbCommand.java   | 11 ++++++-----
 .../org/apache/camel/component/aws2/ddb/Ddb2Component.java    |  3 ++-
 .../org/apache/camel/component/aws2/ddb/Ddb2Endpoint.java     |  6 +++---
 .../org/apache/camel/component/aws2/ddb/Ddb2Producer.java     |  7 ++++---
 .../org/apache/camel/component/aws2/ddb/QueryCommand.java     |  5 +++--
 .../java/org/apache/camel/component/aws2/ddb/ScanCommand.java |  3 ++-
 .../apache/camel/component/aws2/ddb/UpdateTableCommand.java   |  5 +++--
 .../aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java       |  7 ++++---
 .../camel/component/aws2/ddbstream/Ddb2StreamComponent.java   |  3 ++-
 .../camel/component/aws2/ddbstream/Ddb2StreamConsumer.java    |  3 ++-
 .../camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java    |  6 +++---
 .../org/apache/camel/component/aws2/ddbstream/ShardList.java  |  5 +++--
 12 files changed, 37 insertions(+), 27 deletions(-)

diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/AbstractDdbCommand.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/AbstractDdbCommand.java
index b21b64b138af..354ab4f96120 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/AbstractDdbCommand.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/AbstractDdbCommand.java
@@ -21,6 +21,7 @@ import java.util.Map;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
+import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
 import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
 import software.amazon.awssdk.services.dynamodb.model.ExpectedAttributeValue;
@@ -45,7 +46,7 @@ public abstract class AbstractDdbCommand {
 
     protected String determineTableName() {
         String tableName = 
exchange.getIn().getHeader(Ddb2Constants.TABLE_NAME, String.class);
-        return tableName != null ? tableName : configuration.getTableName();
+        return ObjectHelper.isNotEmpty(tableName) ? tableName : 
configuration.getTableName();
     }
 
     @SuppressWarnings("unchecked")
@@ -139,7 +140,7 @@ public abstract class AbstractDdbCommand {
      */
     protected boolean hasFilterExpression() {
         String filterExpression = 
exchange.getIn().getHeader(Ddb2Constants.FILTER_EXPRESSION, String.class);
-        return filterExpression != null && !filterExpression.isEmpty();
+        return ObjectHelper.isNotEmpty(filterExpression);
     }
 
     /**
@@ -147,7 +148,7 @@ public abstract class AbstractDdbCommand {
      */
     protected boolean hasFilterExpressionAttributeNames() {
         Map<?, ?> names = 
exchange.getIn().getHeader(Ddb2Constants.FILTER_EXPRESSION_ATTRIBUTE_NAMES, 
Map.class);
-        return names != null && !names.isEmpty();
+        return ObjectHelper.isNotEmpty(names);
     }
 
     /**
@@ -155,7 +156,7 @@ public abstract class AbstractDdbCommand {
      */
     protected boolean hasFilterExpressionAttributeValues() {
         Map<?, ?> values = 
exchange.getIn().getHeader(Ddb2Constants.FILTER_EXPRESSION_ATTRIBUTE_VALUES, 
Map.class);
-        return values != null && !values.isEmpty();
+        return ObjectHelper.isNotEmpty(values);
     }
 
     /**
@@ -163,6 +164,6 @@ public abstract class AbstractDdbCommand {
      */
     protected boolean hasProjectExpression() {
         String projectExpression = 
exchange.getIn().getHeader(Ddb2Constants.PROJECT_EXPRESSION, String.class);
-        return projectExpression != null && !projectExpression.isEmpty();
+        return ObjectHelper.isNotEmpty(projectExpression);
     }
 }
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Component.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Component.java
index e992d0a5f123..a4905953b702 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Component.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Component.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;
 
 @Component("aws2-ddb")
 public class Ddb2Component extends HealthCheckComponent {
@@ -44,7 +45,7 @@ public class Ddb2Component extends HealthCheckComponent {
         if (remaining == null || remaining.isBlank()) {
             throw new IllegalArgumentException("Table name must be 
specified.");
         }
-        Ddb2Configuration configuration = this.configuration != null ? 
this.configuration.copy() : new Ddb2Configuration();
+        Ddb2Configuration configuration = 
ObjectHelper.isNotEmpty(this.configuration) ? this.configuration.copy() : new 
Ddb2Configuration();
         configuration.setTableName(remaining);
         Ddb2Endpoint endpoint = new Ddb2Endpoint(uri, this, configuration);
         setProperties(endpoint, parameters);
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Endpoint.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Endpoint.java
index e7babc7a82e7..33451093f7d5 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Endpoint.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Endpoint.java
@@ -87,7 +87,7 @@ public class Ddb2Endpoint extends ScheduledPollEndpoint 
implements EndpointServi
     public void doStart() throws Exception {
         super.doStart();
 
-        ddbClient = configuration.getAmazonDDBClient() != null
+        ddbClient = ObjectHelper.isNotEmpty(configuration.getAmazonDDBClient())
                 ? configuration.getAmazonDDBClient() : 
Ddb2ClientFactory.getDynamoDBClient(configuration);
 
         String tableName = getConfiguration().getTableName();
@@ -119,7 +119,7 @@ public class Ddb2Endpoint extends ScheduledPollEndpoint 
implements EndpointServi
     @Override
     public void doStop() throws Exception {
         if (ObjectHelper.isEmpty(configuration.getAmazonDDBClient())) {
-            if (ddbClient != null) {
+            if (ObjectHelper.isNotEmpty(ddbClient)) {
                 ddbClient.close();
             }
         }
@@ -202,7 +202,7 @@ public class Ddb2Endpoint extends ScheduledPollEndpoint 
implements EndpointServi
 
     @Override
     public Map<String, String> getServiceMetadata() {
-        if (configuration.getTableName() != null) {
+        if (ObjectHelper.isNotEmpty(configuration.getTableName())) {
             return Map.of("table", configuration.getTableName());
         }
         return null;
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Producer.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Producer.java
index 2bf318366244..5687c575b127 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Producer.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Producer.java
@@ -22,6 +22,7 @@ import org.apache.camel.health.HealthCheck;
 import org.apache.camel.health.HealthCheckHelper;
 import org.apache.camel.health.WritableHealthCheckRepository;
 import org.apache.camel.support.DefaultProducer;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.URISupport;
 
 /**
@@ -78,7 +79,7 @@ public class Ddb2Producer extends DefaultProducer {
 
     private Ddb2Operations determineOperation(Exchange exchange) {
         Ddb2Operations operation = 
exchange.getIn().getHeader(Ddb2Constants.OPERATION, Ddb2Operations.class);
-        return operation != null ? operation : 
getConfiguration().getOperation();
+        return ObjectHelper.isNotEmpty(operation) ? operation : 
getConfiguration().getOperation();
     }
 
     protected Ddb2Configuration getConfiguration() {
@@ -106,7 +107,7 @@ public class Ddb2Producer extends DefaultProducer {
                 "producers",
                 WritableHealthCheckRepository.class);
 
-        if (healthCheckRepository != null) {
+        if (ObjectHelper.isNotEmpty(healthCheckRepository)) {
             String id = getEndpoint().getId();
             producerHealthCheck = new Db2ProducerHealthCheck(getEndpoint(), 
id);
             
producerHealthCheck.setEnabled(getEndpoint().getComponent().isHealthCheckProducerEnabled());
@@ -116,7 +117,7 @@ public class Ddb2Producer extends DefaultProducer {
 
     @Override
     protected void doStop() throws Exception {
-        if (healthCheckRepository != null && producerHealthCheck != null) {
+        if (ObjectHelper.isNotEmpty(healthCheckRepository) && 
ObjectHelper.isNotEmpty(producerHealthCheck)) {
             healthCheckRepository.removeHealthCheck(producerHealthCheck);
             producerHealthCheck = null;
         }
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
index b4b45e476704..2e70d084b3f2 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/QueryCommand.java
@@ -21,6 +21,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
 import software.amazon.awssdk.services.dynamodb.model.Condition;
 import software.amazon.awssdk.services.dynamodb.model.QueryRequest;
@@ -44,13 +45,13 @@ public class QueryCommand extends AbstractDdbCommand {
 
         // Check if we have set an Index Name
         String indexName = determineIndexName();
-        if (indexName != null) {
+        if (ObjectHelper.isNotEmpty(indexName)) {
             query.indexName(indexName);
         }
 
         // Skip adding attribute-to-get from 'CamelAwsDdbAttributeNames' if 
the header is null or empty list.
         Collection<String> attributeNames = determineAttributeNames();
-        if (attributeNames != null && !attributeNames.isEmpty()) {
+        if (ObjectHelper.isNotEmpty(attributeNames)) {
             query.attributesToGet(attributeNames);
         }
 
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
index 2242e299ec6f..255a97d9a988 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/ScanCommand.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
 import software.amazon.awssdk.services.dynamodb.model.Condition;
 import software.amazon.awssdk.services.dynamodb.model.ScanRequest;
@@ -42,7 +43,7 @@ public class ScanCommand extends AbstractDdbCommand {
 
         // Check if we have set an Index Name
         String indexName = determineIndexName();
-        if (indexName != null) {
+        if (ObjectHelper.isNotEmpty(indexName)) {
             scan.indexName(indexName);
         }
 
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/UpdateTableCommand.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/UpdateTableCommand.java
index 49c8b780bdb0..1ad3508dd83f 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/UpdateTableCommand.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/UpdateTableCommand.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.aws2.ddb;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
 import software.amazon.awssdk.services.dynamodb.model.ProvisionedThroughput;
 import software.amazon.awssdk.services.dynamodb.model.UpdateTableRequest;
@@ -37,11 +38,11 @@ public class UpdateTableCommand extends AbstractDdbCommand {
 
     private Long determineReadCapacity() {
         Long readCapacity = 
exchange.getIn().getHeader(Ddb2Constants.READ_CAPACITY, Long.class);
-        return readCapacity != null ? readCapacity : 
configuration.getReadCapacity();
+        return ObjectHelper.isNotEmpty(readCapacity) ? readCapacity : 
configuration.getReadCapacity();
     }
 
     private Long determineWriteCapacity() {
         Long writeCapacity = 
exchange.getIn().getHeader(Ddb2Constants.WRITE_CAPACITY, Long.class);
-        return writeCapacity != null ? writeCapacity : 
configuration.getWriteCapacity();
+        return ObjectHelper.isNotEmpty(writeCapacity) ? writeCapacity : 
configuration.getWriteCapacity();
     }
 }
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
index 64285bcdc43e..edfb6f08250b 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformer.java
@@ -36,6 +36,7 @@ import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.DataTypeTransformer;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.util.ObjectHelper;
 import software.amazon.awssdk.services.dynamodb.model.AttributeAction;
 import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
 import software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate;
@@ -95,7 +96,7 @@ public class Ddb2JsonDataTypeTransformer extends Transformer {
 
         String operation
                 = 
Optional.ofNullable(jsonBody.get("operation")).map(JsonNode::asText).orElse(Ddb2Operations.PutItem.name());
-        if (message.getExchange().hasProperties() && 
message.getExchange().getProperty("operation", String.class) != null) {
+        if (message.getExchange().hasProperties() && 
ObjectHelper.isNotEmpty(message.getExchange().getProperty("operation", 
String.class))) {
             operation = message.getExchange().getProperty("operation", 
String.class);
         }
 
@@ -107,7 +108,7 @@ public class Ddb2JsonDataTypeTransformer extends 
Transformer {
         JsonNode item = jsonBody.get("item");
 
         Map<String, Object> keyProps;
-        if (key != null) {
+        if (ObjectHelper.isNotEmpty(key)) {
             keyProps = dataFormat.getObjectMapper().convertValue(key, new 
TypeReference<>() {
             });
         } else {
@@ -116,7 +117,7 @@ public class Ddb2JsonDataTypeTransformer extends 
Transformer {
         }
 
         Map<String, Object> itemProps;
-        if (item != null) {
+        if (ObjectHelper.isNotEmpty(item)) {
             itemProps = dataFormat.getObjectMapper().convertValue(item, new 
TypeReference<>() {
             });
         } else {
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamComponent.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamComponent.java
index 83834994981d..820aaed4f96b 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamComponent.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamComponent.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;
 
 @Component("aws2-ddbstream")
 public class Ddb2StreamComponent extends HealthCheckComponent {
@@ -43,7 +44,7 @@ public class Ddb2StreamComponent extends HealthCheckComponent 
{
             throw new IllegalArgumentException("Table name must be 
specified.");
         }
         Ddb2StreamConfiguration configuration
-                = this.configuration != null ? this.configuration.copy() : new 
Ddb2StreamConfiguration();
+                = ObjectHelper.isNotEmpty(this.configuration) ? 
this.configuration.copy() : new Ddb2StreamConfiguration();
         configuration.setTableName(remaining);
         Ddb2StreamEndpoint endpoint = new Ddb2StreamEndpoint(uri, 
configuration, this);
         setProperties(endpoint, parameters);
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumer.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumer.java
index f4906d6a1530..9ab926d98b76 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumer.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamConsumer.java
@@ -29,6 +29,7 @@ import org.apache.camel.ExchangePropertyKey;
 import org.apache.camel.Processor;
 import org.apache.camel.support.ScheduledBatchPollingConsumer;
 import org.apache.camel.util.CastUtils;
+import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import software.amazon.awssdk.services.dynamodb.model.ExpiredIteratorException;
@@ -130,7 +131,7 @@ public class Ddb2StreamConsumer extends 
ScheduledBatchPollingConsumer {
         ex.getMessage().setHeader(Ddb2StreamConstants.EVENT_SOURCE, 
record.eventSource());
         ex.getMessage().setHeader(Ddb2StreamConstants.EVENT_ID, 
record.eventID());
         ex.getMessage().setHeader(Ddb2StreamConstants.EVENT_NAME, 
record.eventNameAsString());
-        if (record.dynamodb() != null) {
+        if (ObjectHelper.isNotEmpty(record.dynamodb())) {
             ex.getMessage().setHeader(Ddb2StreamConstants.SEQUENCE_NUMBER, 
record.dynamodb().sequenceNumber());
             
ex.getMessage().setHeader(Ddb2StreamConstants.APPROXIMATE_CREATION_DATE_TIME,
                     record.dynamodb().approximateCreationDateTime());
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java
index c270c89f6f51..6c00fdda69d3 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/Ddb2StreamEndpoint.java
@@ -64,7 +64,7 @@ public class Ddb2StreamEndpoint extends ScheduledPollEndpoint 
implements Endpoin
     public void doStart() throws Exception {
         super.doStart();
 
-        ddbStreamClient = configuration.getAmazonDynamoDbStreamsClient() != 
null
+        ddbStreamClient = 
ObjectHelper.isNotEmpty(configuration.getAmazonDynamoDbStreamsClient())
                 ? configuration.getAmazonDynamoDbStreamsClient()
                 : 
Ddb2StreamClientFactory.getDynamoDBStreamClient(configuration);
     }
@@ -72,7 +72,7 @@ public class Ddb2StreamEndpoint extends ScheduledPollEndpoint 
implements Endpoin
     @Override
     public void doStop() throws Exception {
         if 
(ObjectHelper.isEmpty(configuration.getAmazonDynamoDbStreamsClient())) {
-            if (ddbStreamClient != null) {
+            if (ObjectHelper.isNotEmpty(ddbStreamClient)) {
                 ddbStreamClient.close();
             }
         }
@@ -119,7 +119,7 @@ public class Ddb2StreamEndpoint extends 
ScheduledPollEndpoint implements Endpoin
 
     @Override
     public Map<String, String> getServiceMetadata() {
-        if (configuration.getTableName() != null) {
+        if (ObjectHelper.isNotEmpty(configuration.getTableName())) {
             return Map.of("table", configuration.getTableName());
         }
         return null;
diff --git 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/ShardList.java
 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/ShardList.java
index 95c388c36bf8..0c791513a8d8 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/ShardList.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddbstream/ShardList.java
@@ -25,6 +25,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import software.amazon.awssdk.services.dynamodb.model.Shard;
@@ -92,7 +93,7 @@ class ShardList {
         List<Shard> sorted = new ArrayList<>(shards.values());
         Collections.sort(sorted, StartingSequenceNumberComparator.INSTANCE);
         for (Shard shard : sorted) {
-            if (shard.sequenceNumberRange().endingSequenceNumber() != null) {
+            if 
(ObjectHelper.isNotEmpty(shard.sequenceNumberRange().endingSequenceNumber())) {
                 BigInteger end = new 
BigInteger(shard.sequenceNumberRange().endingSequenceNumber());
                 // essentially: after < end or after <= end
                 if (condition.matches(atAfter, end)) {
@@ -117,7 +118,7 @@ class ShardList {
         String current = removeBefore.parentShardId();
 
         int removedShards = 0;
-        while (current != null) {
+        while (ObjectHelper.isNotEmpty(current)) {
             Shard s = shards.remove(current);
             if (s == null) {
                 current = null;

Reply via email to