Skip to content

Commit 956ccad

Browse files
committed
Removed ctor and added a builder
1 parent 816c5b6 commit 956ccad

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/document/DefaultEnhancedDocument.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
/**
5252
* Default implementation of {@link EnhancedDocument}. This class is used by SDK to create Enhanced Documents.
5353
* Internally saves attributes in an attributeValueMap which can be written to DynamoDB without further conversion.
54-
* The attribute values are retrieve by converting attributeValue from attributeValueMap at the time of get.
54+
* The attribute values are retrieved by converting attributeValue from attributeValueMap at the time of get.
5555
*/
5656
@Immutable
5757
@SdkInternalApi
@@ -75,10 +75,6 @@ public DefaultEnhancedDocument(DefaultBuilder builder) {
7575
attributeConverterProviders = ChainConverterProvider.create(builder.attributeConverterProviders);
7676
}
7777

78-
public static DefaultEnhancedDocument fromAttributeValueMap(Map<String, AttributeValue> attributeValueMap) {
79-
return new DefaultEnhancedDocument(attributeValueMap);
80-
}
81-
8278
public static DefaultBuilder builder() {
8379
return new DefaultBuilder();
8480

@@ -495,6 +491,11 @@ public Builder json(String json) {
495491
public EnhancedDocument build() {
496492
return new DefaultEnhancedDocument(this);
497493
}
494+
495+
public DefaultBuilder attributeValueMap(Map<String, AttributeValue> attributeValueMap) {
496+
this.attributeValueMap = attributeValueMap != null ? new LinkedHashMap<>(attributeValueMap) : null;
497+
return this;
498+
}
498499
}
499500

500501
@Override

services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/document/DefaultEnhancedDocumentTest.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -320,8 +320,11 @@ void validate_BuilderMethodsOfDefaultDocument(AttributeStringValueMap expectedMa
320320
void validate_GetterMethodsOfDefaultDocument(AttributeStringValueMap expectedMap,
321321
DefaultEnhancedDocument enhancedDocument,
322322
String expectedJson) {
323-
DefaultEnhancedDocument defaultEnhancedDocument = DefaultEnhancedDocument
324-
.fromAttributeValueMap(expectedMap.getAttributeValueMap());
323+
DefaultEnhancedDocument defaultEnhancedDocument = (DefaultEnhancedDocument) DefaultEnhancedDocument
324+
.builder()
325+
.attributeValueMap(expectedMap.getAttributeValueMap())
326+
.addAttributeConverterProvider(DefaultAttributeConverterProvider.create())
327+
.build();
325328

326329
validateAttributeValueMapAndDocument(expectedMap, defaultEnhancedDocument);
327330
assertThat(defaultEnhancedDocument.toJson()).isEqualTo(expectedJson);
@@ -357,8 +360,11 @@ void nullDocumentGet(){
357360
assertThat(nullDocument.isNull("nonNull")).isFalse();
358361
assertThat(nullDocument.getAttributeValueMap().get("nullDocument")).isEqualTo(AttributeValue.fromNul(true));
359362

360-
DefaultEnhancedDocument document = DefaultEnhancedDocument.fromAttributeValueMap(
361-
mapFromSimpleKeyAttributeValue(Pair.of("nullAttribute", AttributeValue.fromNul(true))));
363+
DefaultEnhancedDocument document = (DefaultEnhancedDocument) DefaultEnhancedDocument
364+
.builder().attributeValueMap(
365+
mapFromSimpleKeyAttributeValue(Pair.of("nullAttribute", AttributeValue.fromNul(true))))
366+
.addAttributeConverterProvider(DefaultAttributeConverterProvider.create())
367+
.build();
362368

363369
assertThat(document.isNull("nullAttribute")).isTrue();
364370
}

0 commit comments

Comments
 (0)