Skip to content

Commit c9078fc

Browse files
committed
Compilation issue and toStringMethod for JsonNode
1 parent caf50c3 commit c9078fc

File tree

8 files changed

+89
-84
lines changed

8 files changed

+89
-84
lines changed

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -319,11 +319,10 @@ static Builder builder() {
319319
*
320320
* @param attributeName Name of the attribute.
321321
* @return value of the specified attribute in the current document as a non-null Boolean.
322-
* @throws RuntimeException
323-
* if either the attribute doesn't exist or if the attribute
324-
* value cannot be converted into a boolean value.
322+
* @throws RuntimeException if either the attribute doesn't exist or if the attribute value cannot be converted into a boolean
323+
* value.
325324
*/
326-
boolean getBoolean(String attributeName);
325+
Boolean getBoolean(String attributeName);
327326

328327
/**
329328
* Gets the value as Object for a given attribute in the current document.

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import software.amazon.awssdk.annotations.SdkInternalApi;
3636
import software.amazon.awssdk.core.SdkBytes;
3737
import software.amazon.awssdk.core.SdkNumber;
38-
import software.amazon.awssdk.core.document.Document;
3938
import software.amazon.awssdk.enhanced.dynamodb.AttributeConverter;
4039
import software.amazon.awssdk.enhanced.dynamodb.AttributeConverterProvider;
4140
import software.amazon.awssdk.enhanced.dynamodb.EnhancedType;
@@ -44,7 +43,6 @@
4443
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.StringConverterProvider;
4544
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.JsonItemAttributeConverter;
4645
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.MapAttributeConverter;
47-
import software.amazon.awssdk.protocols.json.internal.unmarshall.document.DocumentUnmarshaller;
4846
import software.amazon.awssdk.protocols.jsoncore.JsonNode;
4947
import software.amazon.awssdk.protocols.jsoncore.JsonNodeParser;
5048
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
@@ -245,8 +243,7 @@ public String getJson(String attributeName) {
245243
return null;
246244
}
247245
JsonNode jsonNode = JSON_ITEM_ATTRIBUTE_CONVERTER.transformTo(convert(objectValue, attributeConverterProviders));
248-
Document document = jsonNode.visit(new DocumentUnmarshaller());
249-
return document.toString();
246+
return jsonNode != null ? jsonNode.toString() : null;
250247
}
251248

252249

@@ -280,8 +277,7 @@ public String toJson() {
280277
.fromM(DocumentUtils.objectMapToAttributeMap(this.attributeValueObjectMap, attributeConverterProviders));
281278
JsonItemAttributeConverter jsonItemAttributeConverter = JsonItemAttributeConverter.create();
282279
JsonNode jsonNode = jsonItemAttributeConverter.transformTo(jsonMap);
283-
Document document = jsonNode.visit(new DocumentUnmarshaller());
284-
return document.toString();
280+
return jsonNode != null ? jsonNode.toString() : null;
285281
}
286282

287283
public static class DefaultBuilder implements EnhancedDocument.Builder {

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

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.junit.rules.ExpectedException;
2323
import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem;
2424
import software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema;
25-
import software.amazon.awssdk.enhanced.dynamodb.mapper.DocumentTableSchema;
2625
import software.amazon.awssdk.enhanced.dynamodb.mapper.ImmutableTableSchema;
2726
import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema;
2827
import software.amazon.awssdk.enhanced.dynamodb.mapper.testbeans.InvalidBean;
@@ -71,10 +70,4 @@ public void fromClass_invalidClassThrowsException() {
7170
exception.expectMessage("InvalidBean");
7271
TableSchema.fromClass(InvalidBean.class);
7372
}
74-
75-
@Test
76-
public void fromClass_fromDocumentSchemaBuilder() {
77-
DocumentTableSchema tableSchema = TableSchema.fromDocumentSchemaBuilder().build();
78-
assertThat(tableSchema).isInstanceOf(DocumentTableSchema.class);
79-
}
8073
}

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -412,12 +412,6 @@ void multipleGetterForDocument(){
412412
assertThat(document.getEnhancedDocument("nestedDoc").getStringSet("innerKey")).isEqualTo(getStringSet(STRINGS_ARRAY));
413413
}
414414

415-
@Test
416-
void temp(){
417-
System.out.println(UUID.randomUUID());
418-
System.out.println(UUID.randomUUID());
419-
}
420-
421415
public static class AttributeStringValueMap {
422416
Map<String, AttributeValue> attributeValueMap = new LinkedHashMap<>();
423417

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

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
import static org.hamcrest.MatcherAssert.assertThat;
2121

2222
import org.junit.jupiter.api.Test;
23-
import software.amazon.awssdk.core.exception.SdkClientException;
2423
import software.amazon.awssdk.enhanced.dynamodb.AttributeValueType;
2524
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient;
2625
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable;
26+
import software.amazon.awssdk.enhanced.dynamodb.TableMetadata;
2727
import software.amazon.awssdk.enhanced.dynamodb.TableSchema;
2828
import software.amazon.awssdk.enhanced.dynamodb.document.EnhancedDocument;
2929

@@ -35,9 +35,9 @@ public class DocumentSchemaTableTest extends LocalDynamoDbSyncTestBase {
3535

3636
private final DynamoDbTable<EnhancedDocument> mappedTable = enhancedClient.table(
3737
getConcreteTableName("table-name"),
38-
TableSchema.fromDocumentSchemaBuilder()
39-
.primaryKey("sampleHashKey", AttributeValueType.S)
40-
.sortKey("sampleSortKey", AttributeValueType.S)
38+
TableSchema.documentSchemaBuilder()
39+
.addIndexPartitionKey(TableMetadata.primaryIndexName(), "sampleHashKey", AttributeValueType.S)
40+
.addIndexSortKey("sort-index","sampleSortKey", AttributeValueType.S)
4141
.build());
4242

4343

@@ -49,9 +49,9 @@ public class DocumentSchemaTableTest extends LocalDynamoDbSyncTestBase {
4949
void createTableWithPrimaryKeyAndSortKey(){
5050
DynamoDbTable<EnhancedDocument> table = enhancedClient.table(
5151
getConcreteTableName("table-name"),
52-
TableSchema.fromDocumentSchemaBuilder()
53-
.primaryKey("sampleHashKey", AttributeValueType.S)
54-
.sortKey("sampleSortKey", AttributeValueType.S)
52+
TableSchema.documentSchemaBuilder()
53+
.addIndexPartitionKey(TableMetadata.primaryIndexName(), "sampleHashKey", AttributeValueType.S)
54+
.addIndexSortKey("sort-index","sampleSortKey", AttributeValueType.S)
5555
.build());
5656

5757

@@ -66,7 +66,7 @@ void createTableWithPrimaryKeyAndSortKey(){
6666
void createTableWithOutPrimaryKeyAndSortKey(){
6767
DynamoDbTable<EnhancedDocument> table = enhancedClient.table(
6868
getConcreteTableName("table-name"),
69-
TableSchema.fromDocumentSchemaBuilder()
69+
TableSchema.documentSchemaBuilder()
7070
.build());
7171

7272
assertThatExceptionOfType(IllegalArgumentException.class)
@@ -80,7 +80,7 @@ void createTableWithOutPrimaryKeyAndSortKey(){
8080
void createTableWithPrimaryKeyAndNOSortKey(){
8181
DynamoDbTable<EnhancedDocument> table = enhancedClient.table(
8282
getConcreteTableName("table-name"),
83-
TableSchema.fromDocumentSchemaBuilder()
83+
TableSchema.documentSchemaBuilder()
8484
.build());
8585

8686
assertThatExceptionOfType(IllegalArgumentException.class)
@@ -103,14 +103,14 @@ void putItem() throws InterruptedException {
103103
System.out.println("mappedTable.tableName() "+mappedTable.tableName());
104104

105105
mappedTable.putItem(EnhancedDocument.builder()
106-
.addString("sampleHashKey", "one_hash")
107-
.addString("sampleSortKey", "one_sort")
106+
.putString("sampleHashKey", "one_hash")
107+
.putString("sampleSortKey", "one_sort")
108108
.build());
109109

110110
Thread.sleep(2000);
111111
EnhancedDocument item = mappedTable.getItem(EnhancedDocument.builder()
112-
.addString("sampleHashKey", "one_hash")
113-
.addString("sampleSortKey", "one_sort")
112+
.putString("sampleHashKey", "one_hash")
113+
.putString("sampleSortKey", "one_sort")
114114
.build());
115115
System.out.println("item "+item.toJson());
116116
}

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

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@
2323
import software.amazon.awssdk.enhanced.dynamodb.AttributeValueType;
2424
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient;
2525
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable;
26+
import software.amazon.awssdk.enhanced.dynamodb.TableMetadata;
2627
import software.amazon.awssdk.enhanced.dynamodb.TableSchema;
28+
import software.amazon.awssdk.enhanced.dynamodb.converters.document.CustomAttributeForDocumentConverterProvider;
2729
import software.amazon.awssdk.enhanced.dynamodb.document.EnhancedDocument;
2830
import software.amazon.awssdk.enhanced.dynamodb.functionaltests.LocalDynamoDbSyncTestBase;
29-
import software.amazon.awssdk.enhanced.dynamodb.functionaltests.document.converter.CustomAttributeConverterProvider;
3031
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
3132

3233
public final class CreateTableTest extends LocalDynamoDbSyncTestBase {
@@ -44,10 +45,10 @@ void createTableWithPrimaryKeyAndSortKey() {
4445
String tableName = getConcreteTableName("table-name");
4546
DynamoDbTable<EnhancedDocument> table = enhancedClient.table(
4647
tableName,
47-
TableSchema.fromDocumentSchemaBuilder()
48-
.primaryKey("sampleHashKey", AttributeValueType.S)
49-
.sortKey("sampleSortKey", AttributeValueType.S)
50-
.attributeConverterProviders(CustomAttributeConverterProvider.create(),
48+
TableSchema.documentSchemaBuilder()
49+
.addIndexPartitionKey(TableMetadata.primaryIndexName(),"sampleHashKey", AttributeValueType.S)
50+
.addIndexSortKey("sortIndex","sampleSortKey", AttributeValueType.S)
51+
.attributeConverterProviders(CustomAttributeForDocumentConverterProvider.create(),
5152
AttributeConverterProvider.defaultProvider())
5253
.build());
5354

@@ -61,7 +62,7 @@ void createTableWithPrimaryKeyAndSortKey() {
6162
void createTableWithOutPrimaryKeyAndSortKey(){
6263
DynamoDbTable<EnhancedDocument> table = enhancedClient.table(
6364
getConcreteTableName("table-name"),
64-
TableSchema.fromDocumentSchemaBuilder()
65+
TableSchema.documentSchemaBuilder()
6566
.build());
6667

6768
assertThatExceptionOfType(IllegalArgumentException.class)
@@ -76,8 +77,8 @@ void createTableWithPrimaryKeyAndNOSortKey(){
7677
String tableName = getConcreteTableName("table-name-no-sort");
7778
DynamoDbTable<EnhancedDocument> table = enhancedClient.table(
7879
tableName,
79-
TableSchema.fromDocumentSchemaBuilder()
80-
.primaryKey("sampleHashKey", AttributeValueType.S)
80+
TableSchema.documentSchemaBuilder()
81+
.addIndexPartitionKey(TableMetadata.primaryIndexName(),"sampleHashKey", AttributeValueType.S)
8182
.build());
8283

8384
table.createTable();
@@ -92,8 +93,8 @@ void createTableWithPrimaryKeyAndNOSortKeOtherKeyy(){
9293
String tableName = getConcreteTableName("table-name-no-sort");
9394
DynamoDbTable<EnhancedDocument> table = enhancedClient.table(
9495
tableName,
95-
TableSchema.fromDocumentSchemaBuilder()
96-
.primaryKey("sampleHashKey", AttributeValueType.S)
96+
TableSchema.documentSchemaBuilder()
97+
.addIndexPartitionKey(TableMetadata.primaryIndexName(),"sampleHashKey", AttributeValueType.S)
9798
.build());
9899

99100
table.createTable();

0 commit comments

Comments
 (0)