Skip to content

Commit 6a4499d

Browse files
committed
Handled Review comments
1 parent 17be3a5 commit 6a4499d

File tree

6 files changed

+31
-18
lines changed

6 files changed

+31
-18
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ static Builder builder() {
143143
* <p>
144144
* <b>Retrieving String Type for a document</b>
145145
* {@snippet :
146-
* Custom resultCustom = document.get("key", EnhancedType.of(String.class));
146+
* String resultCustom = document.get("key", EnhancedType.of(String.class));
147147
* }
148148
* <b>Retrieving Custom Type for which Convertor Provider was defined while creating the document</b>
149149
* {@snippet :
@@ -172,7 +172,7 @@ static Builder builder() {
172172
* <p>
173173
* <b>Retrieving String Type for a document</b>
174174
* {@snippet :
175-
* Custom resultCustom = document.get("key", String.class);
175+
* String resultCustom = document.get("key", String.class);
176176
* }
177177
* <b>Retrieving Custom Type for which Convertor Provider was defined while creating the document</b>
178178
* {@snippet :
@@ -238,7 +238,7 @@ static Builder builder() {
238238
* Gets the Set of String values of the given attribute in the current document.
239239
* @param attributeName Name of the attribute.
240240
* @return value of the specified attribute in the current document as a set of SdkBytes;
241-
* or null if the attribute either doesn't exist.
241+
* or null if the attribute doesn't exist.
242242
*/
243243
Set<SdkBytes> getBytesSet(String attributeName);
244244

@@ -301,7 +301,7 @@ static Builder builder() {
301301
* @param attributeName Name of the attribute.
302302
* @return value of the specified attribute in the current document as a List of {@link AttributeValue}
303303
*/
304-
List<AttributeValue> getListOfUnknownList(String attributeName);
304+
List<AttributeValue> getListOfUnknownType(String attributeName);
305305

306306
/**
307307
* Retrieves a Map with String keys and corresponding AttributeValue objects as values for a specified attribute in a

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ public boolean getBoolean(String attributeName) {
199199
}
200200

201201
@Override
202-
public List<AttributeValue> getListOfUnknownList(String attributeName) {
202+
public List<AttributeValue> getListOfUnknownType(String attributeName) {
203203
AttributeValue attributeValue = attributeValueMap.getValue().get(attributeName);
204204
if (attributeValue == null) {
205205
return null;
@@ -403,6 +403,8 @@ public Builder putJson(String attributeName, String json) {
403403

404404
@Override
405405
public Builder remove(String attributeName) {
406+
Validate.isTrue(!(attributeName == null || attributeName.trim().length() == 0),
407+
"Attribute name must not be null or empty");
406408
nonAttributeValueMap.remove(attributeName);
407409
return this;
408410
}
@@ -492,9 +494,9 @@ public int hashCode() {
492494
private static void checkAndValidateClass(Class<?> type, boolean isPut) {
493495
Validate.paramNotNull(type, "type");
494496
Validate.isTrue(!type.isAssignableFrom(List.class),
495-
String.format(VALIDATE_TYPE_ERROR, List.class.getSimpleName(), isPut ? "put" : "get", "List"));
497+
String.format(VALIDATE_TYPE_ERROR, "List", isPut ? "put" : "get", "List"));
496498
Validate.isTrue(!type.isAssignableFrom(Map.class),
497-
String.format(VALIDATE_TYPE_ERROR, Map.class.getSimpleName(), isPut ? "put" : "get", "Map"));
499+
String.format(VALIDATE_TYPE_ERROR, "Map", isPut ? "put" : "get", "Map"));
498500

499501
}
500502
}

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/DocumentTableSchema.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,13 @@ public Map<String, AttributeValue> itemToMap(EnhancedDocument item, boolean igno
112112
}
113113

114114
private List<AttributeConverterProvider> mergeAttributeConverterProviders(EnhancedDocument item) {
115-
Set<AttributeConverterProvider> providers = new LinkedHashSet<>();
116-
if (item.attributeConverterProviders() != null) {
115+
if (item.attributeConverterProviders() != null && !item.attributeConverterProviders().isEmpty()) {
116+
Set<AttributeConverterProvider> providers = new LinkedHashSet<>();
117117
providers.addAll(item.attributeConverterProviders());
118+
providers.addAll(attributeConverterProviders);
119+
return providers.stream().collect(Collectors.toList());
118120
}
119-
providers.addAll(attributeConverterProviders);
120-
return providers.stream().collect(Collectors.toList());
121+
return attributeConverterProviders;
121122
}
122123

123124
@Override

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,15 @@ void removeParameterFromDocument() {
365365
assertThat(removedAttributesDoc.isNull("nullKey")).isFalse();
366366
assertThat(removedAttributesDoc.isPresent("numberKey")).isFalse();
367367
assertThat(removedAttributesDoc.getString("stringKey")).isEqualTo("stringValue");
368+
369+
assertThatIllegalArgumentException().isThrownBy(
370+
() -> removedAttributesDoc.toBuilder().remove(""))
371+
.withMessage("Attribute name must not be null or empty");
372+
373+
374+
assertThatIllegalArgumentException().isThrownBy(
375+
() -> removedAttributesDoc.toBuilder().remove(null))
376+
.withMessage("Attribute name must not be null or empty");
368377
}
369378

370379
@Test

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,10 @@ void validateGetterMethodsOfDefaultDocument(TestData testData) {
105105
break;
106106
case N:
107107
assertThat(enhancedAttributeValue.asNumber()).isEqualTo(enhancedDocument.getNumber(key).stringValue());
108-
assertThat(enhancedAttributeValue.asNumber()).isEqualTo(enhancedDocument.get(key, SdkNumber.class));
109-
assertThat(enhancedAttributeValue.asNumber()).isEqualTo(enhancedDocument.get(key, EnhancedType.of(SdkNumber.class)));
110-
108+
assertThat(enhancedAttributeValue.asNumber()).isEqualTo(String.valueOf(enhancedDocument.get(key,
109+
SdkNumber.class)));
110+
assertThat(enhancedAttributeValue.asNumber()).isEqualTo(enhancedDocument.get(key,
111+
EnhancedType.of(SdkNumber.class)).toString());
111112
break;
112113
case B:
113114
assertThat(enhancedAttributeValue.asBytes()).isEqualTo(enhancedDocument.getBytes(key));
@@ -139,7 +140,7 @@ void validateGetterMethodsOfDefaultDocument(TestData testData) {
139140
throw new IllegalStateException("Converter not found for " + enhancedType);
140141
}
141142
assertThat(converter.transformTo(value)).isEqualTo(enhancedDocument.getList(key, enhancedType));
142-
assertThat(enhancedDocument.getListOfUnknownList(key)).isEqualTo(value.l());
143+
assertThat(enhancedDocument.getListOfUnknownType(key)).isEqualTo(value.l());
143144
break;
144145
case M:
145146
EnhancedType keyType = enhancedTypeMap.get(key).get(0);

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ public void putThenDeleteItem_usingShortcutForm() {
232232

233233
Map<String, AttributeValue> key = simpleKey();
234234

235-
docMappedtable.putItem(r -> r.item(enhancedDocument));
235+
docMappedtable.putItem(r -> r.item(enhancedDocument)).join();
236236
GetItemResponse lowLevelGetBeforeDelete = lowLevelClient.getItem(r -> r.key(key).tableName(tableName)).join();
237237

238238

@@ -261,7 +261,7 @@ public void putThenDeleteItem_usingKeyItemForm() {
261261
.putString("attribute3", "three")
262262
.build();
263263

264-
docMappedtable.putItem(enhancedDocument);
264+
docMappedtable.putItem(enhancedDocument).join();
265265
EnhancedDocument beforeDeleteResult =
266266
docMappedtable.deleteItem(enhancedDocument).join();
267267
EnhancedDocument afterDeleteResult =
@@ -394,7 +394,7 @@ public void updateOverwriteCompleteRecord_usingShortcutForm() {
394394
.putString(ATTRIBUTE_NAME_WITH_SPECIAL_CHARACTERS, "three")
395395
.build();
396396

397-
docMappedtable.putItem(enhancedDocument);
397+
docMappedtable.putItem(enhancedDocument).join();
398398
// Updating new Items other than the one present in testData
399399
EnhancedDocument.Builder updateDocBuilder = EnhancedDocument.builder()
400400
.attributeConverterProviders(defaultProvider())

0 commit comments

Comments
 (0)