Skip to content

Commit 01b7286

Browse files
authored
Make DynamodbAttributeValueTransformer v1 and v2 return empty list instead of null for empty list attribute. (#309)
1 parent 6785d09 commit 01b7286

File tree

4 files changed

+6
-4
lines changed

4 files changed

+6
-4
lines changed

aws-lambda-java-events-sdk-transformer/src/main/java/com/amazonaws/services/lambda/runtime/events/transformers/v1/dynamodb/DynamodbAttributeValueTransformer.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.amazonaws.services.dynamodbv2.model.AttributeValue;
44

5+
import java.util.Collections;
56
import java.util.Map;
67
import java.util.Objects;
78
import java.util.stream.Collectors;
@@ -40,7 +41,7 @@ public static AttributeValue toAttributeValueV1(final com.amazonaws.services.lam
4041
} else if (Objects.nonNull(value.getL())) {
4142
return new AttributeValue()
4243
.withL(value.getL().isEmpty()
43-
? null
44+
? Collections.emptyList()
4445
: value.getL().stream()
4546
.map(DynamodbAttributeValueTransformer::toAttributeValueV1)
4647
.collect(Collectors.toList()));

aws-lambda-java-events-sdk-transformer/src/main/java/com/amazonaws/services/lambda/runtime/events/transformers/v2/dynamodb/DynamodbAttributeValueTransformer.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import software.amazon.awssdk.core.SdkBytes;
44
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
55

6+
import java.util.Collections;
67
import java.util.Map;
78
import java.util.Objects;
89
import java.util.stream.Collectors;
@@ -52,7 +53,7 @@ public static AttributeValue toAttributeValueV2(final com.amazonaws.services.lam
5253
} else if (Objects.nonNull(value.getL())) {
5354
return AttributeValue.builder()
5455
.l(value.getL().isEmpty()
55-
? null
56+
? Collections.emptyList()
5657
: value.getL().stream()
5758
.map(DynamodbAttributeValueTransformer::toAttributeValueV2)
5859
.collect(Collectors.toList()))

aws-lambda-java-events-sdk-transformer/src/test/java/com/amazonaws/services/lambda/runtime/events/transformers/v1/dynamodb/DynamodbAttributeValueTransformerTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ public void testToAttributeValueV1_EmptyV1ObjectWhenEmpty_BS() {
303303
@Test
304304
public void testToAttributeValueV1_EmptyV1ObjectWhenEmpty_L() {
305305
com.amazonaws.services.dynamodbv2.model.AttributeValue expectedAttributeValue_v1 =
306-
new com.amazonaws.services.dynamodbv2.model.AttributeValue();
306+
new com.amazonaws.services.dynamodbv2.model.AttributeValue().withL(Collections.emptyList());
307307
Assertions.assertEquals(expectedAttributeValue_v1,
308308
DynamodbAttributeValueTransformer.toAttributeValueV1(new AttributeValue().withL()));
309309
Assertions.assertEquals(expectedAttributeValue_v1,

aws-lambda-java-events-sdk-transformer/src/test/java/com/amazonaws/services/lambda/runtime/events/transformers/v2/dynamodb/DynamodbAttributeValueTransformerTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ public void testToAttributeValueV2_EmptyV2ObjectWhenEmpty_BS() {
307307
@Test
308308
public void testToAttributeValueV2_EmptyV2ObjectWhenEmpty_L() {
309309
software.amazon.awssdk.services.dynamodb.model.AttributeValue expectedAttributeValue_v2 =
310-
software.amazon.awssdk.services.dynamodb.model.AttributeValue.builder().build();
310+
software.amazon.awssdk.services.dynamodb.model.AttributeValue.builder().l(Collections.emptyList()).build();
311311
Assertions.assertEquals(expectedAttributeValue_v2,
312312
DynamodbAttributeValueTransformer.toAttributeValueV2(new AttributeValue().withL()));
313313
Assertions.assertEquals(expectedAttributeValue_v2,

0 commit comments

Comments
 (0)