Skip to content

Commit 86b05d4

Browse files
committed
Clean-up and refactor of attribute and attribute tags classes; preparation for injection of custom converters
1 parent f1b97e7 commit 86b05d4

File tree

196 files changed

+1603
-1281
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+1603
-1281
lines changed

services-custom/dynamodb-enhanced/README.md

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ values used are also completely arbitrary.
2222
private String accountId;
2323
private int subId; // primitive types are supported
2424
private String name;
25-
private String createdDate;
25+
private Instant createdDate;
2626

2727
@DynamoDbPartitionKey
2828
public String getAccountId() { return this.accountId; }
@@ -40,8 +40,8 @@ values used are also completely arbitrary.
4040
// Defines an LSI (customers_by_date) with a sort key of 'createdDate' and also declares the
4141
// same attribute as a sort key for the GSI named 'customers_by_name'
4242
@DynamoDbSecondarySortKey(indexNames = {"customers_by_date", "customers_by_name"})
43-
public String getCreatedDate() { return this.createdDate; }
44-
public void setCreatedDate(String createdDate) { this.createdDate = createdDate; }
43+
public Instant getCreatedDate() { return this.createdDate; }
44+
public void setCreatedDate(Instant createdDate) { this.createdDate = createdDate; }
4545
}
4646
```
4747

@@ -58,24 +58,23 @@ values used are also completely arbitrary.
5858
static final TableSchema<Customer> CUSTOMER_TABLE_SCHEMA =
5959
StaticTableSchema.builder(Customer.class)
6060
.newItemSupplier(Customer::new)
61-
.attributes(
62-
stringAttribute("account_id",
63-
Customer::getAccountId,
64-
Customer::setAccountId)
65-
.as(primaryPartitionKey()),
66-
integerNumberAttribute("sub_id",
67-
Customer::getSubId,
68-
Customer::setSubId)
69-
.as(primarySortKey()),
70-
stringAttribute("name",
71-
Customer::getName,
72-
Customer::setName)
73-
.as(secondaryPartitionKey("customers_by_name")),
74-
stringAttribute("created_date",
75-
Customer::getCreatedDate,
76-
Customer::setCreatedDate)
77-
.as(secondarySortKey("customers_by_date"),
78-
secondarySortKey("customers_by_name")))
61+
.addAttribute(String.class, a -> a.name("account_id")
62+
.getter(Customer::getAccountId)
63+
.setter(Customer::setAccountId)
64+
.tags(primaryPartitionKey()))
65+
.addAttribute(Integer.class, a -> a.name("sub_id")
66+
.getter(Customer::getSubId)
67+
.setter(Customer::setSubId)
68+
.tags(primarySortKey()))
69+
.addAttribute(String.class, a -> a.name("name")
70+
.getter(Customer::getName)
71+
.setter(Customer::setName)
72+
.tags(secondaryPartitionKey("customers_by_name")))
73+
.addAttribute(Instant.class, a -> a.name("created_date")
74+
.getter(Customer::getCreatedDate)
75+
.setter(Customer::setCreatedDate)
76+
.tags(secondarySortKey("customers_by_date"),
77+
secondarySortKey("customers_by_name")))
7978
.build();
8079
```
8180

@@ -209,7 +208,8 @@ index. Here's an example of how to do this:
209208
```java
210209
DynamoDbIndex<Customer> customersByName = customerTable.index("customers_by_name");
211210
212-
Iterable<Page<Customer>> customersWithName = customersByName.query(r -> r.queryConditional(equalTo(k -> k.partitionValue("Smith"))));
211+
Iterable<Page<Customer>> customersWithName =
212+
customersByName.query(r -> r.queryConditional(equalTo(k -> k.partitionValue("Smith"))));
213213
```
214214
215215
### Non-blocking asynchronous operations
@@ -293,10 +293,11 @@ number tag a numeric attribute in the TableSchema:
293293
```
294294
Or using a StaticTableSchema:
295295
```java
296-
integerNumberAttribute("version",
297-
Customer::getVersion,
298-
Customer::setVersion)
299-
.as(version()) // Apply the 'version' tag to the attribute
296+
.addAttribute(Integer.class, a -> a.name("version")
297+
.getter(Customer::getVersion)
298+
.setter(Customer::setVersion)
299+
// Apply the 'version' tag to the attribute
300+
.tags(versionAttribute())
300301
```
301302

302303
## Advanced StaticTableSchema scenarios

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import java.time.Instant;
19-
2019
import software.amazon.awssdk.annotations.SdkPublicApi;
2120
import software.amazon.awssdk.annotations.ThreadSafe;
2221
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.InstantAsIntegerAttributeConverter;
2322
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.InstantAsStringAttributeConverter;
2423
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.StringAttributeConverter;
25-
import software.amazon.awssdk.enhanced.dynamodb.mapper.AttributeValueType;
2624
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
2725

2826
/**
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.enhanced.dynamodb.mapper;
16+
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import software.amazon.awssdk.annotations.SdkPublicApi;
1919
import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import java.util.Map;
19-
2019
import software.amazon.awssdk.annotations.SdkPublicApi;
2120
import software.amazon.awssdk.enhanced.dynamodb.extensions.ReadModification;
2221
import software.amazon.awssdk.enhanced.dynamodb.extensions.WriteModification;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package software.amazon.awssdk.enhanced.dynamodb;
1717

1818
import java.util.List;
19-
2019
import software.amazon.awssdk.annotations.SdkPublicApi;
2120

2221
/**

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.util.Collections;
1919
import java.util.HashMap;
2020
import java.util.Map;
21-
2221
import software.amazon.awssdk.annotations.SdkPublicApi;
2322
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
2423

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.util.HashMap;
2020
import java.util.Map;
2121
import java.util.Optional;
22-
2322
import software.amazon.awssdk.annotations.SdkPublicApi;
2423
import software.amazon.awssdk.core.SdkBytes;
2524
import software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues;

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@
1717

1818
import java.util.Collection;
1919
import java.util.Optional;
20-
21-
import software.amazon.awssdk.annotations.SdkProtectedApi;
20+
import software.amazon.awssdk.annotations.SdkPublicApi;
2221
import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType;
2322

2423
/**
2524
* Interface for an object the stores structural information about a DynamoDb table.
2625
*/
27-
@SdkProtectedApi
26+
@SdkPublicApi
2827
public interface TableMetadata {
2928
/**
3029
* Returns the attribute name of the partition key for an index.

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/extensions/ReadModification.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package software.amazon.awssdk.enhanced.dynamodb.extensions;
1717

1818
import java.util.Map;
19-
2019
import software.amazon.awssdk.annotations.SdkPublicApi;
2120
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
2221

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/extensions/VersionedRecordExtension.java

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,37 +21,32 @@
2121
import java.util.HashMap;
2222
import java.util.Map;
2323
import java.util.Optional;
24+
import java.util.function.Consumer;
2425
import java.util.function.Function;
25-
2626
import software.amazon.awssdk.annotations.SdkPublicApi;
27+
import software.amazon.awssdk.enhanced.dynamodb.AttributeValueType;
2728
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension;
2829
import software.amazon.awssdk.enhanced.dynamodb.Expression;
2930
import software.amazon.awssdk.enhanced.dynamodb.TableMetadata;
3031
import software.amazon.awssdk.enhanced.dynamodb.internal.operations.OperationContext;
31-
import software.amazon.awssdk.enhanced.dynamodb.mapper.AttributeTag;
32-
import software.amazon.awssdk.enhanced.dynamodb.mapper.AttributeValueType;
32+
import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTag;
33+
import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableMetadata;
3334
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
3435

3536
/**
3637
* This extension implements optimistic locking on record writes by means of a 'record version number' that is used
37-
* to automatically track each revision of the record as it is modified. To use this extension, first load it as part
38-
* of your MappedTable instantiation:
39-
*
40-
* <pre>
41-
* {@code
42-
* MappedTable.builder()
43-
* .extendWith(VersionedRecordExtension.builder().build())
44-
* .build();
45-
* }
46-
* </pre>
47-
*
38+
* to automatically track each revision of the record as it is modified.
4839
* <p>
49-
* Then create an attribute in your model that will be used to store the record version number. This attribute must
50-
* be an 'integer' type numeric (long or integer), and you need to tag it as the version attribute:
51-
*
40+
* This extension is loaded by default when you instantiate a
41+
* {@link software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient} so unless you are using a custom extension
42+
* there is no need to specify it.
5243
* <p>
53-
* ..., integerNumber("version", Customer::getVersion, Customer::setVersion).as(version()), ...
54-
*
44+
* To utilize versioned record locking, first create an attribute in your model that will be used to store the record
45+
* version number. This attribute must be an 'integer' type numeric (long or integer), and you need to tag it as the
46+
* version attribute. If you are using the {@link software.amazon.awssdk.enhanced.dynamodb.mapper.BeanTableSchema} then
47+
* you should use the {@link software.amazon.awssdk.enhanced.dynamodb.extensions.annotations.DynamoDbVersionAttribute}
48+
* annotation, otherwise if you are using the {@link software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema}
49+
* then you should use the {@link AttributeTags#versionAttribute()} static attribute tag.
5550
* <p>
5651
* Then, whenever a record is written the write operation will only succeed if the version number of the record has not
5752
* been modified since it was last read by the application. Every time a new version of the record is successfully
@@ -74,27 +69,23 @@ public static final class AttributeTags {
7469
private AttributeTags() {
7570
}
7671

77-
public static AttributeTag version() {
72+
public static StaticAttributeTag versionAttribute() {
7873
return VERSION_ATTRIBUTE;
7974
}
8075
}
8176

82-
private static class VersionAttribute extends AttributeTag {
83-
@Override
84-
protected boolean isKeyAttribute() {
85-
return true;
86-
}
87-
77+
private static class VersionAttribute implements StaticAttributeTag {
8878
@Override
89-
public Map<String, Object> customMetadataForAttribute(String attributeName,
90-
AttributeValueType attributeValueType) {
79+
public Consumer<StaticTableMetadata.Builder> modifyMetadata(String attributeName,
80+
AttributeValueType attributeValueType) {
9181
if (!AttributeValueType.N.equals(attributeValueType)) {
92-
throw new IllegalArgumentException(String.format("Attribute '%s' of type %s is not a suitable type to"
93-
+ " be used as a version attribute. Only type 'N' is supported.", attributeName,
94-
attributeValueType.name()));
82+
throw new IllegalArgumentException(String.format(
83+
"Attribute '%s' of type %s is not a suitable type to be used as a version attribute. Only type 'N' " +
84+
"is supported.", attributeName, attributeValueType.name()));
9585
}
9686

97-
return Collections.singletonMap(CUSTOM_METADATA_KEY, attributeName);
87+
return metadata -> metadata.addCustomMetadataObject(CUSTOM_METADATA_KEY, attributeName)
88+
.markAttributeAsKey(attributeName, attributeValueType);
9889
}
9990
}
10091

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/extensions/WriteModification.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package software.amazon.awssdk.enhanced.dynamodb.extensions;
1717

1818
import java.util.Map;
19-
2019
import software.amazon.awssdk.annotations.SdkPublicApi;
2120
import software.amazon.awssdk.enhanced.dynamodb.Expression;
2221
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/extensions/annotations/DynamoDbVersionAttribute.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.lang.annotation.Retention;
2020
import java.lang.annotation.RetentionPolicy;
2121
import java.lang.annotation.Target;
22-
2322
import software.amazon.awssdk.annotations.SdkPublicApi;
2423
import software.amazon.awssdk.enhanced.dynamodb.internal.extensions.VersionRecordAttributeTags;
2524
import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.BeanTableSchemaAttributeTag;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.function.Function;
2323
import java.util.function.Supplier;
2424
import java.util.stream.Collectors;
25-
2625
import software.amazon.awssdk.annotations.SdkInternalApi;
2726
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension;
2827
import software.amazon.awssdk.enhanced.dynamodb.Key;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import java.util.Iterator;
1919
import java.util.function.Function;
20-
2120
import software.amazon.awssdk.annotations.SdkInternalApi;
2221
import software.amazon.awssdk.core.pagination.sync.SdkIterable;
2322

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import java.util.Iterator;
1919
import java.util.function.Function;
20-
2120
import software.amazon.awssdk.annotations.SdkInternalApi;
2221

2322
// TODO: Consider moving to SDK core

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package software.amazon.awssdk.enhanced.dynamodb.internal;
1717

1818
import java.util.function.Function;
19-
2019
import org.reactivestreams.Subscriber;
2120
import org.reactivestreams.Subscription;
2221
import software.amazon.awssdk.annotations.SdkInternalApi;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbAsyncIndex.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import static software.amazon.awssdk.enhanced.dynamodb.internal.EnhancedClientUtils.createKeyFromItem;
1919

2020
import java.util.function.Consumer;
21-
2221
import software.amazon.awssdk.annotations.SdkInternalApi;
2322
import software.amazon.awssdk.core.async.SdkPublisher;
2423
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbAsyncIndex;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbAsyncTable.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import java.util.concurrent.CompletableFuture;
2121
import java.util.function.Consumer;
22-
2322
import software.amazon.awssdk.annotations.SdkInternalApi;
2423
import software.amazon.awssdk.core.async.SdkPublisher;
2524
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbAsyncTable;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbIndex.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import static software.amazon.awssdk.enhanced.dynamodb.internal.EnhancedClientUtils.createKeyFromItem;
1919

2020
import java.util.function.Consumer;
21-
2221
import software.amazon.awssdk.annotations.SdkInternalApi;
2322
import software.amazon.awssdk.core.pagination.sync.SdkIterable;
2423
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTable.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import static software.amazon.awssdk.enhanced.dynamodb.internal.EnhancedClientUtils.createKeyFromItem;
1919

2020
import java.util.function.Consumer;
21-
2221
import software.amazon.awssdk.annotations.SdkInternalApi;
2322
import software.amazon.awssdk.core.pagination.sync.SdkIterable;
2423
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/ExtensionResolver.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import java.util.Collections;
1919
import java.util.List;
20-
2120
import software.amazon.awssdk.annotations.SdkInternalApi;
2221
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension;
2322
import software.amazon.awssdk.enhanced.dynamodb.extensions.VersionedRecordExtension;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/conditional/BeginsWithConditional.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.HashMap;
2323
import java.util.Map;
2424
import java.util.function.UnaryOperator;
25-
2625
import software.amazon.awssdk.annotations.SdkInternalApi;
2726
import software.amazon.awssdk.enhanced.dynamodb.Expression;
2827
import software.amazon.awssdk.enhanced.dynamodb.Key;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/conditional/BetweenConditional.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.HashMap;
2323
import java.util.Map;
2424
import java.util.function.UnaryOperator;
25-
2625
import software.amazon.awssdk.annotations.SdkInternalApi;
2726
import software.amazon.awssdk.enhanced.dynamodb.Expression;
2827
import software.amazon.awssdk.enhanced.dynamodb.Key;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/conditional/EqualToConditional.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import java.util.Map;
2525
import java.util.Optional;
2626
import java.util.function.UnaryOperator;
27-
2827
import software.amazon.awssdk.annotations.SdkInternalApi;
2928
import software.amazon.awssdk.enhanced.dynamodb.Expression;
3029
import software.amazon.awssdk.enhanced.dynamodb.Key;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/conditional/SingleKeyItemConditional.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.util.HashMap;
2222
import java.util.Map;
2323
import java.util.function.UnaryOperator;
24-
2524
import software.amazon.awssdk.annotations.SdkInternalApi;
2625
import software.amazon.awssdk.enhanced.dynamodb.Expression;
2726
import software.amazon.awssdk.enhanced.dynamodb.Key;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/converter/TimeConversion.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import java.time.format.DateTimeFormatter;
2929
import java.time.format.DateTimeParseException;
3030
import java.time.temporal.TemporalQuery;
31-
3231
import software.amazon.awssdk.annotations.SdkInternalApi;
3332
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.EnhancedAttributeValue;
3433
import software.amazon.awssdk.utils.Validate;

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/converter/TypeConvertingVisitor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,11 @@
1717

1818
import java.util.List;
1919
import java.util.Map;
20-
2120
import software.amazon.awssdk.annotations.SdkInternalApi;
2221
import software.amazon.awssdk.core.SdkBytes;
2322
import software.amazon.awssdk.enhanced.dynamodb.AttributeConverter;
23+
import software.amazon.awssdk.enhanced.dynamodb.AttributeValueType;
2424
import software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.EnhancedAttributeValue;
25-
import software.amazon.awssdk.enhanced.dynamodb.mapper.AttributeValueType;
2625
import software.amazon.awssdk.utils.Validate;
2726

2827
/**

0 commit comments

Comments
 (0)