From 5cc3982e44328e990ec9f9eb32d3b50f00bdc3b5 Mon Sep 17 00:00:00 2001 From: RanVaknin <50976344+RanVaknin@users.noreply.github.com> Date: Wed, 26 Aug 2026 15:22:03 -0700 Subject: [PATCH 1/7] Add checkstyle rules fit for v2 --- .../amazon/awssdk/checkstyle-suppressions.xml | 2 + .../dynamodb/AbstractDynamoDBMapper.java | 2 + .../dynamodb/AbstractEnumMarshaller.java | 3 + .../mapper/dynamodb/ArgumentMarshaller.java | 2 + .../mapper/dynamodb/ArgumentUnmarshaller.java | 2 + .../mapper/dynamodb/AttributeTransformer.java | 2 + .../dynamodb/AttributeTransformerChain.java | 2 + .../mapper/dynamodb/BatchLoadContext.java | 2 + .../mapper/dynamodb/ConversionSchema.java | 2 + .../mapper/dynamodb/ConversionSchemas.java | 28 ++--- .../mapper/dynamodb/ConvertibleType.java | 18 +-- .../dynamodb/DynamoDBAutoGenerator.java | 2 + .../dynamodb/DynamoDBDeleteExpression.java | 2 + .../mapper/dynamodb/DynamoDBDelimited.java | 16 +-- .../mapper/dynamodb/DynamoDBMapper.java | 106 +++++++++--------- .../mapper/dynamodb/DynamoDBMapperConfig.java | 10 +- .../dynamodb/DynamoDBMapperFieldModel.java | 4 +- .../dynamodb/DynamoDBMapperTableModel.java | 84 +++++++------- .../dynamodb/DynamoDBMappingException.java | 3 + .../dynamodb/DynamoDBMappingsRegistry.java | 4 +- .../mapper/dynamodb/DynamoDBMarshaller.java | 3 + .../dynamodb/DynamoDBQueryExpression.java | 2 + .../dynamodb/DynamoDBSaveExpression.java | 2 + .../dynamodb/DynamoDBScanExpression.java | 2 + .../mapper/dynamodb/DynamoDBTableMapper.java | 16 +-- .../DynamoDBTransactionLoadExpression.java | 2 + .../DynamoDBTransactionWriteExpression.java | 2 + .../dynamodb/DynamoDBTypeConverter.java | 2 + .../DynamoDBTypeConverterFactory.java | 4 +- .../mapper/dynamodb/DynamoDBVersioned.java | 2 +- .../mapper/dynamodb/IDynamoDBMapper.java | 2 + .../awssdk/mapper/dynamodb/ItemConverter.java | 2 + .../mapper/dynamodb/JsonMarshaller.java | 2 + .../awssdk/mapper/dynamodb/KeyPair.java | 3 + .../mapper/dynamodb/MapperDateUtils.java | 8 +- .../mapper/dynamodb/MapperExceptions.java | 2 + .../awssdk/mapper/dynamodb/PaginatedList.java | 2 + .../dynamodb/PaginatedParallelScanList.java | 2 + .../mapper/dynamodb/PaginatedQueryList.java | 2 + .../mapper/dynamodb/PaginatedScanList.java | 2 + .../mapper/dynamodb/ParallelScanTask.java | 6 +- .../mapper/dynamodb/QueryResultPage.java | 2 + .../mapper/dynamodb/ReflectionUtils.java | 5 + .../awssdk/mapper/dynamodb/S3ClientCache.java | 2 + .../amazon/awssdk/mapper/dynamodb/S3Link.java | 2 + .../mapper/dynamodb/ScanResultPage.java | 2 + .../dynamodb/StandardAnnotationMaps.java | 59 +++++----- .../dynamodb/StandardBeanProperties.java | 27 +++-- .../dynamodb/StandardModelFactories.java | 25 +++-- .../dynamodb/StandardTypeConverters.java | 42 +++---- .../dynamodb/TransactionLoadRequest.java | 2 + .../dynamodb/TransactionWriteRequest.java | 2 + .../BooleanSetToNumberSetMarshaller.java | 2 + .../BooleanToBooleanMarshaller.java | 2 + .../BooleanToNumberMarshaller.java | 2 + .../ByteArraySetToBinarySetMarshaller.java | 2 + .../ByteArrayToBinaryMarshaller.java | 2 + .../ByteBufferSetToBinarySetMarshaller.java | 2 + .../ByteBufferToBinaryMarshaller.java | 2 + .../CalendarSetToStringSetMarshaller.java | 2 + .../CalendarToStringMarshaller.java | 2 + .../CollectionToListMarshaller.java | 2 + .../marshallers/CustomMarshaller.java | 2 + .../DateSetToStringSetMarshaller.java | 2 + .../marshallers/DateToStringMarshaller.java | 2 + .../marshallers/MapToMapMarshaller.java | 2 + .../NumberSetToNumberSetMarshaller.java | 2 + .../marshallers/NumberToNumberMarshaller.java | 2 + .../ObjectSetToStringSetMarshaller.java | 2 + .../marshallers/ObjectToMapMarshaller.java | 2 + .../marshallers/ObjectToStringMarshaller.java | 2 + .../marshallers/S3LinkToStringMarshaller.java | 2 + .../StringSetToStringSetMarshaller.java | 2 + .../marshallers/StringToStringMarshaller.java | 2 + .../UUIDSetToStringSetMarshaller.java | 2 + .../unmarshallers/BSUnmarshaller.java | 2 + .../dynamodb/unmarshallers/BUnmarshaller.java | 2 + .../BigDecimalSetUnmarshaller.java | 2 + .../unmarshallers/BigDecimalUnmarshaller.java | 2 + .../BigIntegerSetUnmarshaller.java | 2 + .../unmarshallers/BigIntegerUnmarshaller.java | 2 + .../unmarshallers/BooleanSetUnmarshaller.java | 2 + .../unmarshallers/BooleanUnmarshaller.java | 2 + .../ByteArraySetUnmarshaller.java | 2 + .../unmarshallers/ByteArrayUnmarshaller.java | 2 + .../ByteBufferSetUnmarshaller.java | 2 + .../unmarshallers/ByteBufferUnmarshaller.java | 2 + .../unmarshallers/ByteSetUnmarshaller.java | 2 + .../unmarshallers/ByteUnmarshaller.java | 2 + .../CalendarSetUnmarshaller.java | 2 + .../unmarshallers/CalendarUnmarshaller.java | 2 + .../unmarshallers/CustomUnmarshaller.java | 2 + .../unmarshallers/DateSetUnmarshaller.java | 2 + .../unmarshallers/DateUnmarshaller.java | 2 + .../unmarshallers/DoubleSetUnmarshaller.java | 2 + .../unmarshallers/DoubleUnmarshaller.java | 2 + .../unmarshallers/FloatSetUnmarshaller.java | 2 + .../unmarshallers/FloatUnmarshaller.java | 2 + .../unmarshallers/IntegerSetUnmarshaller.java | 2 + .../unmarshallers/IntegerUnmarshaller.java | 2 + .../dynamodb/unmarshallers/LUnmarshaller.java | 2 + .../unmarshallers/ListUnmarshaller.java | 2 + .../unmarshallers/LongSetUnmarshaller.java | 2 + .../unmarshallers/LongUnmarshaller.java | 2 + .../dynamodb/unmarshallers/MUnmarshaller.java | 2 + .../unmarshallers/MapUnmarshaller.java | 2 + .../unmarshallers/NSUnmarshaller.java | 66 +++++------ .../dynamodb/unmarshallers/NUnmarshaller.java | 66 +++++------ .../unmarshallers/NullableUnmarshaller.java | 2 + .../unmarshallers/ObjectSetUnmarshaller.java | 2 + .../unmarshallers/ObjectUnmarshaller.java | 2 + .../unmarshallers/S3LinkUnmarshaller.java | 2 + .../unmarshallers/SSUnmarshaller.java | 66 +++++------ .../dynamodb/unmarshallers/SUnmarshaller.java | 66 +++++------ .../unmarshallers/ShortSetUnmarshaller.java | 2 + .../unmarshallers/ShortUnmarshaller.java | 2 + .../unmarshallers/StringSetUnmarshaller.java | 2 + .../unmarshallers/StringUnmarshaller.java | 2 + .../unmarshallers/UUIDSetUnmarshaller.java | 2 + .../unmarshallers/UUIDUnmarshaller.java | 2 + 120 files changed, 583 insertions(+), 345 deletions(-) diff --git a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml index 4e81373b0be3..f936d537a109 100644 --- a/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml +++ b/build-tools/src/main/resources/software/amazon/awssdk/checkstyle-suppressions.xml @@ -72,4 +72,6 @@ + diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java index a47ca74fcd51..ffb4db122a89 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractDynamoDBMapper.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper.FailedBatch; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; @@ -30,6 +31,7 @@ * corresponding overload that takes a request object, which throws an * {@code UnsupportedOperationException}. */ +@SdkPublicApi public class AbstractDynamoDBMapper implements IDynamoDBMapper { private final DynamoDBMapperConfig config; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java index 707eec62c97b..2a75d0650887 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AbstractEnumMarshaller.java @@ -14,6 +14,8 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; + /** * Generic marshaller for enumerations. * @@ -28,6 +30,7 @@ * * @deprecated Replaced by {@link DynamoDBTypeConvertedEnum} */ +@SdkPublicApi @Deprecated public abstract class AbstractEnumMarshaller> implements DynamoDBMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java index 9e203df0d3b2..364430029664 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentMarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * Interface to make it possible to cache the expensive type determination * behavior. */ +@SdkPublicApi public interface ArgumentMarshaller { /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java index 96fef778fa8e..f2b42e1a9ddb 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.lang.reflect.Method; import java.text.ParseException; @@ -24,6 +25,7 @@ * type-determination behavior necessary when turning a service result back * into an object. */ +@SdkPublicApi public interface ArgumentUnmarshaller { /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java index 8efc798fc6a7..0c9a22298fc0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformer.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.Map; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -28,6 +29,7 @@ * {@code untransform} method. These methods SHOULD be inverses, such that * untransform(transform(value)) == value. */ +@SdkPublicApi public interface AttributeTransformer { /** * Parameters for the {@code transform} and {@code untransform} methods, diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java index e5ff5cbc5f11..0df0301daa53 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/AttributeTransformerChain.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -27,6 +28,7 @@ * attributes by running them through a cascading series of child * {@code AttributeTransformer} instances. */ +@SdkPublicApi public class AttributeTransformerChain implements AttributeTransformer { private final List transformers; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java index 1439b5831a0f..6338a616b8ae 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadContext.java @@ -16,6 +16,7 @@ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.Objects; import software.amazon.awssdk.services.dynamodb.model.BatchGetItemRequest; import software.amazon.awssdk.services.dynamodb.model.BatchGetItemResponse; @@ -26,6 +27,7 @@ * * @author avinam */ +@SdkPublicApi public class BatchLoadContext { /** * The BatchGetItemResponse returned by the DynamoDB client. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java index a19d7522748b..9427cb811430 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchema.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.HashMap; import java.util.Map; @@ -23,6 +24,7 @@ * Standard implementations are available in the {@link ConversionSchemas} * class. */ +@SdkPublicApi public interface ConversionSchema { /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java index 4ceaf5717b73..089f353d0f92 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BinaryAttributeMarshaller; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BinarySetAttributeMarshaller; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BooleanAttributeMarshaller; @@ -111,6 +112,7 @@ /** * Pre-defined strategies for mapping between Java types and DynamoDB types. */ +@SdkPublicApi public final class ConversionSchemas { private static final Log LOGGER = @@ -282,9 +284,9 @@ public StandardItemConverter( @Override public DynamoDBMapperFieldModel getFieldModel(Method getter) { - final ArgumentMarshaller marshaller = getMarshaller(getter); + ArgumentMarshaller marshaller = getMarshaller(getter); - final DynamoDBAttributeType attributeType; + DynamoDBAttributeType attributeType; if (marshaller instanceof StringAttributeMarshaller) { attributeType = DynamoDBAttributeType.S; } else if (marshaller instanceof NumberAttributeMarshaller) { @@ -313,8 +315,8 @@ public DynamoDBMapperFieldModel getFieldModel(Method getter) { // actually correct for @DynamoDBFlattened attributes, however, // its the best that can be done given only the method. The // proper way to get this information is using the model factory. - final StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null); - final DynamoDBMapperFieldModel.Builder builder = new DynamoDBMapperFieldModel.Builder(void.class, annotations); + StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null); + DynamoDBMapperFieldModel.Builder builder = new DynamoDBMapperFieldModel.Builder(void.class, annotations); builder.with(attributeType); return builder.build(); } @@ -339,7 +341,7 @@ public Map convert(Object object) { Map result = new HashMap(); - for (final Bean bean : StandardBeanProperties.of(clazz).map().values()) { + for (Bean bean : StandardBeanProperties.of(clazz).map().values()) { Object getterResult = bean.reflect().get(object); if (getterResult != null) { AttributeValue value = convert(bean.type().getter(), getterResult); @@ -482,7 +484,7 @@ public T unconvert( return result; } - for (final Bean bean : StandardBeanProperties.of(clazz).map().values()) { + for (Bean bean : StandardBeanProperties.of(clazz).map().values()) { AttributeValue av = value.get(bean.properties().attributeName()); if (av != null) { ArgumentUnmarshaller unmarshaller = getUnmarshaller(bean.type().getter(), bean.type().setter()); @@ -1297,8 +1299,8 @@ public AnnotationAwareMarshallerSet(MarshallerSet wrapped) { @Override public ArgumentMarshaller getMarshaller(Method getter) { - final StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null); - final DynamoDBMarshalling marshalling = annotations.actualOf(DynamoDBMarshalling.class); + StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null); + DynamoDBMarshalling marshalling = annotations.actualOf(DynamoDBMarshalling.class); if (marshalling != null) { return new CustomMarshaller(marshalling.marshallerClass()); } else if (annotations.actualOf(DynamoDBNativeBoolean.class) != null) { @@ -1326,8 +1328,8 @@ public AnnotationAwareUnmarshallerSet(UnmarshallerSet wrapped) { public ArgumentUnmarshaller getUnmarshaller( Method getter, Method setter) { - final StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null); - final DynamoDBMarshalling marshalling = annotations.actualOf(DynamoDBMarshalling.class); + StandardAnnotationMaps.FieldMap annotations = StandardAnnotationMaps.of(getter, null); + DynamoDBMarshalling marshalling = annotations.actualOf(DynamoDBMarshalling.class); if (marshalling != null) { return new CustomUnmarshaller(getter.getReturnType(), marshalling.marshallerClass()); } @@ -1438,8 +1440,8 @@ static class ItemConverterRuleFactory implements RuleFactory { private final boolean customSchema; ItemConverterRuleFactory(DynamoDBMapperConfig config, S3Link.Factory s3Links, RuleFactory typeConverters) { - final ConversionSchema.Dependencies depends = new ConversionSchema.Dependencies().with(S3ClientCache.class, s3Links.getS3ClientCache()); - final ConversionSchema schema = config.getConversionSchema(); + ConversionSchema.Dependencies depends = new ConversionSchema.Dependencies().with(S3ClientCache.class, s3Links.getS3ClientCache()); + ConversionSchema schema = config.getConversionSchema(); this.customSchema = (schema != V1 && schema != V2_COMPATIBLE && schema != V2); this.converter = schema.getConverter(depends); @@ -1486,7 +1488,7 @@ public V unconvert(final AttributeValue object) { } } - ConversionSchemas() { + private ConversionSchemas() { throw new UnsupportedOperationException(); } } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java index af820300fed6..2d51fc985dbe 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java @@ -48,11 +48,11 @@ private ConvertibleType(Type genericType, TypedMap annotations, Method getter this.attributeType = annotations.attributeType(); if (typeConverter != null) { - final ConvertibleType target = ConvertibleType.of(typeConverter); + ConvertibleType target = ConvertibleType.of(typeConverter); this.targetType = target.targetType; this.params = target.params; } else if (genericType instanceof ParameterizedType) { - final Type[] paramTypes = ((ParameterizedType)genericType).getActualTypeArguments(); + Type[] paramTypes = ((ParameterizedType)genericType).getActualTypeArguments(); this.targetType = annotations.targetType(); this.params = new ConvertibleType[paramTypes.length]; for (int i = 0; i < paramTypes.length; i++) { @@ -151,7 +151,7 @@ final Class targetType() { */ @Override public String toString() { - final StringBuilder builder = new StringBuilder(targetType().getSimpleName()); + StringBuilder builder = new StringBuilder(targetType().getSimpleName()); if (this.params.length > 0) { builder.append("<"); for (int i = 0; i < this.params.length; i++) { @@ -173,11 +173,11 @@ static ConvertibleType of(Method getter, TypedMap annotations) { * Returns the conversion type for the converter. */ private static ConvertibleType of(final DynamoDBTypeConverter converter) { - final Class clazz = converter.getClass(); + Class clazz = converter.getClass(); if (!clazz.isInterface()) { for (Class c = clazz; Object.class != c; c = c.getSuperclass()) { - for (final Type genericType : c.getGenericInterfaces()) { - final ConvertibleType type = ConvertibleType.of(genericType); + for (Type genericType : c.getGenericInterfaces()) { + ConvertibleType type = ConvertibleType.of(genericType); if (type.is(DynamoDBTypeConverter.class)) { if (type.params.length == 2 && type.param(0).targetType() != Object.class) { return type.param(0); @@ -185,7 +185,7 @@ private static ConvertibleType of(final DynamoDBTypeConverter conver } } } - final ConvertibleType type = ConvertibleType.of(clazz.getGenericSuperclass()); + ConvertibleType type = ConvertibleType.of(clazz.getGenericSuperclass()); if (type.is(DynamoDBTypeConverter.class)) { if (type.params.length > 0 && type.param(0).targetType() != Object.class) { return type.param(0); @@ -199,7 +199,7 @@ private static ConvertibleType of(final DynamoDBTypeConverter conver * Returns the conversion type for the generic type. */ private static ConvertibleType of(Type genericType) { - final Class targetType; + Class targetType; if (genericType instanceof Class) { targetType = (Class)genericType; } else if (genericType instanceof ParameterizedType) { @@ -209,7 +209,7 @@ private static ConvertibleType of(Type genericType) { } else { targetType = (Class)Object.class; } - final TypedMap annotations = StandardAnnotationMaps.of(targetType); + TypedMap annotations = StandardAnnotationMaps.of(targetType); return new ConvertibleType(genericType, annotations, null); } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java index 8c153decd4e1..c33b2c0e6e73 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import com.amazonaws.annotation.SdkInternalApi; /** @@ -38,6 +39,7 @@ * * @see software.amazon.awssdk.mapper.dynamodb.DynamoDBAutoGenerated */ +@SdkPublicApi public interface DynamoDBAutoGenerator { /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDeleteExpression.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDeleteExpression.java index ecc9943289a7..d20af107c715 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDeleteExpression.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDeleteExpression.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.HashMap; import java.util.Map; @@ -28,6 +29,7 @@ * For example, you may want to delete only if an attribute has a particular value. * @see DynamoDBMapper#delete(Object, DynamoDBDeleteExpression) */ +@SdkPublicApi public class DynamoDBDeleteExpression { /** Optional expected attributes */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDelimited.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDelimited.java index cd76958a9cf6..37d3c085a0f2 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDelimited.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBDelimited.java @@ -118,9 +118,9 @@ static final class Converter implements DynamoDBTypeConverter { private final String delimiter; public Converter(Class targetType, DynamoDBDelimited annotation) { - final BeanMap beans = new BeanMap(targetType, true); + BeanMap beans = new BeanMap(targetType, true); - final String[] names = annotation.attributeNames(); + String[] names = annotation.attributeNames(); if (names.length <= 1) { throw new DynamoDBMappingException(targetType + " missing attributeNames in @DynamoDBDelimited; must specify two or more attribute names"); @@ -140,12 +140,12 @@ public Converter(Class targetType, DynamoDBDelimited annotation) { @Override public final String convert(final T object) { - final StringBuilder string = new StringBuilder(); + StringBuilder string = new StringBuilder(); for (int i = 0; i < fields.length; i++) { if (i > 0) { string.append(delimiter); } - final String value = fields[i].get(object); + String value = fields[i].get(object); if (value != null) { if (value.contains(delimiter)) { throw new DynamoDBMappingException(String.format( @@ -161,8 +161,8 @@ public final String convert(final T object) { @Override public final T unconvert(final String string) { - final T object = StandardBeanProperties.DeclaringReflect.newInstance(targetType); - final String[] values = string.split(Pattern.quote(delimiter)); + T object = StandardBeanProperties.DeclaringReflect.newInstance(targetType); + String[] values = string.split(Pattern.quote(delimiter)); for (int i = 0, its = Math.min(fields.length, values.length); i < its; i++) { fields[i].set(object, values[i]); } @@ -181,7 +181,7 @@ private Field(final Class type, final Bean bean) { this.bean = bean; } private final String get(final T object) { - final V value = bean.reflect().get(object); + V value = bean.reflect().get(object); if (value == null) { return null; } @@ -189,7 +189,7 @@ private final String get(final T object) { } private final void set(final T object, final String string) { if (!string.isEmpty()) { - final V value = converter.unconvert(string); + V value = converter.unconvert(string); if (value != null) { bean.reflect().set(object, value); } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java index e337b22a9da1..dae861a3fcfd 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import com.amazonaws.auth.AWSCredentialsProvider; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.core.exception.SdkException; @@ -204,6 +205,7 @@ * @see DynamoDBMarshalling * @see DynamoDBMapperConfig */ +@SdkPublicApi public class DynamoDBMapper extends AbstractDynamoDBMapper { private final DynamoDbClient db; @@ -409,7 +411,7 @@ public T load(T keyObject, DynamoDBMapperConfig config) { Class clazz = (Class) keyObject.getClass(); config = mergeConfig(config); - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); String tableName = getTableName(clazz, keyObject, config); @@ -436,7 +438,7 @@ public T load(T keyObject, DynamoDBMapperConfig config) { @Override public T load(Class clazz, Object hashKey, Object rangeKey, DynamoDBMapperConfig config) { config = mergeConfig(config); - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); T keyObject = model.createKey(hashKey, rangeKey); return load(keyObject, config); } @@ -460,7 +462,7 @@ private T privateMarshallIntoObject( Class clazz = parameters.getModelClass(); Map values = untransformAttributes(parameters); - final DynamoDBMapperTableModel model = getTableModel(clazz, parameters.getMapperConfig()); + DynamoDBMapperTableModel model = getTableModel(clazz, parameters.getMapperConfig()); return model.unconvert(values); } @@ -499,13 +501,13 @@ final List marshallIntoObjects( public void save(T object, DynamoDBSaveExpression saveExpression, final DynamoDBMapperConfig config) { - final DynamoDBMapperConfig finalConfig = mergeConfig(config); + DynamoDBMapperConfig finalConfig = mergeConfig(config); @SuppressWarnings("unchecked") Class clazz = (Class) object.getClass(); String tableName = getTableName(clazz, object, finalConfig); - final DynamoDBMapperTableModel model = getTableModel(clazz, finalConfig); + DynamoDBMapperTableModel model = getTableModel(clazz, finalConfig); /* * We use a putItem request instead of updateItem request either when @@ -708,8 +710,8 @@ public SaveObjectHandler( * The general workflow of a save operation. */ public void execute() { - final DynamoDBMapperTableModel model = getTableModel((Class)clazz, saveConfig); - for ( final DynamoDBMapperFieldModel field : model.fields() ) { + DynamoDBMapperTableModel model = getTableModel((Class)clazz, saveConfig); + for ( DynamoDBMapperFieldModel field : model.fields() ) { if ( canGenerate(model, object, getLocalSaveBehavior(), field) ) { if ( field.keyType() != null || field.indexed() ) { onAutoGenerateAssignableKey(field); @@ -930,7 +932,7 @@ private void onVersionAttribute(DynamoDBMapperFieldModel field) { // update call // For new objects, insist that the value doesn't exist. // For existing ones, insist it has the old value. - final Object current = field.get(object); + Object current = field.get(object); if (current == null) { internalExpectedValueAssertions.put(field.name(), ExpectedAttributeValue.builder().exists(false).build()); @@ -1025,7 +1027,7 @@ public void delete(T object, DynamoDBDeleteExpression deleteExpression, Dyna @SuppressWarnings("unchecked") Class clazz = (Class) object.getClass(); - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); String tableName = getTableName(clazz, object, config); @@ -1038,8 +1040,8 @@ public void delete(T object, DynamoDBDeleteExpression deleteExpression, Dyna */ Map internalAssertions = new HashMap(); if ( config.getSaveBehavior() != SaveBehavior.CLOBBER && model.versioned() ) { - for ( final DynamoDBMapperFieldModel field : model.versions() ) { - final AttributeValue current = field.getAndConvert(object); + for ( DynamoDBMapperFieldModel field : model.versions() ) { + AttributeValue current = field.getAndConvert(object); if (current == null) { internalAssertions.put(field.name(), ExpectedAttributeValue.builder().exists(false).build()); } else { @@ -1088,7 +1090,7 @@ public void transactionWrite(TransactionWriteRequest transactionWriteRequest, Dy throw SdkClientException.create("Input request is null or empty"); } - final DynamoDBMapperConfig finalConfig = mergeConfig(config); + DynamoDBMapperConfig finalConfig = mergeConfig(config); List writeOperations = transactionWriteRequest.getTransactionWriteOperations(); List inMemoryUpdates = new LinkedList(); @@ -1121,7 +1123,7 @@ public List transactionLoad(TransactionLoadRequest transactionLoadReques return new ArrayList(); } - final DynamoDBMapperConfig finalConfig = mergeConfig(config); + DynamoDBMapperConfig finalConfig = mergeConfig(config); List objectsToLoad = transactionLoadRequest.getObjectsToLoad(); List transactionLoadExpressions = transactionLoadRequest.getObjectLoadExpressions(); @@ -1136,7 +1138,7 @@ public List transactionLoad(TransactionLoadRequest transactionLoadReques String tableName = getTableName(clazz, objectToLoad, finalConfig); tableNameList.add(tableName); classList.add(clazz); - final DynamoDBMapperTableModel model = getTableModel(clazz, finalConfig); + DynamoDBMapperTableModel model = getTableModel(clazz, finalConfig); Map key = model.convertKey(objectToLoad); Get.Builder getItem = Get.builder() @@ -1191,8 +1193,8 @@ public List batchWrite(Iterable objectsToWrite, Map attributeValues = new HashMap(); // Look at every getter and construct a value object for it - final DynamoDBMapperTableModel model = getTableModel(clazz, config); - for ( final DynamoDBMapperFieldModel field : model.fields() ) { + DynamoDBMapperTableModel model = getTableModel(clazz, config); + for ( DynamoDBMapperFieldModel field : model.fields() ) { AttributeValue currentValue = null; if ( canGenerate(model, toWrite, config.getSaveBehavior(), field) && !field.versioned() ) { currentValue = field.convert(field.generate(field.get(toWrite))); @@ -1221,7 +1223,7 @@ public List batchWrite(Iterable objectsToWrite, Class clazz = (Class)toDelete.getClass(); String tableName = getTableName(clazz, toDelete, config); - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); Map key = model.convertKey(toDelete); @@ -1231,7 +1233,7 @@ public List batchWrite(Iterable objectsToWrite, } // Break into chunks of 25 items and make service requests to DynamoDB - for (final StringListMap batch : requestItems.subMaps(MAX_ITEMS_PER_BATCH, true)) { + for (StringListMap batch : requestItems.subMaps(MAX_ITEMS_PER_BATCH, true)) { List failedBatches = writeOneBatch(batch, config.getBatchWriteRetryStrategy()); if (failedBatches != null) { totalFailedBatches.addAll(failedBatches); @@ -1275,7 +1277,7 @@ private List writeOneBatch( if (failedBatch.size() == 1) { failedBatches.add(failedBatch); } else { - for (final StringListMap subBatch : batch.subMaps(2, false)) { + for (StringListMap subBatch : batch.subMaps(2, false)) { failedBatches.addAll(writeOneBatch(subBatch, batchWriteRetryStrategy)); } } @@ -1365,7 +1367,7 @@ public Map> batchLoad(Iterable itemsToGet for ( Object keyObject : itemsToGet ) { Class clazz = (Class)keyObject.getClass(); - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); String tableName = getTableName(clazz, keyObject, config); classesByTableName.put(tableName, clazz); @@ -1412,7 +1414,7 @@ public Map> batchLoad(Map, List> itemsToG if ( itemsToGet != null ) { for ( Class clazz : itemsToGet.keySet() ) { if ( itemsToGet.get(clazz) != null ) { - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); for ( KeyPair keyPair : itemsToGet.get(clazz) ) { keys.add(model.createKey(keyPair.getHashKey(), keyPair.getRangeKey())); } @@ -1511,7 +1513,7 @@ private static boolean anyKeyGeneratable( final T object, final SaveBehavior saveBehavior ) { - for (final DynamoDBMapperFieldModel field : model.keys()) { + for (DynamoDBMapperFieldModel field : model.keys()) { if (canGenerate(model, object, saveBehavior, field)) { return true; } @@ -1739,7 +1741,7 @@ private List createParallelScanRequestsFromExpression(Class claz protected QueryRequest createQueryRequestFromExpression(Class clazz, DynamoDBQueryExpression xpress, DynamoDBMapperConfig config) { - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); QueryRequest.Builder req = QueryRequest.builder(); req.consistentRead(xpress.isConsistentRead()); @@ -1788,11 +1790,11 @@ private static void processKeyConditions( final DynamoDBMapperTableModel model ) { // Hash key (primary or index) condition - final Map hashKeyConditions = new LinkedHashMap(); + Map hashKeyConditions = new LinkedHashMap(); if (expression.getHashKeyValues() != null) { - for (final DynamoDBMapperFieldModel field : model.fields()) { + for (DynamoDBMapperFieldModel field : model.fields()) { if (field.keyType() == HASH || !field.globalSecondaryIndexNames(HASH).isEmpty()) { - final Object value = field.get(expression.getHashKeyValues()); + Object value = field.get(expression.getHashKeyValues()); if (value != null) { hashKeyConditions.put(field.name(), field.eq(value)); } @@ -1801,10 +1803,10 @@ private static void processKeyConditions( } // Range key (primary or index) conditions - final Map rangeKeyConditions = expression.getRangeKeyConditions(); + Map rangeKeyConditions = expression.getRangeKeyConditions(); // There should be least one hash key condition. - final String keyCondExpression = expression.getKeyConditionExpression(); + String keyCondExpression = expression.getKeyConditionExpression(); if (keyCondExpression == null) { if (isNullOrEmpty(hashKeyConditions)) { throw new IllegalArgumentException( @@ -1829,22 +1831,22 @@ private static void processKeyConditions( + rangeKeyConditions.keySet().toString() + ") are found in the query. DynamoDB service only accepts up to ONE range key condition."); } - final boolean hasRangeKeyCondition = (rangeKeyConditions != null) + boolean hasRangeKeyCondition = (rangeKeyConditions != null) && (!rangeKeyConditions.isEmpty()); - final String userProvidedIndexName = expression.getIndexName(); - final String primaryHashKeyName = model.hashKey().name(); + String userProvidedIndexName = expression.getIndexName(); + String primaryHashKeyName = model.hashKey().name(); // First collect the names of all the global/local secondary indexes that could be applied to this query. // If the user explicitly specified an index name, we also need to // 1) check the index is applicable for both hash and range key conditions // 2) choose one hash key condition if there are more than one of them boolean hasPrimaryHashKeyCondition = false; - final Map> annotatedGSIsOnHashKeys = new HashMap>(); + Map> annotatedGSIsOnHashKeys = new HashMap>(); String hashKeyNameForThisQuery = null; boolean hasPrimaryRangeKeyCondition = false; - final Set annotatedLSIsOnRangeKey = new HashSet(); - final Set annotatedGSIsOnRangeKey = new HashSet(); + Set annotatedLSIsOnRangeKey = new HashSet(); + Set annotatedGSIsOnRangeKey = new HashSet(); // Range key condition String rangeKeyNameForThisQuery = null; @@ -1852,7 +1854,7 @@ private static void processKeyConditions( for (String rangeKeyName : rangeKeyConditions.keySet()) { rangeKeyNameForThisQuery = rangeKeyName; - final DynamoDBMapperFieldModel rk = model.field(rangeKeyName); + DynamoDBMapperFieldModel rk = model.field(rangeKeyName); if (rk.keyType() == RANGE) { hasPrimaryRangeKeyCondition = true; @@ -1872,19 +1874,19 @@ private static void processKeyConditions( } } - final boolean userProvidedLSIWithRangeKeyCondition = (userProvidedIndexName != null) + boolean userProvidedLSIWithRangeKeyCondition = (userProvidedIndexName != null) && (annotatedLSIsOnRangeKey.contains(userProvidedIndexName)); - final boolean hashOnlyLSIQuery = (userProvidedIndexName != null) + boolean hashOnlyLSIQuery = (userProvidedIndexName != null) && ( !hasRangeKeyCondition ) && model.localSecondaryIndex(userProvidedIndexName) != null; - final boolean userProvidedLSI = userProvidedLSIWithRangeKeyCondition || hashOnlyLSIQuery; + boolean userProvidedLSI = userProvidedLSIWithRangeKeyCondition || hashOnlyLSIQuery; - final boolean userProvidedGSIWithRangeKeyCondition = (userProvidedIndexName != null) + boolean userProvidedGSIWithRangeKeyCondition = (userProvidedIndexName != null) && (annotatedGSIsOnRangeKey.contains(userProvidedIndexName)); - final boolean hashOnlyGSIQuery = (userProvidedIndexName != null) + boolean hashOnlyGSIQuery = (userProvidedIndexName != null) && ( !hasRangeKeyCondition ) && model.globalSecondaryIndex(userProvidedIndexName) != null; - final boolean userProvidedGSI = userProvidedGSIWithRangeKeyCondition || hashOnlyGSIQuery; + boolean userProvidedGSI = userProvidedGSIWithRangeKeyCondition || hashOnlyGSIQuery; if (userProvidedLSI && userProvidedGSI ) { throw new DynamoDBMappingException( @@ -1899,7 +1901,7 @@ private static void processKeyConditions( hasPrimaryHashKeyCondition = true; } - final DynamoDBMapperFieldModel hk = model.field(hashKeyName); + DynamoDBMapperFieldModel hk = model.field(hashKeyName); Collection annotatedGSINames = hk.globalSecondaryIndexNames(HASH); annotatedGSIsOnHashKeys.put(hashKeyName, @@ -2253,9 +2255,9 @@ public S3Link createS3Link(String s3region, String bucketName, String key) { @Override public CreateTableRequest generateCreateTableRequest(Class clazz, DynamoDBMapperConfig config) { config = mergeConfig(config); - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); - final CreateTableRequest request = new CreateTableRequest(); + CreateTableRequest request = new CreateTableRequest(); request.setTableName(getTableName(clazz, config)); request.withKeySchema(new KeySchemaElement(model.hashKey().name(), com.amazonaws.services.dynamodbv2.model.KeyType.HASH)); if (model.rangeKeyIfExists() != null) { @@ -2263,7 +2265,7 @@ public CreateTableRequest generateCreateTableRequest(Class clazz, DynamoD } request.setGlobalSecondaryIndexes(model.globalSecondaryIndexes()); request.setLocalSecondaryIndexes(model.localSecondaryIndexes()); - for (final DynamoDBMapperFieldModel field : model.fields()) { + for (DynamoDBMapperFieldModel field : model.fields()) { if (field.keyType() != null || field.indexed()) { request.withAttributeDefinitions(new AttributeDefinition() .withAttributeType(ScalarAttributeType.valueOf(field.attributeType().name())) @@ -2333,7 +2335,7 @@ private final boolean isThrottling() { private final int size() { int size = 0; - for (final List values : unprocessedItems.values()) { + for (List values : unprocessedItems.values()) { size += values.size(); } return size; @@ -2359,10 +2361,10 @@ public boolean add(final String key, final T value) { } public List> subMaps(final int size, boolean perMap) { - final LinkedList> maps = new LinkedList>(); + LinkedList> maps = new LinkedList>(); int index = 0, count = 0; - for (final Entry> entry : entrySet()) { - for (final T value : entry.getValue()) { + for (Entry> entry : entrySet()) { + for (T value : entry.getValue()) { if (index == maps.size()) { maps.add(new StringListMap()); } @@ -2427,10 +2429,10 @@ private TransactWriteItem generateTransactWriteItem(TransactionWriteOperation tr Class clazz = (Class)objectToWrite.getClass(); String tableName = getTableName(clazz, objectToWrite, config); Map attributeValues = new HashMap(); - final DynamoDBMapperTableModel model = getTableModel(clazz, config); + DynamoDBMapperTableModel model = getTableModel(clazz, config); VersionAttributeConditionExpressionGenerator versionAttributeConditionExpressionGenerator = new VersionAttributeConditionExpressionGenerator(); - for (final DynamoDBMapperFieldModel field : model.fields()) { + for (DynamoDBMapperFieldModel field : model.fields()) { AttributeValue currentValue = null; if (field.versioned()) { if (writeExpression != null) { @@ -2544,7 +2546,7 @@ private Update generateUpdate(DynamoDBMapperTableModel model, List nullValuedNonKeyAttributeNames = new ArrayList(); // Categorize modeled fields as key, non-key, and removed - for (final DynamoDBMapperFieldModel field : model.fields()) { + for (DynamoDBMapperFieldModel field : model.fields()) { if (field.keyType() != null) { keyAttributeValueMap.put(field.name(), nonKeyNonNullAttributeValueMap.remove(field.name())); } else if (nonKeyNonNullAttributeValueMap.get(field.name()) == null) { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java index 806dcb1c2402..b7e752f84b96 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import com.amazonaws.metrics.RequestMetricCollector; import software.amazon.awssdk.services.dynamodb.model.KeysAndAttributes; import software.amazon.awssdk.services.dynamodb.model.WriteRequest; @@ -40,6 +41,7 @@ * mapper.delete(obj, SaveBehavior.CLOBBER.config()); * */ +@SdkPublicApi public class DynamoDBMapperConfig { /** @@ -667,21 +669,21 @@ public static class DefaultTableNameResolver implements TableNameResolver { @Override public String getTableName(Class clazz, DynamoDBMapperConfig config) { - final TableNameOverride override = config.getTableNameOverride(); + TableNameOverride override = config.getTableNameOverride(); if (override != null) { - final String tableName = override.getTableName(); + String tableName = override.getTableName(); if (tableName != null) { return tableName; } } - final StandardBeanProperties.Beans beans = StandardBeanProperties.of(clazz); + StandardBeanProperties.Beans beans = StandardBeanProperties.of(clazz); if (beans.properties().tableName() == null) { throw new DynamoDBMappingException(clazz + " not annotated with @DynamoDBTable"); } - final String prefix = override == null ? null : override.getTableNamePrefix(); + String prefix = override == null ? null : override.getTableNamePrefix(); return prefix == null ? beans.properties().tableName() : prefix + beans.properties().tableName(); } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperFieldModel.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperFieldModel.java index 1a87cc975ec2..a683cc6b1ac9 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperFieldModel.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperFieldModel.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import static software.amazon.awssdk.mapper.dynamodb.DynamoDBAutoGenerateStrategy.ALWAYS; import static software.amazon.awssdk.mapper.dynamodb.StandardTypeConverters.Vector.LIST; import static software.amazon.awssdk.services.dynamodb.model.ComparisonOperator.BEGINS_WITH; @@ -49,6 +50,7 @@ * @param The object type. * @param The field model type. */ +@SdkPublicApi public class DynamoDBMapperFieldModel implements DynamoDBAutoGenerator, DynamoDBTypeConverter { public static enum DynamoDBAttributeType { B, N, S, BS, NS, SS, BOOL, NULL, L, M; }; @@ -417,7 +419,7 @@ public final Builder with(DynamoDBMapperFieldModel.Reflect reflect) { } public final DynamoDBMapperFieldModel build() { - final DynamoDBMapperFieldModel result = new DynamoDBMapperFieldModel(this); + DynamoDBMapperFieldModel result = new DynamoDBMapperFieldModel(this); if ((result.keyType() != null || result.indexed()) && !result.attributeType().name().matches("[BNS]")) { throw new DynamoDBMappingException(String.format( "%s[%s]; only scalar (B, N, or S) type allowed for key", diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperTableModel.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperTableModel.java index b6e90f79b9d3..02d04d772b76 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperTableModel.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperTableModel.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import static software.amazon.awssdk.services.dynamodb.model.KeyType.HASH; import static software.amazon.awssdk.services.dynamodb.model.KeyType.RANGE; import static com.amazonaws.services.dynamodbv2.model.ProjectionType.KEYS_ONLY; @@ -40,6 +41,7 @@ * * @param The object type. */ +@SdkPublicApi public final class DynamoDBMapperTableModel implements DynamoDBTypeConverter,T> { private final Map globalSecondaryIndexes; @@ -88,7 +90,7 @@ public Collection> fields() { */ @SuppressWarnings("unchecked") public DynamoDBMapperFieldModel field(final String attributeName) { - final DynamoDBMapperFieldModel field = (DynamoDBMapperFieldModel)fields.get(attributeName); + DynamoDBMapperFieldModel field = (DynamoDBMapperFieldModel)fields.get(attributeName); if (field == null) { throw new DynamoDBMappingException( targetType.getSimpleName() + "[" + attributeName + "]; no mapping for attribute by name" @@ -113,7 +115,7 @@ public Collection> keys() { */ @SuppressWarnings("unchecked") public DynamoDBMapperFieldModel hashKey() { - final DynamoDBMapperFieldModel field = (DynamoDBMapperFieldModel)keys.get(HASH); + DynamoDBMapperFieldModel field = (DynamoDBMapperFieldModel)keys.get(HASH); if (field == null) { throw new DynamoDBMappingException( targetType.getSimpleName() + "; no mapping for HASH key" @@ -130,7 +132,7 @@ public DynamoDBMapperFieldModel hashKey() { */ @SuppressWarnings("unchecked") public DynamoDBMapperFieldModel rangeKey() { - final DynamoDBMapperFieldModel field = (DynamoDBMapperFieldModel)keys.get(RANGE); + DynamoDBMapperFieldModel field = (DynamoDBMapperFieldModel)keys.get(RANGE); if (field == null) { throw new DynamoDBMappingException( targetType.getSimpleName() + "; no mapping for RANGE key" @@ -173,8 +175,8 @@ public Collection globalSecondaryIndexes() { if (globalSecondaryIndexes.isEmpty()) { return null; } - final Collection copies = new ArrayList(globalSecondaryIndexes.size()); - for (final String indexName : globalSecondaryIndexes.keySet()) { + Collection copies = new ArrayList(globalSecondaryIndexes.size()); + for (String indexName : globalSecondaryIndexes.keySet()) { copies.add(globalSecondaryIndex(indexName)); } return copies; @@ -189,10 +191,10 @@ public GlobalSecondaryIndex globalSecondaryIndex(final String indexName) { if (!globalSecondaryIndexes.containsKey(indexName)) { return null; } - final GlobalSecondaryIndex gsi = globalSecondaryIndexes.get(indexName); - final GlobalSecondaryIndex copy = new GlobalSecondaryIndex().withIndexName(gsi.getIndexName()); + GlobalSecondaryIndex gsi = globalSecondaryIndexes.get(indexName); + GlobalSecondaryIndex copy = new GlobalSecondaryIndex().withIndexName(gsi.getIndexName()); copy.withProjection(new Projection().withProjectionType(gsi.getProjection().getProjectionType())); - for (final KeySchemaElement key : gsi.getKeySchema()) { + for (KeySchemaElement key : gsi.getKeySchema()) { copy.withKeySchema(new KeySchemaElement(key.getAttributeName(), key.getKeyType())); } return copy; @@ -207,8 +209,8 @@ public Collection localSecondaryIndexes() { if (localSecondaryIndexes.isEmpty()) { return null; } - final Collection copies = new ArrayList(localSecondaryIndexes.size()); - for (final String indexName : localSecondaryIndexes.keySet()) { + Collection copies = new ArrayList(localSecondaryIndexes.size()); + for (String indexName : localSecondaryIndexes.keySet()) { copies.add(localSecondaryIndex(indexName)); } return copies; @@ -223,10 +225,10 @@ public LocalSecondaryIndex localSecondaryIndex(final String indexName) { if (!localSecondaryIndexes.containsKey(indexName)) { return null; } - final LocalSecondaryIndex lsi = localSecondaryIndexes.get(indexName); - final LocalSecondaryIndex copy = new LocalSecondaryIndex().withIndexName(lsi.getIndexName()); + LocalSecondaryIndex lsi = localSecondaryIndexes.get(indexName); + LocalSecondaryIndex copy = new LocalSecondaryIndex().withIndexName(lsi.getIndexName()); copy.withProjection(new Projection().withProjectionType(lsi.getProjection().getProjectionType())); - for (final KeySchemaElement key : lsi.getKeySchema()) { + for (KeySchemaElement key : lsi.getKeySchema()) { copy.withKeySchema(new KeySchemaElement(key.getAttributeName(), key.getKeyType())); } return copy; @@ -237,10 +239,10 @@ public LocalSecondaryIndex localSecondaryIndex(final String indexName) { */ @Override public Map convert(final T object) { - final Map map = new LinkedHashMap(); - for (final DynamoDBMapperFieldModel field : fields()) { + Map map = new LinkedHashMap(); + for (DynamoDBMapperFieldModel field : fields()) { try { - final AttributeValue value = field.getAndConvert(object); + AttributeValue value = field.getAndConvert(object); if (value != null) { map.put(field.name(), value); } @@ -258,11 +260,11 @@ public Map convert(final T object) { */ @Override public T unconvert(final Map object) { - final T result = StandardBeanProperties.DeclaringReflect.newInstance(targetType); + T result = StandardBeanProperties.DeclaringReflect.newInstance(targetType); if (!object.isEmpty()) { - for (final DynamoDBMapperFieldModel field : fields()) { + for (DynamoDBMapperFieldModel field : fields()) { try { - final AttributeValue value = object.get(field.name()); + AttributeValue value = object.get(field.name()); if (value != null) { field.unconvertAndSet(result, value); } @@ -285,13 +287,13 @@ public T unconvert(final Map object) { * @return The new instance. */ public T createKey(final H hashKey, final R rangeKey) { - final T key = StandardBeanProperties.DeclaringReflect.newInstance(targetType); + T key = StandardBeanProperties.DeclaringReflect.newInstance(targetType); if (hashKey != null) { - final DynamoDBMapperFieldModel hk = hashKey(); + DynamoDBMapperFieldModel hk = hashKey(); hk.set(key, hashKey); } if (rangeKey != null) { - final DynamoDBMapperFieldModel rk = rangeKey(); + DynamoDBMapperFieldModel rk = rangeKey(); rk.set(key, rangeKey); } return key; @@ -305,8 +307,8 @@ public T createKey(final H hashKey, final R rangeKey) { * @return The key map. */ public Map convertKey(final T key) { - final DynamoDBMapperFieldModel hk = this.hashKey(); - final DynamoDBMapperFieldModel rk = this.rangeKeyIfExists(); + DynamoDBMapperFieldModel hk = this.hashKey(); + DynamoDBMapperFieldModel rk = this.rangeKeyIfExists(); return this.convertKey(hk.get(key), (rk == null ? (R)null : rk.get(key))); } @@ -319,9 +321,9 @@ public Map convertKey(final T key) { * @return The key map. */ public Map convertKey(final H hashKey, final R rangeKey) { - final Map key = new LinkedHashMap(4); - final DynamoDBMapperFieldModel hk = this.hashKey(); - final AttributeValue hkValue = hashKey == null ? null : hk.convert(hashKey); + Map key = new LinkedHashMap(4); + DynamoDBMapperFieldModel hk = this.hashKey(); + AttributeValue hkValue = hashKey == null ? null : hk.convert(hashKey); if (hkValue != null) { key.put(hk.name(), hkValue); } else { @@ -329,8 +331,8 @@ public Map convertKey(final H hashKey, final R rang targetType.getSimpleName() + "[" + hk.name() + "]; no HASH key value present" ); } - final DynamoDBMapperFieldModel rk = this.rangeKeyIfExists(); - final AttributeValue rkValue = rangeKey == null ? null : rk.convert(rangeKey); + DynamoDBMapperFieldModel rk = this.rangeKeyIfExists(); + AttributeValue rkValue = rangeKey == null ? null : rk.convert(rangeKey); if (rkValue != null) { key.put(rk.name(), rkValue); } else if (rk != null) { @@ -371,10 +373,10 @@ public Builder with(final DynamoDBMapperFieldModel field) { } public Map globalSecondaryIndexes() { - final Map map = new LinkedHashMap(); - for (final DynamoDBMapperFieldModel field : fields.values()) { - for (final String indexName : field.globalSecondaryIndexNames(HASH)) { - final GlobalSecondaryIndex gsi = new GlobalSecondaryIndex().withIndexName(indexName); + Map map = new LinkedHashMap(); + for (DynamoDBMapperFieldModel field : fields.values()) { + for (String indexName : field.globalSecondaryIndexNames(HASH)) { + GlobalSecondaryIndex gsi = new GlobalSecondaryIndex().withIndexName(indexName); if (map.put(indexName, gsi) != null) { throw new DynamoDBMappingException( targetType.getSimpleName() + "[" + field.name() + "]; must not duplicate GSI " + indexName @@ -384,9 +386,9 @@ public Map globalSecondaryIndexes() { gsi.withKeySchema(new KeySchemaElement(field.name(), com.amazonaws.services.dynamodbv2.model.KeyType.HASH)); } } - for (final DynamoDBMapperFieldModel field : fields.values()) { - for (final String indexName : field.globalSecondaryIndexNames(RANGE)) { - final GlobalSecondaryIndex gsi = map.get(indexName); + for (DynamoDBMapperFieldModel field : fields.values()) { + for (String indexName : field.globalSecondaryIndexNames(RANGE)) { + GlobalSecondaryIndex gsi = map.get(indexName); if (gsi == null) { throw new DynamoDBMappingException( targetType.getSimpleName() + "[" + field.name() + "]; no HASH key for GSI " + indexName @@ -402,10 +404,10 @@ public Map globalSecondaryIndexes() { } public Map localSecondaryIndexes() { - final Map map = new LinkedHashMap(); - for (final DynamoDBMapperFieldModel field : fields.values()) { - for (final String indexName : field.localSecondaryIndexNames()) { - final LocalSecondaryIndex lsi = new LocalSecondaryIndex().withIndexName(indexName); + Map map = new LinkedHashMap(); + for (DynamoDBMapperFieldModel field : fields.values()) { + for (String indexName : field.localSecondaryIndexNames()) { + LocalSecondaryIndex lsi = new LocalSecondaryIndex().withIndexName(indexName); if (map.put(indexName, lsi) != null) { throw new DynamoDBMappingException( targetType.getSimpleName() + "[" + field.name() + "]; must not duplicate LSI " + indexName @@ -444,7 +446,7 @@ public Map> keys() { } public DynamoDBMapperTableModel build() { - final DynamoDBMapperTableModel result = new DynamoDBMapperTableModel(this); + DynamoDBMapperTableModel result = new DynamoDBMapperTableModel(this); if (properties.tableName() != null) { result.hashKey(); //<- make sure the hash key is present } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingException.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingException.java index aa6e52e7dffb..3434a8e6d9d0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingException.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingException.java @@ -14,10 +14,13 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; + /** * Generic exception for problems occuring when mapping DynamoDB items to Java * objects or vice versa. Excludes service exceptions. */ +@SdkPublicApi public class DynamoDBMappingException extends RuntimeException { private static final long serialVersionUID = -4883173289978517967L; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java index 312537890069..6bf2ccc70ee9 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java @@ -69,8 +69,8 @@ final Mappings mappingsOf(final Class clazz) { static final class Mappings { private final Map byNames = new HashMap(); private Mappings(final Class clazz) { - for (final Map.Entry> bean : StandardBeanProperties.of((Class)clazz).map().entrySet()) { - final Mapping mapping = new Mapping(bean.getValue()); + for (Map.Entry> bean : StandardBeanProperties.of((Class)clazz).map().entrySet()) { + Mapping mapping = new Mapping(bean.getValue()); byNames.put(mapping.getAttributeName(), mapping); } } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMarshaller.java index b5f93e6c2d48..fc3e2ef89f11 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMarshaller.java @@ -14,6 +14,8 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; + /** * Marshaller interface for storing complex types in DynamoDB as Strings. * Implementors provide methods to transform instances of a class to and from @@ -43,6 +45,7 @@ * } * */ +@SdkPublicApi @Deprecated public interface DynamoDBMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBQueryExpression.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBQueryExpression.java index bee9ed8a77fb..923a3452b751 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBQueryExpression.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBQueryExpression.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.HashMap; import java.util.Map; @@ -27,6 +28,7 @@ /** * A query expression. */ +@SdkPublicApi public class DynamoDBQueryExpression { private boolean consistentRead = true; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBSaveExpression.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBSaveExpression.java index 508c5d234a4f..fbcbe6e56605 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBSaveExpression.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBSaveExpression.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.HashMap; import java.util.Map; @@ -26,6 +27,7 @@ * For example, you may want to save only if an attribute has a particular value. * @see DynamoDBMapper#save(Object, DynamoDBSaveExpression) */ +@SdkPublicApi public class DynamoDBSaveExpression { /** Optional expected attributes */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBScanExpression.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBScanExpression.java index 57f4cd1f4e21..b8681d35bb8d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBScanExpression.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBScanExpression.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.HashMap; import java.util.Map; @@ -33,6 +34,7 @@ * * @see DynamoDBMapper#scan(Class, DynamoDBScanExpression) */ +@SdkPublicApi public class DynamoDBScanExpression { /** Optional filter to limit the results of the scan. */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java index da273ac18d7a..167ec6a3e119 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.mapper.dynamodb.DynamoDBDeleteExpression; import software.amazon.awssdk.mapper.dynamodb.DynamoDBSaveExpression; @@ -130,6 +131,7 @@ * @see software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper * @see com.amazonaws.services.dynamodbv2.AmazonDynamoDB */ +@SdkPublicApi public final class DynamoDBTableMapper { private static final Log LOG = LogFactory.getLog(DynamoDBTableMapper.class); @@ -193,7 +195,7 @@ public DynamoDBMapperFieldModel rangeKey() { * @see software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper#batchLoad */ public List batchLoad(Iterable itemsToGet) { - final Map> results = mapper.batchLoad(itemsToGet); + Map> results = mapper.batchLoad(itemsToGet); if (results.isEmpty()) { return Collections.emptyList(); } @@ -314,8 +316,8 @@ public void save(T object, DynamoDBSaveExpression saveExpression) { * @see com.amazonaws.services.dynamodbv2.model.ExpectedAttributeValue */ public void saveIfNotExists(T object) throws ConditionalCheckFailedException { - final DynamoDBSaveExpression saveExpression = new DynamoDBSaveExpression(); - for (final DynamoDBMapperFieldModel key : model.keys()) { + DynamoDBSaveExpression saveExpression = new DynamoDBSaveExpression(); + for (DynamoDBMapperFieldModel key : model.keys()) { saveExpression.withExpectedEntry(key.name(), ExpectedAttributeValue.builder() .exists(false).build()); } @@ -332,8 +334,8 @@ public void saveIfNotExists(T object) throws ConditionalCheckFailedException { * @see com.amazonaws.services.dynamodbv2.model.ExpectedAttributeValue */ public void saveIfExists(T object) throws ConditionalCheckFailedException { - final DynamoDBSaveExpression saveExpression = new DynamoDBSaveExpression(); - for (final DynamoDBMapperFieldModel key : model.keys()) { + DynamoDBSaveExpression saveExpression = new DynamoDBSaveExpression(); + for (DynamoDBMapperFieldModel key : model.keys()) { saveExpression.withExpectedEntry(key.name(), ExpectedAttributeValue.builder() .exists(true).value(key.convert(key.get(object))).build()); } @@ -370,8 +372,8 @@ public final void delete(final T object, final DynamoDBDeleteExpression deleteEx * @see com.amazonaws.services.dynamodbv2.model.ExpectedAttributeValue */ public void deleteIfExists(T object) throws ConditionalCheckFailedException { - final DynamoDBDeleteExpression deleteExpression = new DynamoDBDeleteExpression(); - for (final DynamoDBMapperFieldModel key : model.keys()) { + DynamoDBDeleteExpression deleteExpression = new DynamoDBDeleteExpression(); + for (DynamoDBMapperFieldModel key : model.keys()) { deleteExpression.withExpectedEntry(key.name(), ExpectedAttributeValue.builder() .exists(true).value(key.convert(key.get(object))).build()); } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionLoadExpression.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionLoadExpression.java index b57035344b42..359128ff3603 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionLoadExpression.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionLoadExpression.java @@ -15,6 +15,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.Map; /** @@ -23,6 +24,7 @@ * @see TransactionLoadRequest#addLoad(Object, DynamoDBTransactionLoadExpression) * @see DynamoDBMapper#transactionLoad(TransactionLoadRequest) */ +@SdkPublicApi public class DynamoDBTransactionLoadExpression { /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionWriteExpression.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionWriteExpression.java index bdaf942d392e..dd683c2c4bf3 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionWriteExpression.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTransactionWriteExpression.java @@ -15,6 +15,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import java.util.Map; @@ -25,6 +26,7 @@ * @see TransactionWriteRequest#addPut(Object, DynamoDBTransactionWriteExpression) * @see DynamoDBMapper#transactionWrite(TransactionWriteRequest) */ +@SdkPublicApi public class DynamoDBTransactionWriteExpression { /** * A condition that must be satisfied in order for a conditional write to succeed. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java index e26d7ca15137..4a8ace152127 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import com.amazonaws.annotation.SdkInternalApi; /** @@ -22,6 +23,7 @@ * @param The DynamoDB standard type. * @param The object's field/property type. */ +@SdkPublicApi public interface DynamoDBTypeConverter { /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverterFactory.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverterFactory.java index fb7e931d925b..4256d03a21f0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverterFactory.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverterFactory.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.mapper.dynamodb.StandardTypeConverters.Vector; import java.util.AbstractMap.SimpleImmutableEntry; @@ -40,6 +41,7 @@ * * @see software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperConfig */ +@SdkPublicApi public abstract class DynamoDBTypeConverterFactory { /** @@ -141,7 +143,7 @@ public void put(Class sourceType, Class targetType, DynamoDBTypeConv @SuppressWarnings("unchecked") public DynamoDBTypeConverter get(Class sourceType, Class targetType) { - for (final Entry,DynamoDBTypeConverter> entry : entrySet()) { + for (Entry,DynamoDBTypeConverter> entry : entrySet()) { if (entry.getKey().isAssignableFrom(sourceType, targetType)) { return (DynamoDBTypeConverter)entry.getValue(); } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBVersioned.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBVersioned.java index 4cf51f17e8ea..bb3d8552a793 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBVersioned.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBVersioned.java @@ -142,7 +142,7 @@ private Sequences(final Scalar scalar, final Sequence sequence) { } private static final Sequence of(final Class targetType) { - for (final Sequences s : Sequences.values()) { + for (Sequences s : Sequences.values()) { if (s.scalar.is(targetType)) { return (Sequence)s.sequence; } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/IDynamoDBMapper.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/IDynamoDBMapper.java index dba27bf1f635..cb28188147df 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/IDynamoDBMapper.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/IDynamoDBMapper.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper.FailedBatch; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperConfig.PaginationLoadingStrategy; @@ -36,6 +37,7 @@ * @see DynamoDBMapper * @see AbstractDynamoDBMapper */ +@SdkPublicApi public interface IDynamoDBMapper { /** * Get the table model for the class, using the default configuration. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ItemConverter.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ItemConverter.java index b0cd9f57c4ed..6fbfed443414 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ItemConverter.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ItemConverter.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.lang.reflect.Method; import java.util.Map; @@ -24,6 +25,7 @@ * and DynamoDB AttributeValues. Typically created by a * {@link ConversionSchema}. */ +@SdkPublicApi public interface ItemConverter { /** * Returns the metadata (e.g. name, type) of the DynamoDB attribute that the diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/JsonMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/JsonMarshaller.java index c9a1014c00fa..ecf2ab47146b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/JsonMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/JsonMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; @@ -24,6 +25,7 @@ * * @deprecated Replaced by {@link DynamoDBTypeConvertedJson} */ +@SdkPublicApi @Deprecated public class JsonMarshaller implements DynamoDBMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/KeyPair.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/KeyPair.java index 77a78cb02ccb..37111a43d46a 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/KeyPair.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/KeyPair.java @@ -14,6 +14,9 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; + +@SdkPublicApi public class KeyPair { private Object hashKey; private Object rangeKey; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtils.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtils.java index 0b8a07354fc1..df055c4f2c06 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtils.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtils.java @@ -82,8 +82,8 @@ public static Date parseISO8601Date(final String dateStringOrig) { // Joda-time can only handle up to year 292278993 but we are given // 292278994; So we parse the date string by first adjusting // the year to 292278993. Then we add 1 year back afterwards. - final long milliLess365Days = ISO8601_DATE_FORMAT.parseMillis(temp); - final long milli = milliLess365Days + MILLI_SECONDS_OF_365_DAYS; + long milliLess365Days = ISO8601_DATE_FORMAT.parseMillis(temp); + long milli = milliLess365Days + MILLI_SECONDS_OF_365_DAYS; if (milli < 0) { // overflow! // re-parse the original date string using JodaTime so as to // throw an exception with a consistent message @@ -122,8 +122,8 @@ public static String formatISO8601Date(final Date date) { *

See https://github.com/aws/aws-sdk-java/issues/233

*/ private static String tempDateStringForJodaTime(final String dateString) { - final String fromPrefix = "292278994-"; - final String toPrefix = "292278993-"; + String fromPrefix = "292278994-"; + String toPrefix = "292278993-"; return dateString.startsWith(fromPrefix) ? toPrefix + dateString.substring(fromPrefix.length()) : dateString; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperExceptions.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperExceptions.java index 85c609e92c4a..6787dd632194 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperExceptions.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperExceptions.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.core.exception.AbortedException; import software.amazon.awssdk.core.exception.SdkClientException; @@ -24,6 +25,7 @@ * becomes an {@link AbortedException}; any other checked exception becomes an * {@link SdkClientException} (the v2 analog of v1's {@code AmazonClientException}). */ +@SdkInternalApi final class MapperExceptions { private MapperExceptions() { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedList.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedList.java index 9cfb794c2c20..002d246ca1af 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedList.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedList.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperConfig.PaginationLoadingStrategy; @@ -37,6 +38,7 @@ * @param * The domain object type stored in this list. */ +@SdkPublicApi public abstract class PaginatedList implements List { private static final String UNMODIFIABLE_MESSAGE = "This is an unmodifiable list"; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedParallelScanList.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedParallelScanList.java index 14c0fc891c74..b9aa503efff5 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedParallelScanList.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedParallelScanList.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.LinkedList; import java.util.List; @@ -36,6 +37,7 @@ * The type of objects held in this list. * @see PaginatedList */ +@SdkPublicApi public class PaginatedParallelScanList extends PaginatedList { /** The current parallel scan task which contains all the information about the scan request */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedQueryList.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedQueryList.java index 9127334611cd..41f2308e3871 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedQueryList.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedQueryList.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.List; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; @@ -36,6 +37,7 @@ * The type of objects held in this list. * @see PaginatedList */ +@SdkPublicApi public class PaginatedQueryList extends PaginatedList { /** The current query request */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedScanList.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedScanList.java index 29eba071ff0f..1790c762096b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedScanList.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/PaginatedScanList.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.List; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; @@ -36,6 +37,7 @@ * The type of objects held in this list. * @see PaginatedList */ +@SdkPublicApi public class PaginatedScanList extends PaginatedList { /** The current scan request */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ParallelScanTask.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ParallelScanTask.java index d841cf4ddf20..abaa80b4e849 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ParallelScanTask.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ParallelScanTask.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.core.exception.SdkException; import software.amazon.awssdk.annotations.SdkTestInternalApi; @@ -31,6 +32,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; +@SdkPublicApi public class ParallelScanTask { /** @@ -131,8 +133,8 @@ public List getNextBatchOfScanResults() throws SdkClientException private void startScanNextPages() { for (int segment = 0; segment < totalSegments; segment++) { - final int currentSegment = segment; - final SegmentScanState currentSegmentState = segmentScanStates.get(currentSegment); + int currentSegment = segment; + SegmentScanState currentSegmentState = segmentScanStates.get(currentSegment); /** * Assert: Should never see any task in state of "Scanning" when starting a new batch. */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/QueryResultPage.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/QueryResultPage.java index 573097d325ea..6711f289929b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/QueryResultPage.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/QueryResultPage.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.List; import java.util.Map; @@ -23,6 +24,7 @@ /** * Container for a page of query results */ +@SdkPublicApi public class QueryResultPage { private List results; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java index 28a95331c218..3273f342bc44 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -24,9 +25,13 @@ /** * @deprecated Replaced by {@link StandardBeanProperties} */ +@SdkInternalApi @Deprecated class ReflectionUtils { + private ReflectionUtils() { + } + /** * Returns the field name that corresponds to the given getter method, * according to the Java naming convention. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCache.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCache.java index 4f7029f8edc5..31707d357ed5 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCache.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCache.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -34,6 +35,7 @@ * create clients on the fly. Otherwise it just return clients given to it with * {@link #useClient(AmazonS3)}. */ +@SdkPublicApi public class S3ClientCache { private final ConcurrentMap clientsByRegion = new ConcurrentHashMap(); private final Map transferManagersByRegion = new ConcurrentHashMap(); diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3Link.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3Link.java index 2882603f9d7f..97cc4f5f5c2d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3Link.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/S3Link.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -101,6 +102,7 @@ * } * */ +@SdkPublicApi public class S3Link { private final S3ClientCache s3cc; private final ID id; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ScanResultPage.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ScanResultPage.java index 3e1413d956e6..4f073b01c6c4 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ScanResultPage.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ScanResultPage.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.List; import java.util.Map; @@ -23,6 +24,7 @@ /** * Container for a page of scan results. */ +@SdkPublicApi public class ScanResultPage { private List results; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java index 58f49d969a89..027d79b363e5 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java @@ -41,11 +41,14 @@ @SdkInternalApi final class StandardAnnotationMaps { + private StandardAnnotationMaps() { + } + /** * Gets all the DynamoDB annotations for a given class. */ static final TableMap of(Class clazz) { - final TableMap annotations = new TableMap(clazz); + TableMap annotations = new TableMap(clazz); annotations.putAll(clazz); return annotations; } @@ -55,8 +58,8 @@ static final TableMap of(Class clazz) { * level annotations which override class/type level annotations. */ static final FieldMap of(Method getter, String defaultName) { - final Class targetType = (Class)getter.getReturnType(); - final String fieldName = StandardBeanProperties.fieldNameOf(getter); + Class targetType = (Class)getter.getReturnType(); + String fieldName = StandardBeanProperties.fieldNameOf(getter); Field declaredField = null; try { @@ -69,7 +72,7 @@ static final FieldMap of(Method getter, String defaultName) { defaultName = fieldName; } - final FieldMap annotations = new FieldMap(targetType, defaultName); + FieldMap annotations = new FieldMap(targetType, defaultName); annotations.putAll(targetType); annotations.putAll(declaredField); annotations.putAll(getter); @@ -87,7 +90,7 @@ private static abstract class AbstractAnnotationMap { * mapped then the meta-annotation is returned. */ final A actualOf(final Class annotationType) { - final Annotation annotation = this.map.get(annotationType); + Annotation annotation = this.map.get(annotationType); if (annotation == null || annotation.annotationType() == annotationType) { return (A)annotation; } else if (annotation.annotationType().isAnnotationPresent(annotationType)) { @@ -131,7 +134,7 @@ final Class targetType() { * if present. */ public DynamoDBAttributeType attributeType() { - final DynamoDBTyped annotation = actualOf(DynamoDBTyped.class); + DynamoDBTyped annotation = actualOf(DynamoDBTyped.class); if (annotation != null) { return annotation.value(); } @@ -145,7 +148,7 @@ public DynamoDBAttributeType attributeType() { public DynamoDBTypeConverter typeConverter() { Annotation annotation = super.map.get(DynamoDBTypeConverted.class); if (annotation != null) { - final DynamoDBTypeConverted converted = actualOf(DynamoDBTypeConverted.class); + DynamoDBTypeConverted converted = actualOf(DynamoDBTypeConverted.class); annotation = (converted == annotation ? null : annotation); return overrideOf(converted.converter(), targetType, annotation); } @@ -159,7 +162,7 @@ public DynamoDBTypeConverter typeConverter() { public DynamoDBAutoGenerator autoGenerator() { Annotation annotation = super.map.get(DynamoDBAutoGenerated.class); if (annotation != null) { - final DynamoDBAutoGenerated generated = actualOf(DynamoDBAutoGenerated.class); + DynamoDBAutoGenerated generated = actualOf(DynamoDBAutoGenerated.class); annotation = (generated == annotation ? null : annotation); DynamoDBAutoGenerator generator = overrideOf(generated.generator(), targetType, annotation); if (generator.getGenerateStrategy() == CREATE && targetType.isPrimitive()) { @@ -177,8 +180,8 @@ public DynamoDBAutoGenerator autoGenerator() { * Maps the attributes from the {@link DynamoDBFlattened} annotation. */ public Map attributes() { - final Map attributes = new LinkedHashMap(); - for (final DynamoDBAttribute a : actualOf(DynamoDBFlattened.class).attributes()) { + Map attributes = new LinkedHashMap(); + for (DynamoDBAttribute a : actualOf(DynamoDBFlattened.class).attributes()) { if (a.mappedBy().isEmpty() || a.attributeName().isEmpty()) { throw new DynamoDBMappingException("@DynamoDBFlattened must specify mappedBy and attributeName"); } else if (attributes.put(a.mappedBy(), a.attributeName()) != null) { @@ -224,7 +227,7 @@ public DynamoDBAttributeType attributeType() { */ @Override public String tableName() { - final DynamoDBTable annotation = actualOf(DynamoDBTable.class); + DynamoDBTable annotation = actualOf(DynamoDBTable.class); if (annotation != null && !annotation.tableName().isEmpty()) { return annotation.tableName(); } @@ -255,7 +258,7 @@ public boolean ignored() { */ @Override public DynamoDBAttributeType attributeType() { - final DynamoDBScalarAttribute annotation = actualOf(DynamoDBScalarAttribute.class); + DynamoDBScalarAttribute annotation = actualOf(DynamoDBScalarAttribute.class); if (annotation != null) { if (Set.class.isAssignableFrom(targetType())) { return DynamoDBAttributeType.valueOf(annotation.type().name() + "S"); @@ -271,35 +274,35 @@ public DynamoDBAttributeType attributeType() { */ @Override public String attributeName() { - final DynamoDBHashKey hashKey = actualOf(DynamoDBHashKey.class); + DynamoDBHashKey hashKey = actualOf(DynamoDBHashKey.class); if (hashKey != null && !hashKey.attributeName().isEmpty()) { return hashKey.attributeName(); } - final DynamoDBIndexHashKey indexHashKey = actualOf(DynamoDBIndexHashKey.class); + DynamoDBIndexHashKey indexHashKey = actualOf(DynamoDBIndexHashKey.class); if (indexHashKey != null && !indexHashKey.attributeName().isEmpty()) { return indexHashKey.attributeName(); } - final DynamoDBRangeKey rangeKey = actualOf(DynamoDBRangeKey.class); + DynamoDBRangeKey rangeKey = actualOf(DynamoDBRangeKey.class); if (rangeKey != null && !rangeKey.attributeName().isEmpty()) { return rangeKey.attributeName(); } - final DynamoDBIndexRangeKey indexRangeKey = actualOf(DynamoDBIndexRangeKey.class); + DynamoDBIndexRangeKey indexRangeKey = actualOf(DynamoDBIndexRangeKey.class); if (indexRangeKey != null && !indexRangeKey.attributeName().isEmpty()) { return indexRangeKey.attributeName(); } - final DynamoDBAttribute attribute = actualOf(DynamoDBAttribute.class); + DynamoDBAttribute attribute = actualOf(DynamoDBAttribute.class); if (attribute != null && !attribute.attributeName().isEmpty()) { return attribute.attributeName(); } - final DynamoDBVersionAttribute versionAttribute = actualOf(DynamoDBVersionAttribute.class); + DynamoDBVersionAttribute versionAttribute = actualOf(DynamoDBVersionAttribute.class); if (versionAttribute != null && !versionAttribute.attributeName().isEmpty()) { return versionAttribute.attributeName(); } - final DynamoDBScalarAttribute scalarAttribute = actualOf(DynamoDBScalarAttribute.class); + DynamoDBScalarAttribute scalarAttribute = actualOf(DynamoDBScalarAttribute.class); if (scalarAttribute != null && !scalarAttribute.attributeName().isEmpty()) { return scalarAttribute.attributeName(); } - final DynamoDBNamed annotation = actualOf(DynamoDBNamed.class); + DynamoDBNamed annotation = actualOf(DynamoDBNamed.class); if (annotation != null && !annotation.value().isEmpty()) { return annotation.value(); } @@ -311,7 +314,7 @@ public String attributeName() { */ @Override public KeyType keyType() { - final DynamoDBKeyed annotation = actualOf(DynamoDBKeyed.class); + DynamoDBKeyed annotation = actualOf(DynamoDBKeyed.class); if (annotation != null) { return annotation.value(); } @@ -331,8 +334,8 @@ public boolean versioned() { */ @Override public Map> globalSecondaryIndexNames() { - final Map> gsis = new EnumMap>(KeyType.class); - final DynamoDBIndexHashKey indexHashKey = actualOf(DynamoDBIndexHashKey.class); + Map> gsis = new EnumMap>(KeyType.class); + DynamoDBIndexHashKey indexHashKey = actualOf(DynamoDBIndexHashKey.class); if (indexHashKey != null) { if (!indexHashKey.globalSecondaryIndexName().isEmpty()) { if (indexHashKey.globalSecondaryIndexNames().length > 0) { @@ -345,7 +348,7 @@ public Map> globalSecondaryIndexNames() { throw new DynamoDBMappingException("@DynamoDBIndexHashKey must specify one of HASH GSI name/names"); } } - final DynamoDBIndexRangeKey indexRangeKey = actualOf(DynamoDBIndexRangeKey.class); + DynamoDBIndexRangeKey indexRangeKey = actualOf(DynamoDBIndexRangeKey.class); if (indexRangeKey != null) { if (!indexRangeKey.globalSecondaryIndexName().isEmpty()) { if (indexRangeKey.globalSecondaryIndexNames().length > 0) { @@ -369,7 +372,7 @@ public Map> globalSecondaryIndexNames() { */ @Override public List localSecondaryIndexNames() { - final DynamoDBIndexRangeKey annotation = actualOf(DynamoDBIndexRangeKey.class); + DynamoDBIndexRangeKey annotation = actualOf(DynamoDBIndexRangeKey.class); if (annotation != null) { if (!annotation.localSecondaryIndexName().isEmpty()) { if (annotation.localSecondaryIndexNames().length > 0) { @@ -411,11 +414,11 @@ public boolean putIfAnnotated(Class annotationType, Annota * Puts all DynamoDB annotations and meta-annotations in the map. */ public Annotations putAll(Annotation ... annotations) { - for (final Annotation a1 : annotations) { + for (Annotation a1 : annotations) { putIfAnnotated(a1.annotationType(), a1); - for (final Annotation a2 : a1.annotationType().getAnnotations()) { + for (Annotation a2 : a1.annotationType().getAnnotations()) { if (putIfAnnotated(a2.annotationType(), a1)) { - for (final Annotation a3 : a2.annotationType().getAnnotations()) { + for (Annotation a3 : a2.annotationType().getAnnotations()) { putIfAnnotated(a3.annotationType(), a2); } } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java index 736564e039a1..04382430a5d7 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java @@ -34,6 +34,9 @@ @SdkInternalApi final class StandardBeanProperties { + private StandardBeanProperties() { + } + /** * Returns the bean mappings for a given class (caches the results). */ @@ -51,8 +54,8 @@ private static final class CachedBeans { private final Beans getBeans(Class clazz) { if (!cache.containsKey(clazz)) { - final TableMap annotations = StandardAnnotationMaps.of(clazz); - final BeanMap map = new BeanMap(clazz, false); + TableMap annotations = StandardAnnotationMaps.of(clazz); + BeanMap map = new BeanMap(clazz, false); cache.putIfAbsent(clazz, new Beans(annotations, map)); } return cache.get(clazz); @@ -139,7 +142,7 @@ public void set(T object, V value) { static Method setterOf(Method getter) { try { - final String name = "set" + getter.getName().replaceFirst("^(get|is)",""); + String name = "set" + getter.getName().replaceFirst("^(get|is)",""); return getter.getDeclaringClass().getMethod(name, getter.getReturnType()); } catch (final Exception no) {} return null; @@ -162,7 +165,7 @@ private DeclaringReflect(Method getter, Reflect declaring, Class targetT @Override public V get(T object) { - final T declaringObject = declaring.get(object); + T declaringObject = declaring.get(object); if (declaringObject == null) { return null; } @@ -199,11 +202,11 @@ static final class BeanMap extends LinkedHashMap> { } private void putAll(Class clazz, boolean inherited) { - for (final Method method : clazz.getMethods()) { + for (Method method : clazz.getMethods()) { if (canMap(method, inherited)) { - final FieldMap annotations = StandardAnnotationMaps.of(method, null); + FieldMap annotations = StandardAnnotationMaps.of(method, null); if (!annotations.ignored()) { - final Reflect reflect = new MethodReflect(method); + Reflect reflect = new MethodReflect(method); putOrFlatten(annotations, reflect, method); } } @@ -214,7 +217,7 @@ private void putOrFlatten(FieldMap annotations, Reflect reflect, Method if (annotations.flattened()) { flatten((Class)annotations.targetType(), annotations.attributes(), (Reflect)reflect); } else { - final Bean bean = new Bean(annotations, reflect, getter); + Bean bean = new Bean(annotations, reflect, getter); if (put(bean.properties().attributeName(), bean) != null) { throw new DynamoDBMappingException("duplicate attribute name " + bean.properties().attributeName()); } @@ -222,15 +225,15 @@ private void putOrFlatten(FieldMap annotations, Reflect reflect, Method } private void flatten(Class targetType, Map attributes, Reflect declaring) { - for (final Method method : targetType.getMethods()) { + for (Method method : targetType.getMethods()) { if (canMap(method, true)) { String name = fieldNameOf(method); if ((name = attributes.remove(name)) == null) { continue; } - final FieldMap annotations = StandardAnnotationMaps.of(method, name); + FieldMap annotations = StandardAnnotationMaps.of(method, name); if (!annotations.ignored()) { - final Reflect reflect = new DeclaringReflect(method, declaring, targetType); + Reflect reflect = new DeclaringReflect(method, declaring, targetType); putOrFlatten(annotations, reflect, method); } } @@ -262,7 +265,7 @@ private boolean canMap(Method method, boolean inherited) { * Gets the field name given the getter method. */ static final String fieldNameOf(Method getter) { - final String name = getter.getName().replaceFirst("^(get|is)",""); + String name = getter.getName().replaceFirst("^(get|is)",""); return StringUtils.lowerCase(name.substring(0, 1)) + name.substring(1); } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java index fb7379cce0bb..0f1cad936267 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java @@ -57,6 +57,9 @@ @SdkInternalApi final class StandardModelFactories { + private StandardModelFactories() { + } + private static final Log LOG = LogFactory.getLog(StandardModelFactories.class); /** @@ -80,7 +83,7 @@ private StandardModelFactory(S3Link.Factory s3Links) { @Override public TableFactory getTableFactory(DynamoDBMapperConfig config) { - final ConversionSchema schema = config.getConversionSchema(); + ConversionSchema schema = config.getConversionSchema(); if (!cache.containsKey(schema)) { RuleFactory rules = rulesOf(config, s3Links, this); rules = new ConversionSchemas.ItemConverterRuleFactory(config, s3Links, rules); @@ -118,7 +121,7 @@ public DynamoDBMapperTableModel getTable(Class clazz) { private static final class TableBuilder extends DynamoDBMapperTableModel.Builder { private TableBuilder(Class clazz, Beans beans, RuleFactory rules) { super(clazz, beans.properties()); - for (final Bean bean : beans.map().values()) { + for (Bean bean : beans.map().values()) { try { with(new FieldBuilder(clazz, bean, rules.getRule(bean.type())).build()); } catch (final RuntimeException e) { @@ -155,14 +158,14 @@ private FieldBuilder(Class clazz, Bean bean, Rule rule) { * Creates a new set of conversion rules based on the configuration. */ private static final RuleFactory rulesOf(DynamoDBMapperConfig config, S3Link.Factory s3Links, DynamoDBMapperModelFactory models) { - final boolean ver1 = (config.getConversionSchema() == ConversionSchemas.V1); - final boolean ver2 = (config.getConversionSchema() == ConversionSchemas.V2); - final boolean v2Compatible = (config.getConversionSchema() == ConversionSchemas.V2_COMPATIBLE); + boolean ver1 = (config.getConversionSchema() == ConversionSchemas.V1); + boolean ver2 = (config.getConversionSchema() == ConversionSchemas.V2); + boolean v2Compatible = (config.getConversionSchema() == ConversionSchemas.V2_COMPATIBLE); - final DynamoDBTypeConverterFactory.Builder scalars = config.getTypeConverterFactory().override(); + DynamoDBTypeConverterFactory.Builder scalars = config.getTypeConverterFactory().override(); scalars.with(String.class, S3Link.class, s3Links); - final Rules factory = new Rules(scalars.build()); + Rules factory = new Rules(scalars.build()); factory.add(factory.new NativeType(!ver1)); factory.add(factory.new V2CompatibleBool(v2Compatible)); factory.add(factory.new NativeBool(ver2)); @@ -200,7 +203,7 @@ private void add(Rule rule) { @Override public Rule getRule(ConvertibleType type) { - for (final Rule rule : rules) { + for (Rule rule : rules) { if (rule.isAssignableFrom(type)) { return rule; } @@ -408,7 +411,7 @@ public List get(AttributeValue value) { if (!value.hasBs()) { return null; } - final List result = new ArrayList(value.bs().size()); + List result = new ArrayList(value.bs().size()); for (SdkBytes sb : value.bs()) { result.add(MapperBinaryUtils.toWritableByteBuffer(sb)); } @@ -416,7 +419,7 @@ public List get(AttributeValue value) { } @Override public AttributeValue build(List o) { - final List sdkBytes = + List sdkBytes = new ArrayList(o.size()); for (ByteBuffer bb : o) { sdkBytes.add(SdkBytes.fromByteBuffer(bb)); @@ -728,7 +731,7 @@ public AttributeValue convert(final S o) { public abstract S get(AttributeValue o); @Override public S unconvert(final AttributeValue o) { - final S value = get(o); + S value = get(o); if (value == null && o.nul() == null) { throw new DynamoDBMappingException("expected " + attributeType + " in value " + o); } diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java index d3511958ae67..c59ab0e4bc52 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java @@ -61,9 +61,9 @@ static DynamoDBTypeConverterFactory factory() { */ @Override public DynamoDBTypeConverter getConverter(Class sourceType, Class targetType) { - final Scalar source = Scalar.of(sourceType), target = Scalar.of(targetType); - final Converter toSource = source.getConverter(sourceType, target.type()); - final Converter toTarget = target.getConverter(targetType, source.type()); + Scalar source = Scalar.of(sourceType), target = Scalar.of(targetType); + Converter toSource = source.getConverter(sourceType, target.type()); + Converter toTarget = target.getConverter(targetType, source.type()); return new DynamoDBTypeConverter() { @Override public final S convert(final T o) { @@ -347,7 +347,7 @@ final Class type() { * supertype of the specified target class. */ static Scalar of(Class type) { - for (final Scalar scalar : Scalar.values()) { + for (Scalar scalar : Scalar.values()) { if (scalar.is(type)) { return scalar; } @@ -379,16 +379,16 @@ public final List unconvert(final List o) { } List convert(Collection o, DynamoDBTypeConverter scalar) { - final List vector = new ArrayList(o.size()); - for (final T t : o) { + List vector = new ArrayList(o.size()); + for (T t : o) { vector.add(scalar.convert(t)); } return vector; } List unconvert(Collection o, DynamoDBTypeConverter scalar) { - final List vector = new ArrayList(o.size()); - for (final S s : o) { + List vector = new ArrayList(o.size()); + for (S s : o) { vector.add(scalar.unconvert(s)); } return vector; @@ -419,16 +419,16 @@ public final Map unconvert(final Map o) { } Map convert(Map o, DynamoDBTypeConverter scalar) { - final Map vector = new LinkedHashMap(); - for (final Map.Entry t : o.entrySet()) { + Map vector = new LinkedHashMap(); + for (Map.Entry t : o.entrySet()) { vector.put(t.getKey(), scalar.convert(t.getValue())); } return vector; } Map unconvert(Map o, DynamoDBTypeConverter scalar) { - final Map vector = new LinkedHashMap(); - for (final Map.Entry s : o.entrySet()) { + Map vector = new LinkedHashMap(); + for (Map.Entry s : o.entrySet()) { vector.put(s.getKey(), scalar.unconvert(s.getValue())); } return vector; @@ -458,8 +458,8 @@ public Collection unconvert(final List o) { } Set unconvert(Collection o, DynamoDBTypeConverter scalar) { - final Set vector = new LinkedHashSet(); - for (final S s : o) { + Set vector = new LinkedHashSet(); + for (S s : o) { if (vector.add(scalar.unconvert(s)) == false) { throw new DynamoDBMappingException("duplicate value (" + s + ")"); } @@ -502,7 +502,7 @@ private boolean isAssignableFrom(Class type) { @SuppressWarnings("unchecked") private Converter getConverter(Class targetType) { - for (final Map.Entry,Converter> entry : entrySet()) { + for (Map.Entry,Converter> entry : entrySet()) { if (entry.getKey().isAssignableFrom(targetType)) { return (Converter)entry.getValue(); } @@ -583,7 +583,7 @@ public final byte[] convert(final ByteBuffer o) { if (o.hasArray()) { return o.array(); } - final byte[] value = new byte[o.remaining()]; + byte[] value = new byte[o.remaining()]; o.get(value); return value; } @@ -611,7 +611,7 @@ public final ByteBuffer convert(final byte[] o) { private static final ToByteBuffer FromUuid = new ToByteBuffer() { @Override public final ByteBuffer convert(final java.util.UUID o) { - final ByteBuffer value = ByteBuffer.allocate(16); + ByteBuffer value = ByteBuffer.allocate(16); value.putLong(o.getMostSignificantBits()).putLong(o.getLeastSignificantBits()); value.position(0); return value; @@ -626,7 +626,7 @@ private static abstract class ToCalendar extends Converter { private static final ToCalendar FromDate = new ToCalendar() { @Override public final Calendar convert(final Date o) { - final Calendar value = Calendar.getInstance(); + Calendar value = Calendar.getInstance(); value.setTime(o); return value; } @@ -781,7 +781,7 @@ private static abstract class ToLocale extends Converter { private static final ToLocale FromString = new ToLocale() { @Override public final Locale convert(final String o) { - final String[] value = o.split("-", 3); + String[] value = o.split("-", 3); if (value.length == 3) return new Locale(value[0], value[1], value[2]); if (value.length == 2) return new Locale(value[0], value[1]); return new Locale(value[0]); //JDK7+: return Locale.forLanguageTag(o); @@ -869,7 +869,7 @@ public final String convert(final Enum o) { private static final ToString FromLocale = new ToString() { @Override public final String convert(final Locale o) { - final StringBuilder value = new StringBuilder(o.getLanguage()); + StringBuilder value = new StringBuilder(o.getLanguage()); if (!o.getCountry().isEmpty() || !o.getVariant().isEmpty()) { value.append("-").append(o.getCountry()); } @@ -982,7 +982,7 @@ public final Object convert(final Object o) { */ static abstract class Converter { final Converter join(final Converter target) { - final Converter source = this; + Converter source = this; return new Converter() { @Override public S convert(final U o) { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java index 56d6bf37f0fc..f9d303ec34dd 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java @@ -15,6 +15,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.ArrayList; import java.util.List; @@ -23,6 +24,7 @@ /** * Represents objects to load using {@link DynamoDBMapper#transactionLoad(TransactionLoadRequest)} operation. */ +@SdkPublicApi @NotThreadSafe public class TransactionLoadRequest { /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java index 1a64d6025feb..564831f279d7 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java @@ -15,6 +15,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.annotations.SdkPublicApi; import java.util.ArrayList; import java.util.List; @@ -24,6 +25,7 @@ /** * Represents objects to write using {@link DynamoDBMapper#transactionWrite(TransactionWriteRequest)} operation. */ +@SdkPublicApi @NotThreadSafe public class TransactionWriteRequest { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanSetToNumberSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanSetToNumberSetMarshaller.java index 7881f2840c27..09bf1a42a4b4 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanSetToNumberSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanSetToNumberSetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -27,6 +28,7 @@ * Retained for backwards compatibility with older versions of the mapper which * don't know about the DynamoDB BOOL type. */ +@SdkInternalApi public class BooleanSetToNumberSetMarshaller implements NumberSetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToBooleanMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToBooleanMarshaller.java index 74f88fbc2006..bf4c893703ca 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToBooleanMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToBooleanMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BooleanAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -21,6 +22,7 @@ * A marshaller that marshals Java {@code Boolean} objects to Dynamodb-native * {@code BOOL} attribute values. */ +@SdkInternalApi public class BooleanToBooleanMarshaller implements BooleanAttributeMarshaller { private static final BooleanToBooleanMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToNumberMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToNumberMarshaller.java index 2e84c325defd..8fef5acbf996 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToNumberMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToNumberMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.NumberAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -23,6 +24,7 @@ * for backwards compatibility with older versions of the mapper which don't * know about the DynamoDB BOOL type. */ +@SdkInternalApi public class BooleanToNumberMarshaller implements NumberAttributeMarshaller { private static final BooleanToNumberMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArraySetToBinarySetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArraySetToBinarySetMarshaller.java index 6311efb5bfe3..339cf9ed995d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArraySetToBinarySetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArraySetToBinarySetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; @@ -27,6 +28,7 @@ * A marshaller that marshals sets of Java {@code byte[]}s into DynamoDB * BinarySet attributes. */ +@SdkInternalApi public class ByteArraySetToBinarySetMarshaller implements BinarySetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArrayToBinaryMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArrayToBinaryMarshaller.java index d2fafd4c7af8..8c29fdc960b1 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArrayToBinaryMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArrayToBinaryMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BinaryAttributeMarshaller; @@ -24,6 +25,7 @@ * A marshaller that marshals Java {@code byte[]}s into DynamoDB Binary * attributes. */ +@SdkInternalApi public class ByteArrayToBinaryMarshaller implements BinaryAttributeMarshaller { private static final ByteArrayToBinaryMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferSetToBinarySetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferSetToBinarySetMarshaller.java index 1f38e412450e..9a9a287cfdcf 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferSetToBinarySetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferSetToBinarySetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; @@ -27,6 +28,7 @@ * A marshaller that marshals sets of Java {@code ByteBuffer}s into DynamoDB * BinarySet attributes. */ +@SdkInternalApi public class ByteBufferSetToBinarySetMarshaller implements BinarySetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferToBinaryMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferToBinaryMarshaller.java index d3cc6b1e8edf..521119c0c776 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferToBinaryMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferToBinaryMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BinaryAttributeMarshaller; @@ -24,6 +25,7 @@ * A marshaller that marshals Java {@code ByteBuffer}s into DynamoDB Binary * attributes. */ +@SdkInternalApi public class ByteBufferToBinaryMarshaller implements BinaryAttributeMarshaller { private static final ByteBufferToBinaryMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarSetToStringSetMarshaller.java index 48b8a38ab851..e08103917ed7 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarSetToStringSetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import java.util.ArrayList; @@ -28,6 +29,7 @@ * A marshaller that marshals sets of Java {@code Calendar} objects into * DynamoDB StringSets (in ISO 8601 format, ie {"2014-01-01T00:00:00Z", ...}). */ +@SdkInternalApi public class CalendarSetToStringSetMarshaller implements StringSetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarToStringMarshaller.java index ade24aa1fd3f..8bfe4b7fc7cc 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarToStringMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import java.util.Calendar; @@ -25,6 +26,7 @@ * A marshaller that marshals Java {@code Calendar} objects into DynamoDB * Strings (in ISO 8601 format, ie "2014-01-01T00:00:00Z"). */ +@SdkInternalApi public class CalendarToStringMarshaller implements StringAttributeMarshaller { private static final CalendarToStringMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CollectionToListMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CollectionToListMarshaller.java index 915a0b773bff..64fd8e9507ad 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CollectionToListMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CollectionToListMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -22,6 +23,7 @@ import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.ListAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class CollectionToListMarshaller implements ListAttributeMarshaller { private static final CollectionToListMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CustomMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CustomMarshaller.java index e55cf402aacd..522d69603729 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CustomMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CustomMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMarshaller; @@ -23,6 +24,7 @@ * A marshaller that delegates to an instance of a * {@code DynamoDBMarshalling}-derived custom marshaler. */ +@SdkInternalApi public class CustomMarshaller implements StringAttributeMarshaller { private final Class> marshallerClass; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateSetToStringSetMarshaller.java index 23d521002ddf..b50f6c33ac7f 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateSetToStringSetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import java.util.ArrayList; @@ -28,6 +29,7 @@ * A marshaller that marshals sets of Java {@code Date} objects into DynamoDB * StringSets (in ISO 8601 format, ie {"2014-01-01T00:00:00Z", ...}). */ +@SdkInternalApi public class DateSetToStringSetMarshaller implements StringSetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateToStringMarshaller.java index a421e360b6c6..f9a444854bed 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateToStringMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import java.util.Date; @@ -25,6 +26,7 @@ * A marshaller that marshals Java {@code Date} objects into DynamoDB Strings * (in ISO 8601 format, ie "2014-01-01T00:00:00Z"). */ +@SdkInternalApi public class DateToStringMarshaller implements StringAttributeMarshaller { private static final DateToStringMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/MapToMapMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/MapToMapMarshaller.java index b070ec8da31b..b25321554ff4 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/MapToMapMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/MapToMapMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashMap; import java.util.Map; @@ -21,6 +22,7 @@ import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.MapAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class MapToMapMarshaller implements MapAttributeMarshaller { private static final MapToMapMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberSetToNumberSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberSetToNumberSetMarshaller.java index 25f12bc75c3c..815855154208 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberSetToNumberSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberSetToNumberSetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -25,6 +26,7 @@ * A marshaller that marshals sets of Java {@code Number}s into DynamoDB * NumberSets. */ +@SdkInternalApi public class NumberSetToNumberSetMarshaller implements NumberSetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberToNumberMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberToNumberMarshaller.java index 0a6935cfba13..c12e4500cfb3 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberToNumberMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberToNumberMarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.NumberAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * A marshaller that marshals any Java {@code Number} to a DynamoDB number. */ +@SdkInternalApi public class NumberToNumberMarshaller implements NumberAttributeMarshaller { private static final NumberToNumberMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectSetToStringSetMarshaller.java index 3d213bb9674c..b32abce7ed39 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectSetToStringSetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -31,6 +32,7 @@ * warning if ever used since we only know how to unmarshal back to Java * Strings. */ +@SdkInternalApi public class ObjectSetToStringSetMarshaller implements StringSetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToMapMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToMapMarshaller.java index 27516ac681cf..2b96a45b0633 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToMapMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToMapMarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.Map; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.MapAttributeMarshaller; import software.amazon.awssdk.mapper.dynamodb.ItemConverter; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class ObjectToMapMarshaller implements MapAttributeMarshaller { private static final ObjectToMapMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToStringMarshaller.java index ec3dd4dccf44..a4fd0862cd9e 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToStringMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -23,6 +24,7 @@ * * @author Sergei Egorov */ +@SdkInternalApi public class ObjectToStringMarshaller implements StringAttributeMarshaller { private static final ObjectToStringMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/S3LinkToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/S3LinkToStringMarshaller.java index 911bc5b2ba57..fc878fce7a91 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/S3LinkToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/S3LinkToStringMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; import software.amazon.awssdk.mapper.dynamodb.S3Link; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -23,6 +24,7 @@ * using a JSON encoding. For example: {"s3":{"region":"us-west-2", * "bucket":"my-bucket-name", "key": "foo/bar/baz.txt"}}. */ +@SdkInternalApi public class S3LinkToStringMarshaller implements StringAttributeMarshaller { private static final S3LinkToStringMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringSetToStringSetMarshaller.java index 5f87c82043b7..043f4339bc3c 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringSetToStringSetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -25,6 +26,7 @@ * A marshaller that marshals sets of Java {@code String}s to DynamoDB * StringSets. */ +@SdkInternalApi public class StringSetToStringSetMarshaller implements StringSetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringToStringMarshaller.java index 40b2e3dcd484..35b828636782 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringToStringMarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * A marshaller that marshals Java {@code String} objects to DynamoDB Strings. */ +@SdkInternalApi public class StringToStringMarshaller implements StringAttributeMarshaller { private static final StringToStringMarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/UUIDSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/UUIDSetToStringSetMarshaller.java index 739c4ed1d753..72aa0ea2f4b9 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/UUIDSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/UUIDSetToStringSetMarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.marshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -28,6 +29,7 @@ * * @author Sergei Egorov */ +@SdkInternalApi public class UUIDSetToStringSetMarshaller implements StringSetAttributeMarshaller { diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BSUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BSUnmarshaller.java index 0718fd401ed7..efad6d2e14e3 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BSUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BSUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi abstract class BSUnmarshaller implements ArgumentUnmarshaller { @Override diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BUnmarshaller.java index 678104a476aa..3fff799cb04c 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi abstract class BUnmarshaller implements ArgumentUnmarshaller { @Override diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalSetUnmarshaller.java index 2ead94fdb96b..7be1b633122e 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigDecimal; import java.util.HashSet; import java.util.Set; @@ -24,6 +25,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code BigDecimal}s. */ +@SdkInternalApi public class BigDecimalSetUnmarshaller extends NSUnmarshaller { private static final BigDecimalSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalUnmarshaller.java index 8c76a7b53fc0..d1be6d7cc93d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigDecimal; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -22,6 +23,7 @@ * An unmarshaller that unmarshals DynamoDB Numbers into Java * {@code BigDecimal}s. */ +@SdkInternalApi public class BigDecimalUnmarshaller extends NUnmarshaller { private static final BigDecimalUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerSetUnmarshaller.java index 61a9c6b1bcba..77ffa0f0d2f2 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigInteger; import java.util.HashSet; import java.util.Set; @@ -24,6 +25,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code BigInteger}s. */ +@SdkInternalApi public class BigIntegerSetUnmarshaller extends NSUnmarshaller { private static final BigIntegerSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerUnmarshaller.java index ac0fc0896be2..daca708921b9 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigInteger; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -22,6 +23,7 @@ * An unmarshaller that unmarshals DynamoDB Numbers into Java * {@code BigInteger}s. */ +@SdkInternalApi public class BigIntegerUnmarshaller extends NUnmarshaller { private static final BigIntegerUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanSetUnmarshaller.java index cb05e5b77f29..47dceef76463 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; import java.util.HashSet; import java.util.List; @@ -28,6 +29,7 @@ * an NS using 0/1 for true/false. In the V2 schema these fall through to * the {@code ObjectSetToListMarshaller} which stores them as an L or BOOLs. */ +@SdkInternalApi public class BooleanSetUnmarshaller implements ArgumentUnmarshaller { private static final BooleanSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanUnmarshaller.java index 16514572bb96..72aaa2ecbc7d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; @@ -27,6 +28,7 @@ * was added, which stored Java {@code Boolean}s as either the Number 0 (false) * or 1 (true). */ +@SdkInternalApi public class BooleanUnmarshaller implements ArgumentUnmarshaller { private static final BooleanUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArraySetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArraySetUnmarshaller.java index e44a71e501d8..fbd2639cf73b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArraySetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArraySetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; @@ -24,6 +25,7 @@ * An unmarshaller that unmarshals BinarySet values as sets of Java * {@code byte[]}s. */ +@SdkInternalApi public class ByteArraySetUnmarshaller extends BSUnmarshaller { private static final ByteArraySetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArrayUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArrayUnmarshaller.java index 0d7013063457..180d59a5c254 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArrayUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArrayUnmarshaller.java @@ -14,11 +14,13 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals Binary values as Java {@code byte[]}s. */ +@SdkInternalApi public class ByteArrayUnmarshaller extends BUnmarshaller { private static final ByteArrayUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferSetUnmarshaller.java index 824e811395b7..30ef34d7c342 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; import java.util.HashSet; import java.util.Set; @@ -26,6 +27,7 @@ * An unmarshaller that unmarshals BinarySet values as sets of Java * {@code ByteBuffer}s. */ +@SdkInternalApi public class ByteBufferSetUnmarshaller extends BSUnmarshaller { private static final ByteBufferSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferUnmarshaller.java index d30d840e8769..554467a68ed8 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperBinaryUtils; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals Binary values as Java {@code ByteBuffer}s. */ +@SdkInternalApi public class ByteBufferUnmarshaller extends BUnmarshaller { private static final ByteBufferUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteSetUnmarshaller.java index ca5485953111..754c65740a4f 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; @@ -23,6 +24,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code Byte}s. */ +@SdkInternalApi public class ByteSetUnmarshaller extends NSUnmarshaller { private static final ByteSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteUnmarshaller.java index 95deb5b33343..04b59efa7e39 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals DynamoDB Numbers into Java * {@code Byte}s. */ +@SdkInternalApi public class ByteUnmarshaller extends NUnmarshaller { private static final ByteUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarSetUnmarshaller.java index dbaa69190be7..0039c9bbb0b0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import java.util.Calendar; @@ -27,6 +28,7 @@ * An unmarshaller that unmarshals sets of ISO-8601-formatted dates as sets of * Java {@code Calendar} objects. */ +@SdkInternalApi public class CalendarSetUnmarshaller extends SSUnmarshaller { private static final CalendarSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarUnmarshaller.java index f8c0b8bcea59..8ec5881dcf2b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import java.util.Calendar; @@ -25,6 +26,7 @@ * An unmarshaller that unmarshals ISO-8601-formatted dates as Java * {@code Calendar} objects. */ +@SdkInternalApi public class CalendarUnmarshaller extends SUnmarshaller { private static final CalendarUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CustomUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CustomUnmarshaller.java index 91752d86f9e7..31252b89af33 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CustomUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CustomUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -22,6 +23,7 @@ * An unmarshaller that delegates to an instance of a * {@code DynamoDBMarshaller}-derived custom marshaler. */ +@SdkInternalApi public class CustomUnmarshaller extends SUnmarshaller { private final Class targetClass; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateSetUnmarshaller.java index cfba3d3cc8cd..9ffce7aa710c 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import java.util.Date; @@ -26,6 +27,7 @@ * An unmarshaller that unmarshals sets of ISO-8601-formatted dates as sets of * Java {@code Date} objects. */ +@SdkInternalApi public class DateSetUnmarshaller extends SSUnmarshaller { private static final DateSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateUnmarshaller.java index 6c236fab56dc..764340ebc4d8 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -22,6 +23,7 @@ * An unmarshaller that unmarshals ISO-8601-formatted dates as Java * {@code Date} objects. */ +@SdkInternalApi public class DateUnmarshaller extends SUnmarshaller { private static final DateUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleSetUnmarshaller.java index c1b073cd12fe..6adb8dfeb283 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; @@ -23,6 +24,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code Double}s. */ +@SdkInternalApi public class DoubleSetUnmarshaller extends NSUnmarshaller { private static final DoubleSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleUnmarshaller.java index a03a11a4239a..ce3b238a0c08 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleUnmarshaller.java @@ -14,11 +14,13 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals DynamoDB Numbers into Java {@code Double}s. */ +@SdkInternalApi public class DoubleUnmarshaller extends NUnmarshaller { private static final DoubleUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatSetUnmarshaller.java index 23fa33004864..1ed5cd4d76cc 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; @@ -23,6 +24,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code Float}s. */ +@SdkInternalApi public class FloatSetUnmarshaller extends NSUnmarshaller { private static final FloatSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatUnmarshaller.java index 2556091af4aa..a8b62140e864 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals DynamoDB Numbers into Java * {@code Float}s. */ +@SdkInternalApi public class FloatUnmarshaller extends NUnmarshaller { private static final FloatUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerSetUnmarshaller.java index 57719c3c2720..273e9886ede9 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; @@ -23,6 +24,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code Integer}s. */ +@SdkInternalApi public class IntegerSetUnmarshaller extends NSUnmarshaller { private static final IntegerSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerUnmarshaller.java index 6474775feda4..9669113d5a53 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals DynamoDB Numbers into Java * {@code Integer}s. */ +@SdkInternalApi public class IntegerUnmarshaller extends NUnmarshaller { private static final IntegerUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LUnmarshaller.java index 5f192f016854..7e890616ce6b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi abstract class LUnmarshaller implements ArgumentUnmarshaller { @Override diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ListUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ListUnmarshaller.java index 9f4e0a0909c6..f9eb06a720b5 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ListUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ListUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; import java.util.ArrayList; import java.util.List; @@ -24,6 +25,7 @@ /** * An unmarshaller that unmarshals Lists into Java {@code Lists}. */ +@SdkInternalApi public class ListUnmarshaller extends LUnmarshaller { private static final ListUnmarshaller INSTANCE = new ListUnmarshaller(); diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongSetUnmarshaller.java index e7756d720e81..c13eb9a3e3a2 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; @@ -23,6 +24,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code Long}s. */ +@SdkInternalApi public class LongSetUnmarshaller extends NSUnmarshaller { private static final LongSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongUnmarshaller.java index b09332957b74..e0b00b0935ff 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals DynamoDB Numbers into Java * {@code Long}s. */ +@SdkInternalApi public class LongUnmarshaller extends NUnmarshaller { private static final LongUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MUnmarshaller.java index a6bcf90834bb..201cc7dc6d6f 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi abstract class MUnmarshaller implements ArgumentUnmarshaller { @Override diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MapUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MapUnmarshaller.java index 99a1ac940473..7593bc73973b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MapUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MapUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; import java.util.HashMap; import java.util.Map; @@ -21,6 +22,7 @@ import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class MapUnmarshaller extends MUnmarshaller { private static final MapUnmarshaller INSTANCE = new MapUnmarshaller(); diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NSUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NSUnmarshaller.java index 720416ed00d3..f6fc26295eb6 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NSUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NSUnmarshaller.java @@ -1,32 +1,34 @@ -/* - * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://aws.amazon.com/apache2.0 - * - * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES - * OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and - * limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; - -import java.lang.reflect.Method; - -import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; -import software.amazon.awssdk.services.dynamodb.model.AttributeValue; - -abstract class NSUnmarshaller implements ArgumentUnmarshaller { - - @Override - public void typeCheck(AttributeValue value, Method setter) { - if ( !value.hasNs() ) { - throw new DynamoDBMappingException("Expected NS in value " + value + " when invoking " + setter); - } - } - -} +/* + * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://aws.amazon.com/apache2.0 + * + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and + * limitations under the License. + */ +package software.amazon.awssdk.mapper.dynamodb.unmarshallers; + +import software.amazon.awssdk.annotations.SdkInternalApi; +import java.lang.reflect.Method; + +import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; +import software.amazon.awssdk.services.dynamodb.model.AttributeValue; + +@SdkInternalApi +abstract class NSUnmarshaller implements ArgumentUnmarshaller { + + @Override + public void typeCheck(AttributeValue value, Method setter) { + if ( !value.hasNs() ) { + throw new DynamoDBMappingException("Expected NS in value " + value + " when invoking " + setter); + } + } + +} diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NUnmarshaller.java index 346134b1740b..55490e1282e0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NUnmarshaller.java @@ -1,32 +1,34 @@ -/* - * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://aws.amazon.com/apache2.0 - * - * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES - * OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and - * limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; - -import java.lang.reflect.Method; - -import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; -import software.amazon.awssdk.services.dynamodb.model.AttributeValue; - -abstract class NUnmarshaller implements ArgumentUnmarshaller { - - @Override - public void typeCheck(AttributeValue value, Method setter) { - if ( value.n() == null ) { - throw new DynamoDBMappingException("Expected N in value " + value + " when invoking " + setter); - } - } - -} +/* + * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://aws.amazon.com/apache2.0 + * + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and + * limitations under the License. + */ +package software.amazon.awssdk.mapper.dynamodb.unmarshallers; + +import software.amazon.awssdk.annotations.SdkInternalApi; +import java.lang.reflect.Method; + +import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; +import software.amazon.awssdk.services.dynamodb.model.AttributeValue; + +@SdkInternalApi +abstract class NUnmarshaller implements ArgumentUnmarshaller { + + @Override + public void typeCheck(AttributeValue value, Method setter) { + if ( value.n() == null ) { + throw new DynamoDBMappingException("Expected N in value " + value + " when invoking " + setter); + } + } + +} diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NullableUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NullableUnmarshaller.java index ce1cb0461ced..5d0752b8a1a7 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NullableUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NullableUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; import java.text.ParseException; import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class NullableUnmarshaller implements ArgumentUnmarshaller { private final ArgumentUnmarshaller wrapped; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectSetUnmarshaller.java index de43df7f8824..4003ef82a60b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; import java.util.LinkedHashSet; import java.util.List; @@ -23,6 +24,7 @@ import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class ObjectSetUnmarshaller extends LUnmarshaller { private static final ObjectSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectUnmarshaller.java index 73c831928de9..8407e6b5011e 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; import java.util.Map; import software.amazon.awssdk.mapper.dynamodb.ItemConverter; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class ObjectUnmarshaller extends MUnmarshaller { private static final ObjectUnmarshaller INSTANCE = new ObjectUnmarshaller(); diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/S3LinkUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/S3LinkUnmarshaller.java index d3d5fb588399..88ca6f0ccb60 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/S3LinkUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/S3LinkUnmarshaller.java @@ -14,10 +14,12 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.S3ClientCache; import software.amazon.awssdk.mapper.dynamodb.S3Link; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +@SdkInternalApi public class S3LinkUnmarshaller extends SUnmarshaller { private static final S3LinkUnmarshaller INSTANCE = new S3LinkUnmarshaller(); diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SSUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SSUnmarshaller.java index ecfc7eb7f987..385f5f9cff76 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SSUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SSUnmarshaller.java @@ -1,32 +1,34 @@ -/* - * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://aws.amazon.com/apache2.0 - * - * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES - * OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and - * limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; - -import java.lang.reflect.Method; - -import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; -import software.amazon.awssdk.services.dynamodb.model.AttributeValue; - -abstract class SSUnmarshaller implements ArgumentUnmarshaller { - - @Override - public void typeCheck(AttributeValue value, Method setter) { - if ( !value.hasSs() ) { - throw new DynamoDBMappingException("Expected SS in value " + value + " when invoking " + setter); - } - } - -} +/* + * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://aws.amazon.com/apache2.0 + * + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and + * limitations under the License. + */ +package software.amazon.awssdk.mapper.dynamodb.unmarshallers; + +import software.amazon.awssdk.annotations.SdkInternalApi; +import java.lang.reflect.Method; + +import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; +import software.amazon.awssdk.services.dynamodb.model.AttributeValue; + +@SdkInternalApi +abstract class SSUnmarshaller implements ArgumentUnmarshaller { + + @Override + public void typeCheck(AttributeValue value, Method setter) { + if ( !value.hasSs() ) { + throw new DynamoDBMappingException("Expected SS in value " + value + " when invoking " + setter); + } + } + +} diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SUnmarshaller.java index 1a1be4b6618e..d983c9a11f46 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SUnmarshaller.java @@ -1,32 +1,34 @@ -/* - * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://aws.amazon.com/apache2.0 - * - * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES - * OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and - * limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; - -import java.lang.reflect.Method; - -import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; -import software.amazon.awssdk.services.dynamodb.model.AttributeValue; - -abstract class SUnmarshaller implements ArgumentUnmarshaller { - - @Override - public void typeCheck(AttributeValue value, Method setter) { - if ( value.s() == null ) { - throw new DynamoDBMappingException("Expected S in value " + value + " when invoking " + setter); - } - } - -} +/* + * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://aws.amazon.com/apache2.0 + * + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and + * limitations under the License. + */ +package software.amazon.awssdk.mapper.dynamodb.unmarshallers; + +import software.amazon.awssdk.annotations.SdkInternalApi; +import java.lang.reflect.Method; + +import software.amazon.awssdk.mapper.dynamodb.ArgumentUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; +import software.amazon.awssdk.services.dynamodb.model.AttributeValue; + +@SdkInternalApi +abstract class SUnmarshaller implements ArgumentUnmarshaller { + + @Override + public void typeCheck(AttributeValue value, Method setter) { + if ( value.s() == null ) { + throw new DynamoDBMappingException("Expected S in value " + value + " when invoking " + setter); + } + } + +} diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortSetUnmarshaller.java index 2b5a9032494a..6ce6de00e2f4 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; @@ -23,6 +24,7 @@ * An unmarshaller that unmarshals DynamoDB NumberSets into sets of Java * {@code Short}s. */ +@SdkInternalApi public class ShortSetUnmarshaller extends NSUnmarshaller { private static final ShortSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortUnmarshaller.java index b1d952be0a15..e7822f105e32 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals DynamoDB Numbers into Java * {@code Short}s. */ +@SdkInternalApi public class ShortUnmarshaller extends NUnmarshaller { private static final ShortUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringSetUnmarshaller.java index dc8faf729bc4..e3de13a5d70a 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -22,6 +23,7 @@ * An unmarshaller that unmarshals DynamoDB StringSets as sets of Java * {@code String} objects. */ +@SdkInternalApi public class StringSetUnmarshaller extends SSUnmarshaller { private static final StringSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringUnmarshaller.java index 97573339751c..71421ba6ee56 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringUnmarshaller.java @@ -14,12 +14,14 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** * An unmarshaller that unmarshals DynamoDB Strings as Java {@code String} * objects. */ +@SdkInternalApi public class StringUnmarshaller extends SUnmarshaller { private static final StringUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDSetUnmarshaller.java index e803c7f2735f..f2e5afafbc4a 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDSetUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; import java.util.Set; import java.util.UUID; @@ -26,6 +27,7 @@ * * @author Sergei Egorov */ +@SdkInternalApi public class UUIDSetUnmarshaller extends SSUnmarshaller { private static final UUIDSetUnmarshaller INSTANCE = diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDUnmarshaller.java index 33f9a7799212..9bb20f881afd 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDUnmarshaller.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.UUID; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -24,6 +25,7 @@ * * @author Sergei Egorov */ +@SdkInternalApi public class UUIDUnmarshaller extends SUnmarshaller { private static final UUIDUnmarshaller INSTANCE = From 6a5108d2f4c4e9b5fa56e46b9a879785a5a52164 Mon Sep 17 00:00:00 2001 From: RanVaknin <50976344+RanVaknin@users.noreply.github.com> Date: Thu, 27 Aug 2026 11:33:41 -0700 Subject: [PATCH 2/7] Organize repo: move marshallers/unmarshallers/utils to internal, integ tests to it/ Relocates the marshaller, unmarshaller, and Mapper*Utils classes under an internal/ package, and moves the four tests that make real AWS calls to src/it/java per the v2 layout convention. Adds the v1-coupled S3Link and table-admin tests to the compiler testExcludes until those ports land. --- services-custom/dynamodb-mapper/pom.xml | 25 ++-- .../dynamodb/DynamoDBS3IntegrationTest.java | 0 .../DynamoDBS3IntegrationTestBase.java | 0 .../mapper/dynamodb/JsonIntegrationTest.java | 0 .../S3ClientCacheIntegrationTest.java | 0 .../mapper/dynamodb/ConversionSchemas.java | 130 +++++++++--------- .../mapper/dynamodb/DynamoDBMapper.java | 9 +- .../mapper/dynamodb/DynamoDBTableMapper.java | 13 +- .../dynamodb/StandardModelFactories.java | 8 +- .../dynamodb/StandardTypeConverters.java | 1 + .../{ => internal}/MapperBinaryUtils.java | 2 +- .../{ => internal}/MapperDateUtils.java | 2 +- .../BooleanSetToNumberSetMarshaller.java | 2 +- .../BooleanToBooleanMarshaller.java | 2 +- .../BooleanToNumberMarshaller.java | 2 +- .../ByteArraySetToBinarySetMarshaller.java | 2 +- .../ByteArrayToBinaryMarshaller.java | 2 +- .../ByteBufferSetToBinarySetMarshaller.java | 2 +- .../ByteBufferToBinaryMarshaller.java | 2 +- .../CalendarSetToStringSetMarshaller.java | 4 +- .../CalendarToStringMarshaller.java | 4 +- .../CollectionToListMarshaller.java | 2 +- .../marshallers/CustomMarshaller.java | 2 +- .../DateSetToStringSetMarshaller.java | 4 +- .../marshallers/DateToStringMarshaller.java | 4 +- .../marshallers/MapToMapMarshaller.java | 2 +- .../NumberSetToNumberSetMarshaller.java | 2 +- .../marshallers/NumberToNumberMarshaller.java | 2 +- .../ObjectSetToStringSetMarshaller.java | 10 +- .../marshallers/ObjectToMapMarshaller.java | 2 +- .../marshallers/ObjectToStringMarshaller.java | 2 +- .../marshallers/S3LinkToStringMarshaller.java | 2 +- .../StringSetToStringSetMarshaller.java | 2 +- .../marshallers/StringToStringMarshaller.java | 2 +- .../UUIDSetToStringSetMarshaller.java | 2 +- .../marshallers/package-info.java | 2 +- .../unmarshallers/BSUnmarshaller.java | 2 +- .../unmarshallers/BUnmarshaller.java | 2 +- .../BigDecimalSetUnmarshaller.java | 2 +- .../unmarshallers/BigDecimalUnmarshaller.java | 2 +- .../BigIntegerSetUnmarshaller.java | 2 +- .../unmarshallers/BigIntegerUnmarshaller.java | 2 +- .../unmarshallers/BooleanSetUnmarshaller.java | 2 +- .../unmarshallers/BooleanUnmarshaller.java | 2 +- .../ByteArraySetUnmarshaller.java | 2 +- .../unmarshallers/ByteArrayUnmarshaller.java | 2 +- .../ByteBufferSetUnmarshaller.java | 4 +- .../unmarshallers/ByteBufferUnmarshaller.java | 4 +- .../unmarshallers/ByteSetUnmarshaller.java | 2 +- .../unmarshallers/ByteUnmarshaller.java | 2 +- .../CalendarSetUnmarshaller.java | 4 +- .../unmarshallers/CalendarUnmarshaller.java | 4 +- .../unmarshallers/CustomUnmarshaller.java | 2 +- .../unmarshallers/DateSetUnmarshaller.java | 4 +- .../unmarshallers/DateUnmarshaller.java | 4 +- .../unmarshallers/DoubleSetUnmarshaller.java | 2 +- .../unmarshallers/DoubleUnmarshaller.java | 2 +- .../unmarshallers/FloatSetUnmarshaller.java | 2 +- .../unmarshallers/FloatUnmarshaller.java | 2 +- .../unmarshallers/IntegerSetUnmarshaller.java | 2 +- .../unmarshallers/IntegerUnmarshaller.java | 2 +- .../unmarshallers/LUnmarshaller.java | 2 +- .../unmarshallers/ListUnmarshaller.java | 2 +- .../unmarshallers/LongSetUnmarshaller.java | 2 +- .../unmarshallers/LongUnmarshaller.java | 2 +- .../unmarshallers/MUnmarshaller.java | 2 +- .../unmarshallers/MapUnmarshaller.java | 2 +- .../unmarshallers/NSUnmarshaller.java | 2 +- .../unmarshallers/NUnmarshaller.java | 2 +- .../unmarshallers/NullableUnmarshaller.java | 2 +- .../unmarshallers/ObjectSetUnmarshaller.java | 2 +- .../unmarshallers/ObjectUnmarshaller.java | 2 +- .../unmarshallers/S3LinkUnmarshaller.java | 2 +- .../unmarshallers/SSUnmarshaller.java | 2 +- .../unmarshallers/SUnmarshaller.java | 2 +- .../unmarshallers/ShortSetUnmarshaller.java | 2 +- .../unmarshallers/ShortUnmarshaller.java | 2 +- .../unmarshallers/StringSetUnmarshaller.java | 2 +- .../unmarshallers/StringUnmarshaller.java | 2 +- .../unmarshallers/UUIDSetUnmarshaller.java | 2 +- .../unmarshallers/UUIDUnmarshaller.java | 2 +- .../unmarshallers/package-info.java | 2 +- .../dynamodb/MapperBinaryUtilsTest.java | 1 + .../mapper/dynamodb/MapperDateUtilsTest.java | 1 + 84 files changed, 179 insertions(+), 181 deletions(-) rename services-custom/dynamodb-mapper/src/{test => it}/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTest.java (100%) rename services-custom/dynamodb-mapper/src/{test => it}/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTestBase.java (100%) rename services-custom/dynamodb-mapper/src/{test => it}/java/software/amazon/awssdk/mapper/dynamodb/JsonIntegrationTest.java (100%) rename services-custom/dynamodb-mapper/src/{test => it}/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCacheIntegrationTest.java (100%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/MapperBinaryUtils.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/MapperDateUtils.java (98%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/BooleanSetToNumberSetMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/BooleanToBooleanMarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/BooleanToNumberMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/ByteArraySetToBinarySetMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/ByteArrayToBinaryMarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/ByteBufferSetToBinarySetMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/ByteBufferToBinaryMarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/CalendarSetToStringSetMarshaller.java (92%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/CalendarToStringMarshaller.java (91%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/CollectionToListMarshaller.java (97%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/CustomMarshaller.java (97%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/DateSetToStringSetMarshaller.java (92%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/DateToStringMarshaller.java (91%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/MapToMapMarshaller.java (97%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/NumberSetToNumberSetMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/NumberToNumberMarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/ObjectSetToStringSetMarshaller.java (87%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/ObjectToMapMarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/ObjectToStringMarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/S3LinkToStringMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/StringSetToStringSetMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/StringToStringMarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/UUIDSetToStringSetMarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/marshallers/package-info.java (90%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BSUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BigDecimalSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BigDecimalUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BigIntegerSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BigIntegerUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BooleanSetUnmarshaller.java (97%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/BooleanUnmarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ByteArraySetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ByteArrayUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ByteBufferSetUnmarshaller.java (91%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ByteBufferUnmarshaller.java (89%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ByteSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ByteUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/CalendarSetUnmarshaller.java (91%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/CalendarUnmarshaller.java (90%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/CustomUnmarshaller.java (97%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/DateSetUnmarshaller.java (90%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/DateUnmarshaller.java (89%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/DoubleSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/DoubleUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/FloatSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/FloatUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/IntegerSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/IntegerUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/LUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ListUnmarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/LongSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/LongUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/MUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/MapUnmarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/NSUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/NUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/NullableUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ObjectSetUnmarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ObjectUnmarshaller.java (96%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/S3LinkUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/SSUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/SUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ShortSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/ShortUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/StringSetUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/StringUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/UUIDSetUnmarshaller.java (95%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/UUIDUnmarshaller.java (94%) rename services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/{ => internal}/unmarshallers/package-info.java (90%) diff --git a/services-custom/dynamodb-mapper/pom.xml b/services-custom/dynamodb-mapper/pom.xml index 43271ff9bbb3..548ff5674119 100644 --- a/services-custom/dynamodb-mapper/pom.xml +++ b/services-custom/dynamodb-mapper/pom.xml @@ -43,27 +43,37 @@ + proves the ported data-plane paths are behavior-preserving in the meantime. + The three tests that make real AWS calls (extend the AWS credentialed base + chain) now live under src/it/java per the v2 layout convention; the DynamoDB + Local functional tests and their fixtures stay under src/test/java (they run + against an embedded server, like dynamodb-enhanced's functionaltests). Either + way these excludes keep the v1-coupled files out of compilation until the + S3Link and Table-admin ports land; the paths are package-relative and match + under both source roots. --> + software/amazon/awssdk/mapper/dynamodb/ConfigureS3LinksTest.java software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTest.java software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTestBase.java - software/amazon/awssdk/mapper/dynamodb/GenerateDeleteTableRequestTest.java - software/amazon/awssdk/mapper/dynamodb/GsiAlwaysUpdateTest.java - software/amazon/awssdk/mapper/dynamodb/LocalDynamoDB.java - software/amazon/awssdk/mapper/dynamodb/LocalDynamoDBTestBase.java software/amazon/awssdk/mapper/dynamodb/S3ClientCacheIntegrationTest.java software/amazon/awssdk/mapper/dynamodb/S3LinkIDTest.java software/amazon/awssdk/mapper/dynamodb/S3LinkTest.java + + software/amazon/awssdk/mapper/dynamodb/GsiAlwaysUpdateTest.java + software/amazon/awssdk/mapper/dynamodb/LocalDynamoDB.java + software/amazon/awssdk/mapper/dynamodb/LocalDynamoDBTestBase.java software/amazon/awssdk/mapper/dynamodb/BatchLoadTest.java software/amazon/awssdk/mapper/dynamodb/mapper/BatchWriteTest.java software/amazon/awssdk/mapper/dynamodb/JsonIntegrationTest.java + software/amazon/awssdk/mapper/dynamodb/GenerateDeleteTableRequestTest.java software/amazon/awssdk/mapper/dynamodb/mapper/GenerateCreateTableRequest2Test.java software/amazon/awssdk/mapper/dynamodb/mapper/GenerateCreateTableRequestTest.java software/amazon/awssdk/mapper/dynamodb/mapper/HashKeyOnlyTableWithGSITest.java software/amazon/awssdk/mapper/dynamodb/mapper/MapperLoadingStrategyConfigTest.java + software/amazon/awssdk/mapper/dynamodb/test/resources/DynamoDBTableResource.java software/amazon/awssdk/mapper/dynamodb/test/resources/ResourceCentricBlockJUnit4ClassRunner.java software/amazon/awssdk/mapper/dynamodb/test/resources/TestResourceUtils.java @@ -141,11 +151,6 @@ aws-java-sdk-core ${sdk-v1.version} - - commons-logging - commons-logging - 1.1.3 - joda-time joda-time diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTest.java b/services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTest.java similarity index 100% rename from services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTest.java rename to services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTest.java diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTestBase.java b/services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTestBase.java similarity index 100% rename from services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTestBase.java rename to services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBS3IntegrationTestBase.java diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/JsonIntegrationTest.java b/services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/JsonIntegrationTest.java similarity index 100% rename from services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/JsonIntegrationTest.java rename to services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/JsonIntegrationTest.java diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCacheIntegrationTest.java b/services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCacheIntegrationTest.java similarity index 100% rename from services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCacheIntegrationTest.java rename to services-custom/dynamodb-mapper/src/it/java/software/amazon/awssdk/mapper/dynamodb/S3ClientCacheIntegrationTest.java diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java index 089f353d0f92..9252d5cb138d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConversionSchemas.java @@ -28,70 +28,69 @@ import software.amazon.awssdk.mapper.dynamodb.StandardBeanProperties.Bean; import software.amazon.awssdk.mapper.dynamodb.StandardModelFactories.Rule; import software.amazon.awssdk.mapper.dynamodb.StandardModelFactories.RuleFactory; -import software.amazon.awssdk.mapper.dynamodb.marshallers.BooleanSetToNumberSetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.BooleanToBooleanMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.BooleanToNumberMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.ByteArraySetToBinarySetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.ByteArrayToBinaryMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.ByteBufferSetToBinarySetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.ByteBufferToBinaryMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.CalendarSetToStringSetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.CalendarToStringMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.CollectionToListMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.CustomMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.DateSetToStringSetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.DateToStringMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.MapToMapMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.NumberSetToNumberSetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.NumberToNumberMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.ObjectSetToStringSetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.ObjectToMapMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.ObjectToStringMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.S3LinkToStringMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.StringSetToStringSetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.StringToStringMarshaller; -import software.amazon.awssdk.mapper.dynamodb.marshallers.UUIDSetToStringSetMarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.BigDecimalSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.BigDecimalUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.BigIntegerSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.BigIntegerUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.BooleanSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.BooleanUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ByteArraySetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ByteArrayUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ByteBufferSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ByteBufferUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ByteSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ByteUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.CalendarSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.CalendarUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.CustomUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.DateSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.DateUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.DoubleSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.DoubleUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.FloatSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.FloatUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.IntegerSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.IntegerUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ListUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.LongSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.LongUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.MapUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.NullableUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ObjectSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ObjectUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.S3LinkUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ShortSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.ShortUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.StringSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.StringUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.UUIDSetUnmarshaller; -import software.amazon.awssdk.mapper.dynamodb.unmarshallers.UUIDUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.BooleanSetToNumberSetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.BooleanToBooleanMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.BooleanToNumberMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.ByteArraySetToBinarySetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.ByteArrayToBinaryMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.ByteBufferSetToBinarySetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.ByteBufferToBinaryMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.CalendarSetToStringSetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.CalendarToStringMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.CollectionToListMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.CustomMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.DateSetToStringSetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.DateToStringMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.MapToMapMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.NumberSetToNumberSetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.NumberToNumberMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.ObjectSetToStringSetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.ObjectToMapMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.ObjectToStringMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.S3LinkToStringMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.StringSetToStringSetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.StringToStringMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.marshallers.UUIDSetToStringSetMarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.BigDecimalSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.BigDecimalUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.BigIntegerSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.BigIntegerUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.BooleanSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.BooleanUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ByteArraySetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ByteArrayUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ByteBufferSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ByteBufferUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ByteSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ByteUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.CalendarSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.CalendarUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.CustomUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.DateSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.DateUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.DoubleSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.DoubleUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.FloatSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.FloatUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.IntegerSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.IntegerUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ListUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.LongSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.LongUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.MapUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.NullableUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ObjectSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ObjectUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.S3LinkUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ShortSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.ShortUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.StringSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.StringUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.UUIDSetUnmarshaller; +import software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers.UUIDUnmarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import software.amazon.awssdk.utils.Logger; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; @@ -115,8 +114,7 @@ @SdkPublicApi public final class ConversionSchemas { - private static final Log LOGGER = - LogFactory.getLog(ConversionSchemas.class); + private static final Logger LOGGER = Logger.loggerFor(ConversionSchemas.class); /** * The V1 schema mapping, which retains strict backwards compatibility with @@ -1219,7 +1217,7 @@ private ArgumentUnmarshaller getScalar(Method setter, Class type) { private static Class unwrapGenericSetParam(Type setType) { if (!(setType instanceof ParameterizedType)) { - LOGGER.warn("Set type " + setType + " is not a " + LOGGER.warn(() -> "Set type " + setType + " is not a " + "ParameterizedType, using default marshaler and " + "unmarshaler!"); return Object.class; @@ -1229,7 +1227,7 @@ private static Class unwrapGenericSetParam(Type setType) { Type[] arguments = ptype.getActualTypeArguments(); if (arguments.length != 1) { - LOGGER.warn("Set type " + setType + " does not have exactly one " + LOGGER.warn(() -> "Set type " + setType + " does not have exactly one " + "type argument, using default marshaler and " + "unmarshaler!"); return Object.class; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java index dae861a3fcfd..2ffb616db0aa 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapper.java @@ -71,8 +71,7 @@ import software.amazon.awssdk.services.dynamodb.model.WriteRequest; import com.amazonaws.services.s3.model.Region; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import software.amazon.awssdk.utils.Logger; import java.lang.reflect.Method; import java.util.ArrayList; @@ -229,7 +228,7 @@ public class DynamoDBMapper extends AbstractDynamoDBMapper { */ static final int BATCH_GET_MAX_RETRY_COUNT_ALL_KEYS = 5; - private static final Log log = LogFactory.getLog(DynamoDBMapper.class); + private static final Logger log = Logger.loggerFor(DynamoDBMapper.class); /** * Fail fast when trying to create a subclass of the DynamoDBMapper that @@ -1720,11 +1719,11 @@ private List createParallelScanRequestsFromExpression(Class claz throw new IllegalArgumentException("Parallel scan should have at least one scan segment."); } if (scanExpression.getExclusiveStartKey() != null) { - log.info("The ExclusiveStartKey parameter specified in the DynamoDBScanExpression is ignored," + log.info(() -> "The ExclusiveStartKey parameter specified in the DynamoDBScanExpression is ignored," + " since the individual parallel scan request on each segment is applied on a separate key scope."); } if (scanExpression.getSegment() != null || scanExpression.getTotalSegments() != null) { - log.info("The Segment and TotalSegments parameters specified in the DynamoDBScanExpression are ignored."); + log.info(() -> "The Segment and TotalSegments parameters specified in the DynamoDBScanExpression are ignored."); } List parallelScanRequests= new LinkedList(); diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java index 167ec6a3e119..f7c600a8d629 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTableMapper.java @@ -29,8 +29,7 @@ import java.util.List; import java.util.Map; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import software.amazon.awssdk.utils.Logger; /** * A wrapper for {@code DynamoDBMapper} which operates only on a specified @@ -134,7 +133,7 @@ @SdkPublicApi public final class DynamoDBTableMapper { - private static final Log LOG = LogFactory.getLog(DynamoDBTableMapper.class); + private static final Logger LOG = Logger.loggerFor(DynamoDBTableMapper.class); private final DynamoDBMapperTableModel model; private final DynamoDBMapperFieldModel hk; @@ -494,9 +493,7 @@ public boolean createTableIfNotExists(ProvisionedThroughput throughput) { try { createTable(throughput); } catch (final ResourceInUseException e) { - if (LOG.isTraceEnabled()) { - LOG.trace("Table already exists, no need to create", e); - } + LOG.trace(() -> "Table already exists, no need to create", e); return false; } return true; @@ -523,9 +520,7 @@ public boolean deleteTableIfExists() { try { deleteTable(); } catch (final ResourceNotFoundException e) { - if (LOG.isTraceEnabled()) { - LOG.trace("Table does not exist, no need to delete", e); - } + LOG.trace(() -> "Table does not exist, no need to delete", e); return false; } return true; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java index 0f1cad936267..e65b575b9e43 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardModelFactories.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperBinaryUtils; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperFieldModel.DynamoDBAttributeType; @@ -25,8 +26,7 @@ import software.amazon.awssdk.mapper.dynamodb.StandardBeanProperties.Beans; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import software.amazon.awssdk.utils.Logger; import org.joda.time.DateTime; import java.nio.ByteBuffer; @@ -60,7 +60,7 @@ final class StandardModelFactories { private StandardModelFactories() { } - private static final Log LOG = LogFactory.getLog(StandardModelFactories.class); + private static final Logger LOG = Logger.loggerFor(StandardModelFactories.class); /** * Creates the standard {@link DynamoDBMapperModelFactory} factory. @@ -441,7 +441,7 @@ public boolean isAssignableFrom(ConvertibleType type) { } @Override public DynamoDBTypeConverter> newConverter(ConvertibleType> type) { - LOG.warn("Marshaling a set of non-String objects to a DynamoDB " + LOG.warn(() -> "Marshaling a set of non-String objects to a DynamoDB " + "StringSet. You won't be able to read these objects back " + "out of DynamoDB unless you REALLY know what you're doing: " + "it's probably a bug. If you DO know what you're doing feel" diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java index c59ab0e4bc52..b68c14579a82 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardTypeConverters.java @@ -14,6 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperBinaryUtils.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/MapperBinaryUtils.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperBinaryUtils.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/MapperBinaryUtils.java index cc216ef6de90..6b34c96bccfb 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperBinaryUtils.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/MapperBinaryUtils.java @@ -12,7 +12,7 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb; +package software.amazon.awssdk.mapper.dynamodb.internal; import java.nio.ByteBuffer; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtils.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/MapperDateUtils.java similarity index 98% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtils.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/MapperDateUtils.java index df055c4f2c06..a1c7d8e23025 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtils.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/MapperDateUtils.java @@ -12,7 +12,7 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb; +package software.amazon.awssdk.mapper.dynamodb.internal; import java.util.Arrays; import java.util.Date; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanSetToNumberSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanSetToNumberSetMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanSetToNumberSetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanSetToNumberSetMarshaller.java index 09bf1a42a4b4..3c0fbef166e6 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanSetToNumberSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanSetToNumberSetMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToBooleanMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanToBooleanMarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToBooleanMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanToBooleanMarshaller.java index bf4c893703ca..55c444c93b33 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToBooleanMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanToBooleanMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.BooleanAttributeMarshaller; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToNumberMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanToNumberMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToNumberMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanToNumberMarshaller.java index 8fef5acbf996..d4760f347f36 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/BooleanToNumberMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/BooleanToNumberMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.NumberAttributeMarshaller; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArraySetToBinarySetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteArraySetToBinarySetMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArraySetToBinarySetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteArraySetToBinarySetMarshaller.java index 339cf9ed995d..359dbfa02749 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArraySetToBinarySetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteArraySetToBinarySetMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArrayToBinaryMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteArrayToBinaryMarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArrayToBinaryMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteArrayToBinaryMarshaller.java index 8c29fdc960b1..85ac808b0706 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteArrayToBinaryMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteArrayToBinaryMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferSetToBinarySetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteBufferSetToBinarySetMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferSetToBinarySetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteBufferSetToBinarySetMarshaller.java index 9a9a287cfdcf..01578739fabf 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferSetToBinarySetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteBufferSetToBinarySetMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferToBinaryMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteBufferToBinaryMarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferToBinaryMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteBufferToBinaryMarshaller.java index 521119c0c776..92918999a265 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ByteBufferToBinaryMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ByteBufferToBinaryMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CalendarSetToStringSetMarshaller.java similarity index 92% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarSetToStringSetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CalendarSetToStringSetMarshaller.java index e08103917ed7..37fa684eec71 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CalendarSetToStringSetMarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import java.util.ArrayList; import java.util.Calendar; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CalendarToStringMarshaller.java similarity index 91% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarToStringMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CalendarToStringMarshaller.java index 8bfe4b7fc7cc..b1b1de14b6f7 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CalendarToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CalendarToStringMarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import java.util.Calendar; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CollectionToListMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CollectionToListMarshaller.java similarity index 97% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CollectionToListMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CollectionToListMarshaller.java index 64fd8e9507ad..54b8bb43a99a 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CollectionToListMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CollectionToListMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CustomMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CustomMarshaller.java similarity index 97% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CustomMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CustomMarshaller.java index 522d69603729..0753b09e4a1c 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/CustomMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/CustomMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/DateSetToStringSetMarshaller.java similarity index 92% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateSetToStringSetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/DateSetToStringSetMarshaller.java index b50f6c33ac7f..2d1adb84c8f0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/DateSetToStringSetMarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import java.util.ArrayList; import java.util.Date; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/DateToStringMarshaller.java similarity index 91% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateToStringMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/DateToStringMarshaller.java index f9a444854bed..d0cd30eca7ba 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/DateToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/DateToStringMarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import java.util.Date; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/MapToMapMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/MapToMapMarshaller.java similarity index 97% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/MapToMapMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/MapToMapMarshaller.java index b25321554ff4..21613def33c8 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/MapToMapMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/MapToMapMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashMap; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberSetToNumberSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/NumberSetToNumberSetMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberSetToNumberSetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/NumberSetToNumberSetMarshaller.java index 815855154208..1b1d2af95bdf 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberSetToNumberSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/NumberSetToNumberSetMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberToNumberMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/NumberToNumberMarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberToNumberMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/NumberToNumberMarshaller.java index c12e4500cfb3..7a4a04e67c16 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/NumberToNumberMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/NumberToNumberMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.NumberAttributeMarshaller; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectSetToStringSetMarshaller.java similarity index 87% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectSetToStringSetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectSetToStringSetMarshaller.java index b32abce7ed39..8d6d3641324c 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectSetToStringSetMarshaller.java @@ -12,15 +12,14 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; import java.util.List; import java.util.Set; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import software.amazon.awssdk.utils.Logger; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringSetAttributeMarshaller; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -36,8 +35,7 @@ public class ObjectSetToStringSetMarshaller implements StringSetAttributeMarshaller { - private static final Log LOG = - LogFactory.getLog(ObjectSetToStringSetMarshaller.class); + private static final Logger LOG = Logger.loggerFor(ObjectSetToStringSetMarshaller.class); private static final ObjectSetToStringSetMarshaller INSTANCE = new ObjectSetToStringSetMarshaller(); @@ -53,7 +51,7 @@ private ObjectSetToStringSetMarshaller() { public AttributeValue marshall(Object obj) { Set set = (Set) obj; - LOG.warn("Marshaling a set of non-String objects to a DynamoDB " + LOG.warn(() -> "Marshaling a set of non-String objects to a DynamoDB " + "StringSet. You won't be able to read these objects back " + "out of DynamoDB unless you REALLY know what you're doing: " + "it's probably a bug. If you DO know what you're doing feel" diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToMapMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectToMapMarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToMapMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectToMapMarshaller.java index 2b96a45b0633..2e11581408cf 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToMapMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectToMapMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.Map; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectToStringMarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToStringMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectToStringMarshaller.java index a4fd0862cd9e..e190e1bcbba4 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/ObjectToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/ObjectToStringMarshaller.java @@ -12,7 +12,7 @@ * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/S3LinkToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/S3LinkToStringMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/S3LinkToStringMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/S3LinkToStringMarshaller.java index fc878fce7a91..6b5cccebf79a 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/S3LinkToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/S3LinkToStringMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/StringSetToStringSetMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringSetToStringSetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/StringSetToStringSetMarshaller.java index 043f4339bc3c..75ec7371f247 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/StringSetToStringSetMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringToStringMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/StringToStringMarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringToStringMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/StringToStringMarshaller.java index 35b828636782..3f8d1be2a0fc 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/StringToStringMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/StringToStringMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.ArgumentMarshaller.StringAttributeMarshaller; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/UUIDSetToStringSetMarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/UUIDSetToStringSetMarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/UUIDSetToStringSetMarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/UUIDSetToStringSetMarshaller.java index 72aa0ea2f4b9..4c4799c2d44e 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/UUIDSetToStringSetMarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/UUIDSetToStringSetMarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.ArrayList; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/package-info.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/package-info.java similarity index 90% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/package-info.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/package-info.java index 5ef2e9e6849a..45d33a44ffc1 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/marshallers/package-info.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/marshallers/package-info.java @@ -16,4 +16,4 @@ /** * Standard implementations of {@code ArgumentMarshaller}. */ -package software.amazon.awssdk.mapper.dynamodb.marshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.marshallers; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BSUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BSUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BSUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BSUnmarshaller.java index efad6d2e14e3..983c4e845cef 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BSUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BSUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BUnmarshaller.java index 3fff799cb04c..89974dc4aceb 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigDecimalSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigDecimalSetUnmarshaller.java index 7be1b633122e..9d311deffaa3 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigDecimalSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigDecimal; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigDecimalUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigDecimalUnmarshaller.java index d1be6d7cc93d..200c4282ceab 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigDecimalUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigDecimalUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigDecimal; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigIntegerSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigIntegerSetUnmarshaller.java index 77ffa0f0d2f2..ef138bd6ebeb 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigIntegerSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigInteger; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigIntegerUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigIntegerUnmarshaller.java index daca708921b9..0975b073309a 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BigIntegerUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BigIntegerUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.math.BigInteger; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BooleanSetUnmarshaller.java similarity index 97% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BooleanSetUnmarshaller.java index 47dceef76463..36dfac4b2dbd 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BooleanSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BooleanUnmarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BooleanUnmarshaller.java index 72aaa2ecbc7d..ae1dc6c2bb98 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/BooleanUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/BooleanUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArraySetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteArraySetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArraySetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteArraySetUnmarshaller.java index fbd2639cf73b..4431871a8827 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArraySetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteArraySetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArrayUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteArrayUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArrayUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteArrayUnmarshaller.java index 180d59a5c254..a8a86f72b988 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteArrayUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteArrayUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteBufferSetUnmarshaller.java similarity index 91% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteBufferSetUnmarshaller.java index 30ef34d7c342..ee7343a18b6c 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteBufferSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.nio.ByteBuffer; @@ -20,7 +20,7 @@ import java.util.Set; import software.amazon.awssdk.core.SdkBytes; -import software.amazon.awssdk.mapper.dynamodb.MapperBinaryUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperBinaryUtils; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteBufferUnmarshaller.java similarity index 89% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteBufferUnmarshaller.java index 554467a68ed8..61c5d0683c04 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteBufferUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteBufferUnmarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperBinaryUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperBinaryUtils; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteSetUnmarshaller.java index 754c65740a4f..67280db97484 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteUnmarshaller.java index 04b59efa7e39..d617e0742762 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ByteUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ByteUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CalendarSetUnmarshaller.java similarity index 91% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CalendarSetUnmarshaller.java index 0039c9bbb0b0..486cf0d27b99 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CalendarSetUnmarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import java.util.Calendar; import java.util.GregorianCalendar; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CalendarUnmarshaller.java similarity index 90% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CalendarUnmarshaller.java index 8ec5881dcf2b..23b9c4f6c1fb 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CalendarUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CalendarUnmarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import java.util.Calendar; import java.util.GregorianCalendar; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CustomUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CustomUnmarshaller.java similarity index 97% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CustomUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CustomUnmarshaller.java index 31252b89af33..59f47dee203a 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/CustomUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/CustomUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMappingException; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DateSetUnmarshaller.java similarity index 90% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DateSetUnmarshaller.java index 9ffce7aa710c..f7a5111f51e8 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DateSetUnmarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import java.util.Date; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DateUnmarshaller.java similarity index 89% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DateUnmarshaller.java index 764340ebc4d8..e06a3f7a751d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DateUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DateUnmarshaller.java @@ -12,10 +12,10 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; -import software.amazon.awssdk.mapper.dynamodb.MapperDateUtils; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DoubleSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DoubleSetUnmarshaller.java index 6adb8dfeb283..9d589450692c 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DoubleSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DoubleUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DoubleUnmarshaller.java index ce3b238a0c08..d992e5c3b8c0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/DoubleUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/DoubleUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/FloatSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/FloatSetUnmarshaller.java index 1ed5cd4d76cc..18d127a47f01 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/FloatSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/FloatUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/FloatUnmarshaller.java index a8b62140e864..aa3eb7db7964 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/FloatUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/FloatUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/IntegerSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/IntegerSetUnmarshaller.java index 273e9886ede9..4f59d9f4f479 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/IntegerSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/IntegerUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/IntegerUnmarshaller.java index 9669113d5a53..c79e8eae852b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/IntegerUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/IntegerUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LUnmarshaller.java index 7e890616ce6b..86fc05ec17bc 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ListUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ListUnmarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ListUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ListUnmarshaller.java index f9eb06a720b5..ed6f125a2084 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ListUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ListUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LongSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LongSetUnmarshaller.java index c13eb9a3e3a2..657571a463c0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LongSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LongUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LongUnmarshaller.java index e0b00b0935ff..fc4a8675ae09 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/LongUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/LongUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/MUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/MUnmarshaller.java index 201cc7dc6d6f..475e6f80ec87 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/MUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MapUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/MapUnmarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MapUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/MapUnmarshaller.java index 7593bc73973b..342c1f9c9d67 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/MapUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/MapUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NSUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NSUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NSUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NSUnmarshaller.java index f6fc26295eb6..23a1cbdfca6d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NSUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NSUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NUnmarshaller.java index 55490e1282e0..5c68010b0b93 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NullableUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NullableUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NullableUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NullableUnmarshaller.java index 5d0752b8a1a7..bbb8b855bf7b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/NullableUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/NullableUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ObjectSetUnmarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ObjectSetUnmarshaller.java index 4003ef82a60b..f48b2ecc1da8 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ObjectSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ObjectUnmarshaller.java similarity index 96% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ObjectUnmarshaller.java index 8407e6b5011e..91b96a7b98e0 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ObjectUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ObjectUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.text.ParseException; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/S3LinkUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/S3LinkUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/S3LinkUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/S3LinkUnmarshaller.java index 88ca6f0ccb60..059cab1a6b57 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/S3LinkUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/S3LinkUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.S3ClientCache; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SSUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/SSUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SSUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/SSUnmarshaller.java index 385f5f9cff76..f76a620d4f70 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SSUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/SSUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/SUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/SUnmarshaller.java index d983c9a11f46..42eff9e73beb 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/SUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/SUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.lang.reflect.Method; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ShortSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ShortSetUnmarshaller.java index 6ce6de00e2f4..ff216e018a1b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ShortSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ShortUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ShortUnmarshaller.java index e7822f105e32..7bbe4e1591e4 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/ShortUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/ShortUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/StringSetUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/StringSetUnmarshaller.java index e3de13a5d70a..4e36ddf3b05d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/StringSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/StringUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/StringUnmarshaller.java index 71421ba6ee56..eecaea4b2f10 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/StringUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/StringUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDSetUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/UUIDSetUnmarshaller.java similarity index 95% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDSetUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/UUIDSetUnmarshaller.java index f2e5afafbc4a..6e92c89fd082 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDSetUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/UUIDSetUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.HashSet; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/UUIDUnmarshaller.java similarity index 94% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDUnmarshaller.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/UUIDUnmarshaller.java index 9bb20f881afd..6201dfecbc83 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/UUIDUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/UUIDUnmarshaller.java @@ -12,7 +12,7 @@ * License for the specific language governing permissions and * limitations under the License. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; import software.amazon.awssdk.annotations.SdkInternalApi; import java.util.UUID; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/package-info.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/package-info.java similarity index 90% rename from services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/package-info.java rename to services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/package-info.java index 01d0ff2077af..55a36f9fba42 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/unmarshallers/package-info.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/internal/unmarshallers/package-info.java @@ -16,4 +16,4 @@ /** * Standard implementations of {@code ArgumentUnmarshaller}. */ -package software.amazon.awssdk.mapper.dynamodb.unmarshallers; +package software.amazon.awssdk.mapper.dynamodb.internal.unmarshallers; diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperBinaryUtilsTest.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperBinaryUtilsTest.java index efdc08a56253..40d950ac75eb 100644 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperBinaryUtilsTest.java +++ b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperBinaryUtilsTest.java @@ -24,6 +24,7 @@ import org.junit.Test; import software.amazon.awssdk.core.SdkBytes; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperBinaryUtils; /** * Tests {@link MapperBinaryUtils#toWritableByteBuffer(SdkBytes)}, which reproduces the v1 mapper's diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtilsTest.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtilsTest.java index ff15fde61fe0..fefab4076a49 100644 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtilsTest.java +++ b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/MapperDateUtilsTest.java @@ -24,6 +24,7 @@ import java.util.SimpleTimeZone; import org.junit.Test; +import software.amazon.awssdk.mapper.dynamodb.internal.MapperDateUtils; /** * Tests ISO-8601 parsing and formatting in {@link MapperDateUtils}, including fractional seconds, From 280ba8b6a1714763d09358bebf8f91608e87f68d Mon Sep 17 00:00:00 2001 From: RanVaknin <50976344+RanVaknin@users.noreply.github.com> Date: Fri, 28 Aug 2026 13:52:11 -0700 Subject: [PATCH 3/7] Swap remaining v1 SDK imports for v2 equivalents --- .../amazon/awssdk/mapper/dynamodb/ConvertibleType.java | 2 +- .../amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java | 2 +- .../awssdk/mapper/dynamodb/DynamoDBMapperModelFactory.java | 2 +- .../awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java | 2 +- .../amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java | 2 +- .../amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java | 3 +-- .../amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java | 4 ++-- .../amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java | 2 +- .../awssdk/mapper/dynamodb/TransactionWriteRequest.java | 2 +- .../awssdk/mapper/dynamodb/UpdateExpressionGenerator.java | 2 +- .../VersionAttributeConditionExpressionGenerator.java | 2 +- 11 files changed, 12 insertions(+), 13 deletions(-) diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java index 2d51fc985dbe..df0ffe3b30b9 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ConvertibleType.java @@ -14,7 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperFieldModel.DynamoDBAttributeType; import software.amazon.awssdk.mapper.dynamodb.StandardAnnotationMaps.TypedMap; import software.amazon.awssdk.mapper.dynamodb.StandardTypeConverters.Scalar; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java index c33b2c0e6e73..9dd1793ab939 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBAutoGenerator.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.mapper.dynamodb; import software.amazon.awssdk.annotations.SdkPublicApi; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; /** * Generator interface for auto-generating attribute values. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperModelFactory.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperModelFactory.java index 764aabd34ae3..c0efed1b02c7 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperModelFactory.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperModelFactory.java @@ -14,7 +14,7 @@ */ package software.amazon.awssdk.mapper.dynamodb; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; /** * {@link DynamoDBMapper} table model factory. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java index 6bf2ccc70ee9..209937504e19 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMappingsRegistry.java @@ -21,7 +21,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.StandardBeanProperties.Bean; /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java index 4a8ace152127..6b91d3a008de 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBTypeConverter.java @@ -15,7 +15,7 @@ package software.amazon.awssdk.mapper.dynamodb; import software.amazon.awssdk.annotations.SdkPublicApi; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; /** * Interface for converting types. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java index 027d79b363e5..663a35c2d26b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardAnnotationMaps.java @@ -18,10 +18,9 @@ import static software.amazon.awssdk.services.dynamodb.model.KeyType.HASH; import static software.amazon.awssdk.services.dynamodb.model.KeyType.RANGE; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperFieldModel.DynamoDBAttributeType; import software.amazon.awssdk.services.dynamodb.model.KeyType; -import com.amazonaws.util.StringUtils; import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java index 04382430a5d7..04d4c5673ebe 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/StandardBeanProperties.java @@ -14,12 +14,12 @@ */ package software.amazon.awssdk.mapper.dynamodb; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperFieldModel.DynamoDBAttributeType; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperFieldModel.Reflect; import software.amazon.awssdk.mapper.dynamodb.StandardAnnotationMaps.FieldMap; import software.amazon.awssdk.mapper.dynamodb.StandardAnnotationMaps.TableMap; -import com.amazonaws.util.StringUtils; +import software.amazon.awssdk.utils.StringUtils; import java.lang.reflect.Method; import java.util.Collections; diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java index f9d303ec34dd..9b7825e5899d 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionLoadRequest.java @@ -19,7 +19,7 @@ import java.util.ArrayList; import java.util.List; -import com.amazonaws.annotation.NotThreadSafe; +import software.amazon.awssdk.annotations.NotThreadSafe; /** * Represents objects to load using {@link DynamoDBMapper#transactionLoad(TransactionLoadRequest)} operation. diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java index 564831f279d7..4dd042ac8fac 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/TransactionWriteRequest.java @@ -19,7 +19,7 @@ import java.util.ArrayList; import java.util.List; -import com.amazonaws.annotation.NotThreadSafe; +import software.amazon.awssdk.annotations.NotThreadSafe; import software.amazon.awssdk.services.dynamodb.model.ReturnValuesOnConditionCheckFailure; /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/UpdateExpressionGenerator.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/UpdateExpressionGenerator.java index 446de3f2ed4a..9e81e260f4ef 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/UpdateExpressionGenerator.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/UpdateExpressionGenerator.java @@ -25,7 +25,7 @@ import java.util.Set; import java.util.zip.Adler32; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/VersionAttributeConditionExpressionGenerator.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/VersionAttributeConditionExpressionGenerator.java index 4e7724d8203a..c9722629816b 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/VersionAttributeConditionExpressionGenerator.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/VersionAttributeConditionExpressionGenerator.java @@ -18,7 +18,7 @@ import java.util.HashMap; import java.util.Map; -import com.amazonaws.annotation.SdkInternalApi; +import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; /** From 75025446f78e35c9e122ba4e3385bbdc6c3550cc Mon Sep 17 00:00:00 2001 From: RanVaknin <50976344+RanVaknin@users.noreply.github.com> Date: Fri, 28 Aug 2026 13:52:16 -0700 Subject: [PATCH 4/7] Remove dead reflection classes and deprecated RequestMetricCollector --- .../mapper/dynamodb/ArgumentUnmarshaller.java | 3 +- .../mapper/dynamodb/DynamoDBMapperConfig.java | 98 +---- .../mapper/dynamodb/DynamoDBReflector.java | 339 ------------------ .../mapper/dynamodb/ReflectionUtils.java | 124 ------- 4 files changed, 13 insertions(+), 551 deletions(-) delete mode 100644 services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBReflector.java delete mode 100644 services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java index f2b42e1a9ddb..0ded0efa3512 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ArgumentUnmarshaller.java @@ -35,8 +35,7 @@ public interface ArgumentUnmarshaller { /** * Unmarshalls the {@link AttributeValue} given into an instance of the - * appropriate type, as determined by {@link DynamoDBReflector} and - * {@link DynamoDBMapper} + * appropriate type, as determined by {@link DynamoDBMapper} * * @throws ParseException when unable to parse a date string */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java index b7e752f84b96..6886de0e3481 100644 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java +++ b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBMapperConfig.java @@ -15,7 +15,6 @@ package software.amazon.awssdk.mapper.dynamodb; import software.amazon.awssdk.annotations.SdkPublicApi; -import com.amazonaws.metrics.RequestMetricCollector; import software.amazon.awssdk.services.dynamodb.model.KeysAndAttributes; import software.amazon.awssdk.services.dynamodb.model.WriteRequest; import java.util.List; @@ -86,7 +85,6 @@ public static class Builder { private TableNameResolver tableNameResolver; private ObjectTableNameResolver objectTableNameResolver; private PaginationLoadingStrategy paginationLoadingStrategy; - private RequestMetricCollector requestMetricCollector; private ConversionSchema conversionSchema; private BatchWriteRetryStrategy batchWriteRetryStrategy; private BatchLoadRetryStrategy batchLoadRetryStrategy; @@ -124,7 +122,6 @@ private final Builder merge(final DynamoDBMapperConfig o) { if (o.tableNameResolver != null) tableNameResolver = o.tableNameResolver; if (o.objectTableNameResolver != null) objectTableNameResolver = o.objectTableNameResolver; if (o.paginationLoadingStrategy != null) paginationLoadingStrategy = o.paginationLoadingStrategy; - if (o.requestMetricCollector != null) requestMetricCollector = o.requestMetricCollector; if (o.conversionSchema != null) conversionSchema = o.conversionSchema; if (o.batchWriteRetryStrategy != null) batchWriteRetryStrategy = o.batchWriteRetryStrategy; if (o.batchLoadRetryStrategy != null) batchLoadRetryStrategy = o.batchLoadRetryStrategy; @@ -289,30 +286,6 @@ public Builder withPaginationLoadingStrategy( } - /** - * @return the currently-configured request metric collector - */ - public RequestMetricCollector getRequestMetricCollector() { - return requestMetricCollector; - } - - /** - * @param value the new request metric collector - */ - public void setRequestMetricCollector(RequestMetricCollector value) { - requestMetricCollector = value; - } - - /** - * @param value the new request metric collector - * @return this builder - */ - public Builder withRequestMetricCollector(RequestMetricCollector value) { - setRequestMetricCollector(value); - return this; - } - - /** * @return the current conversion schema */ @@ -893,7 +866,6 @@ public final DynamoDBMapperConfig config() { private final TableNameResolver tableNameResolver; private final ObjectTableNameResolver objectTableNameResolver; private final PaginationLoadingStrategy paginationLoadingStrategy; - private final RequestMetricCollector requestMetricCollector; private final ConversionSchema conversionSchema; private final BatchWriteRetryStrategy batchWriteRetryStrategy; private final BatchLoadRetryStrategy batchLoadRetryStrategy; @@ -909,7 +881,6 @@ private DynamoDBMapperConfig(final DynamoDBMapperConfig.Builder builder) { this.tableNameResolver = builder.tableNameResolver; this.objectTableNameResolver = builder.objectTableNameResolver; this.paginationLoadingStrategy = builder.paginationLoadingStrategy; - this.requestMetricCollector = builder.requestMetricCollector; this.conversionSchema = builder.conversionSchema; this.batchWriteRetryStrategy = builder.batchWriteRetryStrategy; this.batchLoadRetryStrategy = builder.batchLoadRetryStrategy; @@ -937,7 +908,7 @@ public DynamoDBMapperConfig( ConsistentReads consistentReads, TableNameOverride tableNameOverride) { - this(saveBehavior, consistentReads, tableNameOverride, null, null); + this(saveBehavior, consistentReads, tableNameOverride, (PaginationLoadingStrategy) null); } /** @@ -961,45 +932,9 @@ public DynamoDBMapperConfig( ConsistentReads consistentReads, TableNameOverride tableNameOverride, PaginationLoadingStrategy paginationLoadingStrategy) { - this(saveBehavior, consistentReads, tableNameOverride, - paginationLoadingStrategy, null); - } - - /** - * Constructs a new configuration object with the save behavior, consistent - * read behavior, and table name override given. - * - * @param saveBehavior - * The {@link SaveBehavior} to use, or null for default. - * @param consistentReads - * The {@link ConsistentReads} to use, or null for default. - * @param tableNameOverride - * An override for the table name, or null for no override. - * @param paginationLoadingStrategy - * The pagination loading strategy, or null for default. - * @param requestMetricCollector - * optional request metric collector - * @deprecated in favor of the fluent {@link Builder} - * @see DynamoDBMapperConfig#builder() - */ - @Deprecated - public DynamoDBMapperConfig( - SaveBehavior saveBehavior, - ConsistentReads consistentReads, - TableNameOverride tableNameOverride, - PaginationLoadingStrategy paginationLoadingStrategy, - RequestMetricCollector requestMetricCollector) { - - this(saveBehavior, - consistentReads, - tableNameOverride, - null, - null, - paginationLoadingStrategy, - requestMetricCollector, - DEFAULT.getConversionSchema(), - DEFAULT.getBatchWriteRetryStrategy(), - DEFAULT.getBatchLoadRetryStrategy()); + this(saveBehavior, consistentReads, tableNameOverride, null, null, + paginationLoadingStrategy, DEFAULT.getConversionSchema(), + DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } private DynamoDBMapperConfig( @@ -1009,7 +944,6 @@ private DynamoDBMapperConfig( TableNameResolver tableNameResolver, ObjectTableNameResolver objectTableNameResolver, PaginationLoadingStrategy paginationLoadingStrategy, - RequestMetricCollector requestMetricCollector, ConversionSchema conversionSchema, BatchWriteRetryStrategy batchWriteRetryStrategy, BatchLoadRetryStrategy batchLoadRetryStrategy) { @@ -1020,7 +954,6 @@ private DynamoDBMapperConfig( this.tableNameResolver = tableNameResolver; this.objectTableNameResolver = objectTableNameResolver; this.paginationLoadingStrategy = paginationLoadingStrategy; - this.requestMetricCollector = requestMetricCollector; this.conversionSchema = conversionSchema; this.batchWriteRetryStrategy = batchWriteRetryStrategy; this.batchLoadRetryStrategy = batchLoadRetryStrategy; @@ -1033,7 +966,7 @@ private DynamoDBMapperConfig( */ @Deprecated public DynamoDBMapperConfig(SaveBehavior saveBehavior) { - this(saveBehavior, null, null, null, null, null, null, + this(saveBehavior, null, null, null, null, null, DEFAULT.getConversionSchema(), DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } @@ -1044,7 +977,7 @@ public DynamoDBMapperConfig(SaveBehavior saveBehavior) { */ @Deprecated public DynamoDBMapperConfig(ConsistentReads consistentReads) { - this(null, consistentReads, null, null, null, null, null, + this(null, consistentReads, null, null, null, null, DEFAULT.getConversionSchema(), DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } @@ -1054,7 +987,7 @@ public DynamoDBMapperConfig(ConsistentReads consistentReads) { */ @Deprecated public DynamoDBMapperConfig(TableNameOverride tableNameOverride) { - this(null, null, tableNameOverride, null, null, null, null, + this(null, null, tableNameOverride, null, null, null, DEFAULT.getConversionSchema(), DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } @@ -1064,7 +997,7 @@ public DynamoDBMapperConfig(TableNameOverride tableNameOverride) { */ @Deprecated public DynamoDBMapperConfig(TableNameResolver tableNameResolver) { - this(null, null, null, tableNameResolver, null, null, null, + this(null, null, null, tableNameResolver, null, null, DEFAULT.getConversionSchema(), DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } @@ -1074,7 +1007,7 @@ public DynamoDBMapperConfig(TableNameResolver tableNameResolver) { */ @Deprecated public DynamoDBMapperConfig(ObjectTableNameResolver objectTableNameResolver) { - this(null, null, null, null, objectTableNameResolver, null, null, + this(null, null, null, null, objectTableNameResolver, null, DEFAULT.getConversionSchema(), DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } @@ -1084,7 +1017,7 @@ public DynamoDBMapperConfig(ObjectTableNameResolver objectTableNameResolver) { */ @Deprecated public DynamoDBMapperConfig(TableNameResolver tableNameResolver, ObjectTableNameResolver objectTableNameResolver) { - this(null, null, null, tableNameResolver, objectTableNameResolver, null, null, + this(null, null, null, tableNameResolver, objectTableNameResolver, null, DEFAULT.getConversionSchema(), DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } @@ -1097,7 +1030,7 @@ public DynamoDBMapperConfig(TableNameResolver tableNameResolver, ObjectTableName public DynamoDBMapperConfig( PaginationLoadingStrategy paginationLoadingStrategy) { - this(null, null, null, null, null, paginationLoadingStrategy, null, + this(null, null, null, null, null, paginationLoadingStrategy, DEFAULT.getConversionSchema(), DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } @@ -1107,7 +1040,7 @@ public DynamoDBMapperConfig( */ @Deprecated public DynamoDBMapperConfig(ConversionSchema conversionSchema) { - this(null, null, null, null, null, null, null, conversionSchema, DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); + this(null, null, null, null, null, null, conversionSchema, DEFAULT.getBatchWriteRetryStrategy(), DEFAULT.getBatchLoadRetryStrategy()); } /** @@ -1195,13 +1128,6 @@ public PaginationLoadingStrategy getPaginationLoadingStrategy() { return paginationLoadingStrategy; } - /** - * Returns the request metric collector or null if not specified. - */ - public RequestMetricCollector getRequestMetricCollector() { - return requestMetricCollector; - } - /** * @return the conversion schema for this config object */ diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBReflector.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBReflector.java deleted file mode 100644 index 7cb0c0dd7ec6..000000000000 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/DynamoDBReflector.java +++ /dev/null @@ -1,339 +0,0 @@ -/* - * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://aws.amazon.com/apache2.0 - * - * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES - * OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and - * limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb; - -import java.lang.reflect.Method; -import java.util.Collection; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; -import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; - -import com.amazonaws.annotation.GuardedBy; - -import com.amazonaws.annotation.SdkInternalApi; - -/** - * Reflection assistant for {@link DynamoDBMapper} - * - * @deprecated This class is internal only and should not be used. It will be removed in the next - * major version of the SDK. - */ -@Deprecated -@SdkInternalApi -class DynamoDBReflector { - - /* - * Several caches for performance. Collectively, they can make this class - * over twice as fast. - */ - private final Map, Collection> getterCache = new HashMap, Collection>(); - private final Map, Method> primaryHashKeyGetterCache = new HashMap, Method>(); - private final Map, Method> primaryRangeKeyGetterCache = new HashMap, Method>(); - private final Map, List> primaryKeyGettersCache = new HashMap, List>(); - - /* - * All caches keyed by a Method use the getter for a particular mapped - * property - */ - private final Map setterCache = new HashMap(); - - @GuardedBy("readWriteLockAttrName") - private final Map attributeNameCache = new HashMap(); - - private final Map versionAttributeGetterCache = new HashMap(); - private final Map autoGeneratedKeyGetterCache = new HashMap(); - - private final ReentrantReadWriteLock readWriteLockAttrName = new ReentrantReadWriteLock(); - private final ReadLock readLockAttrName = readWriteLockAttrName.readLock(); - private final WriteLock writeLockAttrName = readWriteLockAttrName.writeLock(); - - /** - * Returns the set of getter methods which are relevant when marshalling or - * unmarshalling an object. - */ - Collection getRelevantGetters(Class clazz) { - synchronized (getterCache) { - if ( !getterCache.containsKey(clazz) ) { - List relevantGetters = findRelevantGetters(clazz); - getterCache.put(clazz, relevantGetters); - } - return getterCache.get(clazz); - } - } - - static List findRelevantGetters(Class clazz) { - List relevantGetters = new LinkedList(); - for ( Method m : clazz.getMethods() ) { - if ( isRelevantGetter(m) ) { - relevantGetters.add(m); - } - } - return relevantGetters; - } - - /** - * Returns whether the method given is a getter method we should serialize / - * deserialize to the service. The method must begin with "get" or "is", - * have no arguments, belong to a class that declares its table, and not be - * marked ignored. - */ - private static boolean isRelevantGetter(Method m) { - return (m.getName().startsWith("get") || m.getName().startsWith("is")) - && m.getParameterTypes().length == 0 - && ! (m.isBridge() || m.isSynthetic()) - && isDocumentType(m.getDeclaringClass()) - && !ReflectionUtils.getterOrFieldHasAnnotation(m, DynamoDBIgnore.class); - } - - private static boolean isDocumentType(Class clazz) { - return (clazz.getAnnotation(DynamoDBTable.class) != null) - || (clazz.getAnnotation(DynamoDBDocument.class) != null); - } - - /** - * Returns the annotated {@link DynamoDBRangeKey} getter for the class - * given, or null if the class doesn't have one. - */ - Method getPrimaryRangeKeyGetter(Class clazz) { - synchronized (primaryRangeKeyGetterCache) { - if ( !primaryRangeKeyGetterCache.containsKey(clazz) ) { - Method rangeKeyMethod = null; - for ( Method method : getRelevantGetters(clazz) ) { - if ( method.getParameterTypes().length == 0 - && ReflectionUtils.getterOrFieldHasAnnotation(method, DynamoDBRangeKey.class)) { - rangeKeyMethod = method; - break; - } - } - primaryRangeKeyGetterCache.put(clazz, rangeKeyMethod); - } - return primaryRangeKeyGetterCache.get(clazz); - } - } - - /** - * Returns all annotated {@link DynamoDBHashKey} and - * {@link DynamoDBRangeKey} getters for the class given, throwing an - * exception if there isn't one. - */ - Collection getPrimaryKeyGetters(Class clazz) { - synchronized (primaryKeyGettersCache) { - if ( !primaryKeyGettersCache.containsKey(clazz) ) { - List keyGetters = new LinkedList(); - for (Method getter : getRelevantGetters(clazz)) { - if (ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBHashKey.class) - || ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBRangeKey.class)) { - keyGetters.add(getter); - } - } - primaryKeyGettersCache.put(clazz, keyGetters); - } - return primaryKeyGettersCache.get(clazz); - } - } - - - /** - * Returns the annotated {@link DynamoDBHashKey} getter for the class given, - * throwing an exception if there isn't one. - */ - Method getPrimaryHashKeyGetter(Class clazz) { - Method hashKeyMethod; - synchronized (primaryHashKeyGetterCache) { - if ( !primaryHashKeyGetterCache.containsKey(clazz) ) { - for ( Method method : getRelevantGetters(clazz) ) { - if ( method.getParameterTypes().length == 0 - && ReflectionUtils.getterOrFieldHasAnnotation(method, DynamoDBHashKey.class)) { - primaryHashKeyGetterCache.put(clazz, method); - break; - } - } - } - hashKeyMethod = primaryHashKeyGetterCache.get(clazz); - } - - if ( hashKeyMethod == null ) { - throw new DynamoDBMappingException("Public, zero-parameter hash key property must be annotated with " - + DynamoDBHashKey.class); - } - return hashKeyMethod; - } - - /** - * Returns the {@link DynamoDBTable} annotation of the class given, throwing - * a runtime exception if it isn't annotated. - */ - DynamoDBTable getTable(Class clazz) { - DynamoDBTable table = clazz.getAnnotation(DynamoDBTable.class); - if ( table == null ) - throw new DynamoDBMappingException("Class " + clazz + " must be annotated with " + DynamoDBTable.class); - return table; - } - - /** - * Returns the attribute name corresponding to the given getter method. - */ - String getAttributeName(Method getter) { - String attributeName; - readLockAttrName.lock(); - try { - attributeName = attributeNameCache.get(getter); - } finally { - readLockAttrName.unlock(); - } - if ( attributeName != null ) - return attributeName; - DynamoDBHashKey hashKeyAnnotation = ReflectionUtils.getAnnotationFromGetterOrField(getter, DynamoDBHashKey.class); - if ( hashKeyAnnotation != null ) { - attributeName = hashKeyAnnotation.attributeName(); - if ( attributeName != null && attributeName.length() > 0 ) - return cacheAttributeName(getter, attributeName); - } - DynamoDBIndexHashKey indexHashKey = ReflectionUtils.getAnnotationFromGetterOrField(getter, DynamoDBIndexHashKey.class); - if ( indexHashKey != null ) { - attributeName = indexHashKey.attributeName(); - if ( attributeName != null && attributeName.length() > 0 ) - return cacheAttributeName(getter, attributeName); - } - DynamoDBRangeKey rangeKey = ReflectionUtils.getAnnotationFromGetterOrField(getter, DynamoDBRangeKey.class); - if ( rangeKey != null ) { - attributeName = rangeKey.attributeName(); - if ( attributeName != null && attributeName.length() > 0 ) - return cacheAttributeName(getter, attributeName); - } - DynamoDBIndexRangeKey indexRangeKey = ReflectionUtils.getAnnotationFromGetterOrField(getter, DynamoDBIndexRangeKey.class); - if ( indexRangeKey != null ) { - attributeName = indexRangeKey.attributeName(); - if ( attributeName != null && attributeName.length() > 0 ) - return cacheAttributeName(getter, attributeName); - } - DynamoDBAttribute attribute = ReflectionUtils.getAnnotationFromGetterOrField(getter, DynamoDBAttribute.class); - if ( attribute != null ) { - attributeName = attribute.attributeName(); - if ( attributeName != null && attributeName.length() > 0 ) - return cacheAttributeName(getter, attributeName); - } - DynamoDBVersionAttribute version = ReflectionUtils.getAnnotationFromGetterOrField(getter, DynamoDBVersionAttribute.class); - if ( version != null ) { - attributeName = version.attributeName(); - if ( attributeName != null && attributeName.length() > 0 ) - return cacheAttributeName(getter, attributeName); - } - // Default to the camel-cased field name of the getter method, inferred - // according to the Java naming convention. - attributeName = ReflectionUtils.getFieldNameByGetter(getter, true); - return cacheAttributeName(getter, attributeName); - } - - private String cacheAttributeName(Method getter, String attributeName) { - writeLockAttrName.lock(); - try { - attributeNameCache.put(getter, attributeName); - } finally { - writeLockAttrName.unlock(); - } - return attributeName; - } - - /** - * Returns the setter corresponding to the getter given, or null if no such - * setter exists. - */ - Method getSetter(Method getter) { - synchronized (setterCache) { - if ( !setterCache.containsKey(getter) ) { - String fieldName = ReflectionUtils.getFieldNameByGetter(getter, false); - String setterName = "set" + fieldName; - Method setter = null; - try { - setter = getter.getDeclaringClass().getMethod(setterName, getter.getReturnType()); - } catch ( NoSuchMethodException e ) { - throw new DynamoDBMappingException("Expected a public, one-argument method called " + setterName - + " on " + getter.getDeclaringClass(), e); - } catch ( SecurityException e ) { - throw new DynamoDBMappingException("No access to public, one-argument method called " + setterName - + " on " + getter.getDeclaringClass(), e); - } - setterCache.put(getter, setter); - } - return setterCache.get(getter); - } - } - - /** - * Returns whether the method given is an annotated, no-args getter of a - * version attribute. - */ - boolean isVersionAttributeGetter(Method getter) { - synchronized (versionAttributeGetterCache) { - if ( !versionAttributeGetterCache.containsKey(getter) ) { - versionAttributeGetterCache.put( - getter, - getter.getName().startsWith("get") && getter.getParameterTypes().length == 0 - && ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBVersionAttribute.class)); - } - return versionAttributeGetterCache.get(getter); - } - } - - /** - * Returns whether the method given is an assignable key getter. - */ - boolean isAssignableKey(Method getter) { - synchronized (autoGeneratedKeyGetterCache) { - if ( !autoGeneratedKeyGetterCache.containsKey(getter) ) { - autoGeneratedKeyGetterCache.put( - getter, - ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBAutoGeneratedKey.class) - && ( ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBHashKey.class) || - ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBRangeKey.class) || - ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBIndexHashKey.class) || - ReflectionUtils.getterOrFieldHasAnnotation(getter, DynamoDBIndexRangeKey.class))); - } - return autoGeneratedKeyGetterCache.get(getter); - } - } - - /** - * Returns the name of the primary hash key. - */ - String getPrimaryHashKeyName(Class clazz) { - return getAttributeName(getPrimaryHashKeyGetter(clazz)); - } - - /** - * Returns the name of the primary range key, or null if the table does not - * one. - */ - String getPrimaryRangeKeyName(Class clazz) { - Method primaryRangeKeyGetter = getPrimaryHashKeyGetter(clazz); - return primaryRangeKeyGetter == null ? - null - : - getAttributeName(getPrimaryRangeKeyGetter(clazz)); - } - - /** - * Returns true if and only if the specified class has declared a - * primary range key. - */ - boolean hasPrimaryRangeKey(Class clazz) { - return getPrimaryRangeKeyGetter(clazz) != null; - } -} diff --git a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java b/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java deleted file mode 100644 index 3273f342bc44..000000000000 --- a/services-custom/dynamodb-mapper/src/main/java/software/amazon/awssdk/mapper/dynamodb/ReflectionUtils.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2011-2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://aws.amazon.com/apache2.0 - * - * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES - * OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and - * limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb; - -import software.amazon.awssdk.annotations.SdkInternalApi; -import java.lang.annotation.Annotation; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import com.amazonaws.util.StringUtils; - -/** - * @deprecated Replaced by {@link StandardBeanProperties} - */ -@SdkInternalApi -@Deprecated -class ReflectionUtils { - - private ReflectionUtils() { - } - - /** - * Returns the field name that corresponds to the given getter method, - * according to the Java naming convention. - * - * @param getter - * The getter method. - * @param forceCamelCase - * True if the returned field name should be in camel-case, i.e. - * the first letter is lower-cased. - */ - static String getFieldNameByGetter(Method getter, boolean forceCamelCase) { - String getterName = getter.getName(); - - String fieldNameWithUpperCamelCase = ""; - if ( getterName.startsWith("get") ) { - fieldNameWithUpperCamelCase = getterName.substring("get".length()); - } else if ( getterName.startsWith("is") ) { - fieldNameWithUpperCamelCase = getterName.substring("is".length()); - } - - if (fieldNameWithUpperCamelCase.length() == 0) { - throw new DynamoDBMappingException( - "Getter must begin with 'get' or 'is', and the field name must contain at least one character."); - } - - if (forceCamelCase) { - // Lowercase the first letter of the name - return StringUtils.lowerCase(fieldNameWithUpperCamelCase.substring(0, 1)) + fieldNameWithUpperCamelCase.substring(1); - } else { - return fieldNameWithUpperCamelCase; - } - - } - - /** - * Returns the Field object for the specified field name declared in the - * specified class. Returns null if no such field can be found. - * - * @param clazz - * The declaring class where the field will be reflected. This - * method will NOT attempt to reflect its superclass if such - * field is not found in this class. - * @param fieldName - * The case-sensitive name of the field to be searched. - */ - static Field getClassFieldByName(Class clazz, String fieldName) { - try { - return clazz.getDeclaredField(fieldName); - } catch (SecurityException e) { - throw new DynamoDBMappingException( - "Denied access to the [" + fieldName + "] field in class [" + clazz + "].", e); - } catch (NoSuchFieldException e) { - return null; - } - } - - /** - * This method searches for a specific type of annotation that is applied to - * either the specified getter method or its corresponding class field. - * Returns the annotation if it is found, else null. - */ - static T getAnnotationFromGetterOrField( - Method getter, Class annotationClass) { - // Check annotation on the getter method - T onGetter = getter.getAnnotation(annotationClass); - if (onGetter != null) { - return onGetter; - } - - // Check annotation on the corresponding field - String fieldName = getFieldNameByGetter(getter, true); - // Only consider the field declared in the same class where getter is defined. - Field field = getClassFieldByName(getter.getDeclaringClass(), fieldName); - T onField = null; - if (field != null) { - onField = field.getAnnotation(annotationClass); - } - return onField; - } - - /** - * Returns true if an annotation for the specified type is found on the - * getter method or its corresponding class field. - */ - static boolean getterOrFieldHasAnnotation( - Method getter, Class annotationClass) { - return getAnnotationFromGetterOrField(getter, annotationClass) != null; - } - -} From 4fa73a574541b69dcb4a62241412a4befd10bd41 Mon Sep 17 00:00:00 2001 From: RanVaknin <50976344+RanVaknin@users.noreply.github.com> Date: Fri, 28 Aug 2026 13:52:21 -0700 Subject: [PATCH 5/7] Restore data plane functional tests on the v2 client --- services-custom/dynamodb-mapper/pom.xml | 15 -- .../awssdk/mapper/dynamodb/BatchLoadTest.java | 42 +++- .../mapper/dynamodb/GsiAlwaysUpdateTest.java | 53 +++-- .../dynamodb/mapper/BatchWriteTest.java | 34 +++- .../mapper/HashKeyOnlyTableWithGSITest.java | 85 ++++---- .../MapperLoadingStrategyConfigTest.java | 57 +++--- .../test/resources/DynamoDBTableResource.java | 186 ------------------ .../test/resources/RequiredResources.java | 77 -------- ...ResourceCentricBlockJUnit4ClassRunner.java | 173 ---------------- .../dynamodb/test/resources/TestResource.java | 74 ------- .../test/resources/TestResourceUtils.java | 65 ------ .../test/resources/tables/BasicTempTable.java | 32 --- .../tables/TempTableWithBinaryKey.java | 33 ---- .../tables/TempTableWithSecondaryIndexes.java | 90 --------- 14 files changed, 177 insertions(+), 839 deletions(-) delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/DynamoDBTableResource.java delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/RequiredResources.java delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/ResourceCentricBlockJUnit4ClassRunner.java delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResource.java delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResourceUtils.java delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/BasicTempTable.java delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithBinaryKey.java delete mode 100644 services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithSecondaryIndexes.java diff --git a/services-custom/dynamodb-mapper/pom.xml b/services-custom/dynamodb-mapper/pom.xml index 548ff5674119..383c9e4785eb 100644 --- a/services-custom/dynamodb-mapper/pom.xml +++ b/services-custom/dynamodb-mapper/pom.xml @@ -59,27 +59,12 @@ software/amazon/awssdk/mapper/dynamodb/S3ClientCacheIntegrationTest.java software/amazon/awssdk/mapper/dynamodb/S3LinkIDTest.java software/amazon/awssdk/mapper/dynamodb/S3LinkTest.java - - software/amazon/awssdk/mapper/dynamodb/GsiAlwaysUpdateTest.java - software/amazon/awssdk/mapper/dynamodb/LocalDynamoDB.java - software/amazon/awssdk/mapper/dynamodb/LocalDynamoDBTestBase.java - software/amazon/awssdk/mapper/dynamodb/BatchLoadTest.java - software/amazon/awssdk/mapper/dynamodb/mapper/BatchWriteTest.java software/amazon/awssdk/mapper/dynamodb/JsonIntegrationTest.java software/amazon/awssdk/mapper/dynamodb/GenerateDeleteTableRequestTest.java software/amazon/awssdk/mapper/dynamodb/mapper/GenerateCreateTableRequest2Test.java software/amazon/awssdk/mapper/dynamodb/mapper/GenerateCreateTableRequestTest.java - software/amazon/awssdk/mapper/dynamodb/mapper/HashKeyOnlyTableWithGSITest.java - software/amazon/awssdk/mapper/dynamodb/mapper/MapperLoadingStrategyConfigTest.java - - software/amazon/awssdk/mapper/dynamodb/test/resources/DynamoDBTableResource.java - software/amazon/awssdk/mapper/dynamodb/test/resources/ResourceCentricBlockJUnit4ClassRunner.java - software/amazon/awssdk/mapper/dynamodb/test/resources/TestResourceUtils.java - software/amazon/awssdk/mapper/dynamodb/test/resources/tables/BasicTempTable.java - software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithBinaryKey.java - software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithSecondaryIndexes.java diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadTest.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadTest.java index 605ada6e3fb7..455cc6a6f884 100644 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadTest.java +++ b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/BatchLoadTest.java @@ -25,6 +25,10 @@ import software.amazon.awssdk.mapper.dynamodb.mapper.NumberSetAttributeClass; import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest; import software.amazon.awssdk.mapper.dynamodb.pojos.RangeKeyClass; +import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition; +import software.amazon.awssdk.services.dynamodb.model.KeySchemaElement; +import software.amazon.awssdk.services.dynamodb.model.KeyType; +import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType; import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; @@ -58,14 +62,36 @@ public static void setUp() throws Exception { dynamo = client(); mapper = new DynamoDBMapper(dynamo, new DynamoDBMapperConfig(SaveBehavior.UPDATE, ConsistentReads.CONSISTENT, null)); - CreateTableRequest createTableRequest = mapper.generateCreateTableRequest(NumberSetAttributeClass.class) - .toBuilder().provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT).build(); - CreateTableRequest createTableRequest2 = mapper.generateCreateTableRequest(RangeKeyClass.class) - .toBuilder().provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT).build(); - tableName = createTableRequest.tableName(); - tableName2 = createTableRequest2.tableName(); - dynamo.createTable(createTableRequest); - dynamo.createTable(createTableRequest2); + // Table setup is built directly against the v2 client rather than via + // mapper.generateCreateTableRequest(), which is part of the deferred table-admin port. + // The behavior under test is the data plane (batchSave/batchLoad), not table creation. + tableName = "aws-java-sdk-util"; + tableName2 = "aws-java-sdk-range-test"; + dynamo.createTable(hashKeyTable(tableName, "key")); + dynamo.createTable(hashAndRangeKeyTable(tableName2, "key", "rangeKey")); + } + + private static CreateTableRequest hashKeyTable(String tableName, String hashKey) { + return CreateTableRequest.builder() + .tableName(tableName) + .keySchema(KeySchemaElement.builder().attributeName(hashKey).keyType(KeyType.HASH).build()) + .attributeDefinitions(AttributeDefinition.builder().attributeName(hashKey) + .attributeType(ScalarAttributeType.S).build()) + .provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT) + .build(); + } + + private static CreateTableRequest hashAndRangeKeyTable(String tableName, String hashKey, String rangeKey) { + return CreateTableRequest.builder() + .tableName(tableName) + .keySchema(KeySchemaElement.builder().attributeName(hashKey).keyType(KeyType.HASH).build(), + KeySchemaElement.builder().attributeName(rangeKey).keyType(KeyType.RANGE).build()) + .attributeDefinitions(AttributeDefinition.builder().attributeName(hashKey) + .attributeType(ScalarAttributeType.N).build(), + AttributeDefinition.builder().attributeName(rangeKey) + .attributeType(ScalarAttributeType.N).build()) + .provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT) + .build(); } @Test diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/GsiAlwaysUpdateTest.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/GsiAlwaysUpdateTest.java index 95e353e784c0..5a4f84928d34 100644 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/GsiAlwaysUpdateTest.java +++ b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/GsiAlwaysUpdateTest.java @@ -14,28 +14,31 @@ */ package software.amazon.awssdk.mapper.dynamodb; -import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; - import static org.junit.Assert.assertNotEquals; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperConfig; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBTableMapper; -import com.amazonaws.services.dynamodbv2.model.DescribeTableRequest; -import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; -import software.amazon.awssdk.mapper.dynamodb.pojos.GsiWithAlwaysUpdateTimestamp; -import com.amazonaws.waiters.WaiterParameters; import java.util.UUID; import org.junit.After; import org.junit.Before; import org.junit.Test; +import software.amazon.awssdk.mapper.dynamodb.pojos.GsiWithAlwaysUpdateTimestamp; +import software.amazon.awssdk.services.dynamodb.DynamoDbClient; +import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition; +import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest; +import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest; +import software.amazon.awssdk.services.dynamodb.model.GlobalSecondaryIndex; +import software.amazon.awssdk.services.dynamodb.model.KeySchemaElement; +import software.amazon.awssdk.services.dynamodb.model.KeyType; +import software.amazon.awssdk.services.dynamodb.model.Projection; +import software.amazon.awssdk.services.dynamodb.model.ProjectionType; +import software.amazon.awssdk.services.dynamodb.model.ProvisionedThroughput; +import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType; public class GsiAlwaysUpdateTest extends LocalDynamoDBTestBase { private static final String TABLE_NAME = GsiAlwaysUpdateTest.class.getSimpleName() + "-" + System.currentTimeMillis(); - private AmazonDynamoDB ddb; + private DynamoDbClient ddb; private DynamoDBTableMapper mapper; @Before @@ -44,16 +47,34 @@ public void setup() throws InterruptedException { mapper = new DynamoDBMapper(ddb, DynamoDBMapperConfig.builder() .withTableNameOverride(new DynamoDBMapperConfig.TableNameOverride(TABLE_NAME)) .build()).newTableMapper(GsiWithAlwaysUpdateTimestamp.class); - mapper.createTable(new ProvisionedThroughput(5L, 5L)); - ddb.waiters().tableExists() - .run(new WaiterParameters(new DescribeTableRequest(TABLE_NAME))); + // Table setup is built directly against the v2 client rather than via the mapper's + // createTable(), which is part of the deferred table-admin port. Against DynamoDB Local + // the table is active immediately, so no waiter is needed. The behavior under test is that + // an ALWAYS auto-generated timestamp indexed by a GSI is regenerated on every save. + ProvisionedThroughput throughput = ProvisionedThroughput.builder() + .readCapacityUnits(5L).writeCapacityUnits(5L).build(); + ddb.createTable(CreateTableRequest.builder() + .tableName(TABLE_NAME) + .keySchema(KeySchemaElement.builder().attributeName("hashKey").keyType(KeyType.HASH).build(), + KeySchemaElement.builder().attributeName("rangeKey").keyType(KeyType.RANGE).build()) + .attributeDefinitions( + AttributeDefinition.builder().attributeName("hashKey").attributeType(ScalarAttributeType.S).build(), + AttributeDefinition.builder().attributeName("rangeKey").attributeType(ScalarAttributeType.S).build(), + AttributeDefinition.builder().attributeName("lastModifiedDate") + .attributeType(ScalarAttributeType.N).build()) + .globalSecondaryIndexes(GlobalSecondaryIndex.builder() + .indexName("last-mod-date") + .keySchema(KeySchemaElement.builder().attributeName("lastModifiedDate").keyType(KeyType.HASH).build()) + .projection(Projection.builder().projectionType(ProjectionType.ALL).build()) + .provisionedThroughput(throughput) + .build()) + .provisionedThroughput(throughput) + .build()); } @After public void tearDown() { - mapper.deleteTableIfExists(); - ddb.waiters().tableNotExists() - .run(new WaiterParameters(new DescribeTableRequest(TABLE_NAME))); + ddb.deleteTable(DeleteTableRequest.builder().tableName(TABLE_NAME).build()); } @Test diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/BatchWriteTest.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/BatchWriteTest.java index 3cb117149ae8..4e18f504337e 100644 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/BatchWriteTest.java +++ b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/BatchWriteTest.java @@ -22,7 +22,11 @@ import software.amazon.awssdk.mapper.dynamodb.LocalDynamoDBTestBase; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper.FailedBatch; +import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition; import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest; +import software.amazon.awssdk.services.dynamodb.model.KeySchemaElement; +import software.amazon.awssdk.services.dynamodb.model.KeyType; +import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType; import software.amazon.awssdk.mapper.dynamodb.pojos.BinaryAttributeByteBufferClass; import software.amazon.awssdk.mapper.dynamodb.pojos.RangeKeyClass; import java.math.BigDecimal; @@ -56,11 +60,31 @@ public class BatchWriteTest extends LocalDynamoDBTestBase { @BeforeClass public static void setUp() throws Exception { dynamo = client(); - DynamoDBMapper mapper = new DynamoDBMapper(dynamo); - dynamo.createTable(mapper.generateCreateTableRequest(NumberSetAttributeClass.class) - .toBuilder().provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT).build()); - dynamo.createTable(mapper.generateCreateTableRequest(RangeKeyClass.class) - .toBuilder().provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT).build()); + dynamo.createTable(hashKeyTable("aws-java-sdk-util", "key")); + dynamo.createTable(hashAndRangeKeyTable("aws-java-sdk-range-test", "key", "rangeKey")); + } + + private static CreateTableRequest hashKeyTable(String tableName, String hashKey) { + return CreateTableRequest.builder() + .tableName(tableName) + .keySchema(KeySchemaElement.builder().attributeName(hashKey).keyType(KeyType.HASH).build()) + .attributeDefinitions(AttributeDefinition.builder().attributeName(hashKey) + .attributeType(ScalarAttributeType.S).build()) + .provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT) + .build(); + } + + private static CreateTableRequest hashAndRangeKeyTable(String tableName, String hashKey, String rangeKey) { + return CreateTableRequest.builder() + .tableName(tableName) + .keySchema(KeySchemaElement.builder().attributeName(hashKey).keyType(KeyType.HASH).build(), + KeySchemaElement.builder().attributeName(rangeKey).keyType(KeyType.RANGE).build()) + .attributeDefinitions(AttributeDefinition.builder().attributeName(hashKey) + .attributeType(ScalarAttributeType.N).build(), + AttributeDefinition.builder().attributeName(rangeKey) + .attributeType(ScalarAttributeType.N).build()) + .provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT) + .build(); } @Test diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/HashKeyOnlyTableWithGSITest.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/HashKeyOnlyTableWithGSITest.java index 75ea015b563b..4200b8f29991 100644 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/HashKeyOnlyTableWithGSITest.java +++ b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/HashKeyOnlyTableWithGSITest.java @@ -2,7 +2,7 @@ import static org.junit.Assert.assertEquals; -import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; +import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.mapper.dynamodb.LocalDynamoDBTestBase; import software.amazon.awssdk.mapper.dynamodb.DynamoDBHashKey; import software.amazon.awssdk.mapper.dynamodb.DynamoDBIndexHashKey; @@ -11,21 +11,19 @@ import software.amazon.awssdk.mapper.dynamodb.DynamoDBQueryExpression; import software.amazon.awssdk.mapper.dynamodb.DynamoDBTable; import software.amazon.awssdk.mapper.dynamodb.PaginatedQueryList; -import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; -import com.amazonaws.services.dynamodbv2.model.AttributeValue; -import com.amazonaws.services.dynamodbv2.model.ComparisonOperator; -import com.amazonaws.services.dynamodbv2.model.Condition; -import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; -import com.amazonaws.services.dynamodbv2.model.GlobalSecondaryIndex; -import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; -import com.amazonaws.services.dynamodbv2.model.KeyType; -import com.amazonaws.services.dynamodbv2.model.Projection; -import com.amazonaws.services.dynamodbv2.model.ProjectionType; -import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; -import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; -import com.amazonaws.services.dynamodbv2.util.TableUtils; -import java.util.ArrayList; -import java.util.List; +import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition; +import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +import software.amazon.awssdk.services.dynamodb.model.ComparisonOperator; +import software.amazon.awssdk.services.dynamodb.model.Condition; +import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest; +import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest; +import software.amazon.awssdk.services.dynamodb.model.GlobalSecondaryIndex; +import software.amazon.awssdk.services.dynamodb.model.KeySchemaElement; +import software.amazon.awssdk.services.dynamodb.model.KeyType; +import software.amazon.awssdk.services.dynamodb.model.Projection; +import software.amazon.awssdk.services.dynamodb.model.ProjectionType; +import software.amazon.awssdk.services.dynamodb.model.ProvisionedThroughput; +import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; @@ -36,38 +34,40 @@ public class HashKeyOnlyTableWithGSITest extends LocalDynamoDBTestBase { public static final String HASH_KEY_ONLY_TABLE_NAME = "no-primary-range-key-gsi-test"; - private static AmazonDynamoDB dynamo; + private static DynamoDbClient dynamo; @BeforeClass public static void setUp() throws Exception { dynamo = client(); - List keySchema = new ArrayList(); - keySchema.add(new KeySchemaElement("id", KeyType.HASH)); - - CreateTableRequest req = new CreateTableRequest(HASH_KEY_ONLY_TABLE_NAME, keySchema) - .withProvisionedThroughput(new ProvisionedThroughput(10L, 10L)) - .withAttributeDefinitions( - new AttributeDefinition("id", ScalarAttributeType.S), - new AttributeDefinition("status", ScalarAttributeType.S), - new AttributeDefinition("ts", ScalarAttributeType.S)) - .withGlobalSecondaryIndexes( - new GlobalSecondaryIndex() - .withProvisionedThroughput(new ProvisionedThroughput(10L, 10L)) - .withIndexName("statusAndCreation") - .withKeySchema( - new KeySchemaElement("status", KeyType.HASH), - new KeySchemaElement("ts", KeyType.RANGE)) - .withProjection( - new Projection().withProjectionType(ProjectionType.ALL))); - - TableUtils.createTableIfNotExists(dynamo, req); - TableUtils.waitUntilActive(dynamo, HASH_KEY_ONLY_TABLE_NAME); + CreateTableRequest req = CreateTableRequest.builder() + .tableName(HASH_KEY_ONLY_TABLE_NAME) + .keySchema(KeySchemaElement.builder().attributeName("id").keyType(KeyType.HASH).build()) + .provisionedThroughput(ProvisionedThroughput.builder() + .readCapacityUnits(10L).writeCapacityUnits(10L).build()) + .attributeDefinitions( + AttributeDefinition.builder().attributeName("id").attributeType(ScalarAttributeType.S).build(), + AttributeDefinition.builder().attributeName("status").attributeType(ScalarAttributeType.S).build(), + AttributeDefinition.builder().attributeName("ts").attributeType(ScalarAttributeType.S).build()) + .globalSecondaryIndexes( + GlobalSecondaryIndex.builder() + .provisionedThroughput(ProvisionedThroughput.builder() + .readCapacityUnits(10L).writeCapacityUnits(10L).build()) + .indexName("statusAndCreation") + .keySchema( + KeySchemaElement.builder().attributeName("status").keyType(KeyType.HASH).build(), + KeySchemaElement.builder().attributeName("ts").keyType(KeyType.RANGE).build()) + .projection( + Projection.builder().projectionType(ProjectionType.ALL).build()) + .build()) + .build(); + + dynamo.createTable(req); } @AfterClass public static void tearDown() throws Exception { - dynamo.deleteTable(HASH_KEY_ONLY_TABLE_NAME); + dynamo.deleteTable(DeleteTableRequest.builder().tableName(HASH_KEY_ONLY_TABLE_NAME).build()); } @DynamoDBTable(tableName = HASH_KEY_ONLY_TABLE_NAME) @@ -126,9 +126,10 @@ public void testGSIQuery() throws Exception { .withConsistentRead(false) .withHashKeyValues(user) .withRangeKeyCondition("ts", - new Condition() - .withComparisonOperator(ComparisonOperator.GT) - .withAttributeValueList(new AttributeValue("100"))); + Condition.builder() + .comparisonOperator(ComparisonOperator.GT) + .attributeValueList(AttributeValue.builder().s("100").build()) + .build()); queryResult = mapper.query(User.class, expr); } while (queryResult.size() == 0 && System.currentTimeMillis() < endTime); diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/MapperLoadingStrategyConfigTest.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/MapperLoadingStrategyConfigTest.java index bdea6d897bac..4bd78fdece8f 100644 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/MapperLoadingStrategyConfigTest.java +++ b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/mapper/MapperLoadingStrategyConfigTest.java @@ -2,7 +2,7 @@ import static org.junit.Assert.*; -import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; +import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.mapper.dynamodb.LocalDynamoDBTestBase; import java.lang.reflect.Field; import java.util.ArrayList; @@ -11,7 +11,6 @@ import org.junit.BeforeClass; import org.junit.Test; -import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperIntegrationTestBase; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapper; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperConfig; import software.amazon.awssdk.mapper.dynamodb.DynamoDBMapperConfig.ConsistentReads; @@ -19,9 +18,14 @@ import software.amazon.awssdk.mapper.dynamodb.DynamoDBQueryExpression; import software.amazon.awssdk.mapper.dynamodb.DynamoDBScanExpression; import software.amazon.awssdk.mapper.dynamodb.PaginatedList; -import com.amazonaws.services.dynamodbv2.model.AttributeValue; -import com.amazonaws.services.dynamodbv2.model.ComparisonOperator; -import com.amazonaws.services.dynamodbv2.model.Condition; +import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition; +import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +import software.amazon.awssdk.services.dynamodb.model.ComparisonOperator; +import software.amazon.awssdk.services.dynamodb.model.Condition; +import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest; +import software.amazon.awssdk.services.dynamodb.model.KeySchemaElement; +import software.amazon.awssdk.services.dynamodb.model.KeyType; +import software.amazon.awssdk.services.dynamodb.model.ScalarAttributeType; import software.amazon.awssdk.mapper.dynamodb.pojos.RangeKeyClass; /** @@ -34,14 +38,21 @@ public class MapperLoadingStrategyConfigTest extends LocalDynamoDBTestBase { private static int PARALLEL_SEGMENT = 3; private static int OBJECTS_NUM = 50; private static int RESULTS_NUM = OBJECTS_NUM - 2; // condition: rangeKey > 1.0 - private static AmazonDynamoDB dynamo; + private static DynamoDbClient dynamo; @BeforeClass public static void setUp() throws Exception { dynamo = client(); - DynamoDBMapper mapper = new DynamoDBMapper(dynamo); - dynamo.createTable(mapper.generateCreateTableRequest(RangeKeyClass.class) - .withProvisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT)); + dynamo.createTable(CreateTableRequest.builder() + .tableName("aws-java-sdk-range-test") + .keySchema(KeySchemaElement.builder().attributeName("key").keyType(KeyType.HASH).build(), + KeySchemaElement.builder().attributeName("rangeKey").keyType(KeyType.RANGE).build()) + .attributeDefinitions(AttributeDefinition.builder().attributeName("key") + .attributeType(ScalarAttributeType.N).build(), + AttributeDefinition.builder().attributeName("rangeKey") + .attributeType(ScalarAttributeType.N).build()) + .provisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT) + .build()); createTestData(); } @@ -138,8 +149,8 @@ private static PaginatedList getTestPaginatedQueryList(Pagination keyObject.setKey(hashKey); DynamoDBQueryExpression queryExpression = new DynamoDBQueryExpression().withHashKeyValues(keyObject); queryExpression.withRangeKeyCondition("rangeKey", - new Condition().withComparisonOperator(ComparisonOperator.GT.toString()).withAttributeValueList( - new AttributeValue().withN("1.0"))).withLimit(PAGE_SIZE); + Condition.builder().comparisonOperator(ComparisonOperator.GT).attributeValueList( + AttributeValue.builder().n("1.0").build()).build()).withLimit(PAGE_SIZE); return mapper.query(RangeKeyClass.class, queryExpression, new DynamoDBMapperConfig(paginationLoadingStrategy)); } @@ -150,12 +161,12 @@ private static PaginatedList getTestPaginatedScanList(PaginationL // Construct the scan expression with the exact same conditions DynamoDBScanExpression scanExpression = new DynamoDBScanExpression(); - scanExpression.addFilterCondition("key", - new Condition().withComparisonOperator(ComparisonOperator.EQ).withAttributeValueList( - new AttributeValue().withN(Long.toString(hashKey)))); - scanExpression.addFilterCondition("rangeKey", - new Condition().withComparisonOperator(ComparisonOperator.GT).withAttributeValueList( - new AttributeValue().withN("1.0"))); + scanExpression.addFilterCondition("key", + Condition.builder().comparisonOperator(ComparisonOperator.EQ).attributeValueList( + AttributeValue.builder().n(Long.toString(hashKey)).build()).build()); + scanExpression.addFilterCondition("rangeKey", + Condition.builder().comparisonOperator(ComparisonOperator.GT).attributeValueList( + AttributeValue.builder().n("1.0").build()).build()); scanExpression.setLimit(PAGE_SIZE); return mapper.scan(RangeKeyClass.class, scanExpression, new DynamoDBMapperConfig(paginationLoadingStrategy)); @@ -167,12 +178,12 @@ private static PaginatedList getTestPaginatedParallelScanList(Pag // Construct the scan expression with the exact same conditions DynamoDBScanExpression scanExpression = new DynamoDBScanExpression(); - scanExpression.addFilterCondition("key", - new Condition().withComparisonOperator(ComparisonOperator.EQ).withAttributeValueList( - new AttributeValue().withN(Long.toString(hashKey)))); - scanExpression.addFilterCondition("rangeKey", - new Condition().withComparisonOperator(ComparisonOperator.GT).withAttributeValueList( - new AttributeValue().withN("1.0"))); + scanExpression.addFilterCondition("key", + Condition.builder().comparisonOperator(ComparisonOperator.EQ).attributeValueList( + AttributeValue.builder().n(Long.toString(hashKey)).build()).build()); + scanExpression.addFilterCondition("rangeKey", + Condition.builder().comparisonOperator(ComparisonOperator.GT).attributeValueList( + AttributeValue.builder().n("1.0").build()).build()); scanExpression.setLimit(PAGE_SIZE); return mapper.parallelScan(RangeKeyClass.class, scanExpression, PARALLEL_SEGMENT, new DynamoDBMapperConfig(paginationLoadingStrategy)); diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/DynamoDBTableResource.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/DynamoDBTableResource.java deleted file mode 100644 index 15c8373fcabc..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/DynamoDBTableResource.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright 2013-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.test.resources; - -import java.util.List; - -import com.amazonaws.AmazonServiceException; -import software.amazon.awssdk.mapper.dynamodb.test.util.DynamoDBTestBase; -import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; -import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; -import com.amazonaws.services.dynamodbv2.model.GlobalSecondaryIndex; -import com.amazonaws.services.dynamodbv2.model.GlobalSecondaryIndexDescription; -import com.amazonaws.services.dynamodbv2.model.LocalSecondaryIndex; -import com.amazonaws.services.dynamodbv2.model.LocalSecondaryIndexDescription; -import com.amazonaws.services.dynamodbv2.model.Projection; -import com.amazonaws.services.dynamodbv2.model.TableDescription; -import com.amazonaws.services.dynamodbv2.model.TableStatus; -import com.amazonaws.services.dynamodbv2.util.TableUtils; -import software.amazon.awssdk.mapper.dynamodb.test.resources.TestResource; -import software.amazon.awssdk.mapper.dynamodb.test.util.UnorderedCollectionComparator; -import software.amazon.awssdk.mapper.dynamodb.test.util.UnorderedCollectionComparator.CrossTypeComparator; - -public abstract class DynamoDBTableResource implements TestResource { - - protected abstract AmazonDynamoDB getClient(); - - protected abstract CreateTableRequest getCreateTableRequest(); - - /** - * Implementation of TestResource interfaces - */ - - @Override - public void create(boolean waitTillFinished) { - System.out.println("Creating " + this + "..."); - getClient().createTable(getCreateTableRequest()); - - if (waitTillFinished) { - System.out.println("Waiting for " + this + " to become active..."); - try { - TableUtils.waitUntilActive(getClient(), getCreateTableRequest().getTableName()); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - } - } - } - - @Override - public void delete(boolean waitTillFinished) { - System.out.println("Deleting " + this + "..."); - getClient().deleteTable(getCreateTableRequest().getTableName()); - - if (waitTillFinished) { - System.out.println("Waiting for " + this + " to become deleted..."); - DynamoDBTestBase.waitForTableToBecomeDeleted(getClient(), getCreateTableRequest().getTableName()); - } - } - - @Override - public ResourceStatus getResourceStatus() { - CreateTableRequest createRequest = getCreateTableRequest(); - TableDescription table = null; - try { - table = getClient().describeTable( - createRequest.getTableName()).getTable(); - } catch (AmazonServiceException ase) { - if ( ase.getErrorCode().equalsIgnoreCase("ResourceNotFoundException")) { - return ResourceStatus.NOT_EXIST; - } - } - - String tableStatus = table.getTableStatus(); - - if (tableStatus.equals(TableStatus.ACTIVE.toString())) { - // returns AVAILABLE only if table KeySchema + LSIs + GSIs all match. - if (UnorderedCollectionComparator.equalUnorderedCollections(createRequest.getKeySchema(), table.getKeySchema()) - && equalUnorderedGsiLists(createRequest.getGlobalSecondaryIndexes(), table.getGlobalSecondaryIndexes()) - && equalUnorderedLsiLists(createRequest.getLocalSecondaryIndexes(), table.getLocalSecondaryIndexes()) - ) { - return ResourceStatus.AVAILABLE; - } else { - return ResourceStatus.EXIST_INCOMPATIBLE_RESOURCE; - } - } else if (tableStatus.equals(TableStatus.CREATING.toString()) - || tableStatus.equals(TableStatus.UPDATING.toString()) - || tableStatus.equals(TableStatus.DELETING.toString())) { - return ResourceStatus.TRANSIENT; - } else { - return ResourceStatus.NOT_EXIST; - } - } - - /** - * Returns true if the two lists of GlobalSecondaryIndex and - * GlobalSecondaryIndexDescription share the same set of: - * 1) indexName - * 2) projection - * 3) keySchema (compared as unordered lists) - */ - static boolean equalUnorderedGsiLists(List listA, List listB) { - return UnorderedCollectionComparator.equalUnorderedCollections( - listA, listB, - new CrossTypeComparator() { - @Override - public boolean equals(GlobalSecondaryIndex a, GlobalSecondaryIndexDescription b) { - return a.getIndexName().equals(b.getIndexName()) - && equalProjections(a.getProjection(), b.getProjection()) - && UnorderedCollectionComparator.equalUnorderedCollections(a.getKeySchema(), b.getKeySchema()); - } - }); - } - - /** - * Returns true if the two lists of LocalSecondaryIndex and - * LocalSecondaryIndexDescription share the same set of: - * 1) indexName - * 2) projection - * 3) keySchema (compared as unordered lists) - */ - static boolean equalUnorderedLsiLists(List listA, List listB) { - return UnorderedCollectionComparator.equalUnorderedCollections( - listA, listB, - new CrossTypeComparator() { - @Override - public boolean equals(LocalSecondaryIndex a, LocalSecondaryIndexDescription b) { - // Project parameter might not be specified in the - // CreateTableRequest. But it should be treated as equal - // to the default projection type - KEYS_ONLY. - return a.getIndexName().equals(b.getIndexName()) - && equalProjections(a.getProjection(), b.getProjection()) - && UnorderedCollectionComparator.equalUnorderedCollections(a.getKeySchema(), b.getKeySchema()); - } - }); - } - - /** - * Compares the Projection parameter included in the CreateTableRequest, - * with the one returned from DescribeTableResult. - */ - static boolean equalProjections(Projection fromCreateTableRequest, Projection fromDescribeTableResult) { - if (fromCreateTableRequest == null || fromDescribeTableResult == null) { - throw new IllegalStateException("The projection parameter should never be null."); - } - - return fromCreateTableRequest.getProjectionType().equals( - fromDescribeTableResult.getProjectionType()) - && UnorderedCollectionComparator.equalUnorderedCollections( - fromCreateTableRequest.getNonKeyAttributes(), - fromDescribeTableResult.getNonKeyAttributes()); - } - - - /** - * Object interfaces - */ - @Override - public String toString() { - return "DynamoDB Table [" + getCreateTableRequest().getTableName() + "]"; - } - - @Override - public int hashCode() { - return getCreateTableRequest().hashCode(); - } - - @Override - public boolean equals(Object other) { - if ( !(other instanceof DynamoDBTableResource) ) { - return false; - } - return getCreateTableRequest().equals( - ((DynamoDBTableResource)other).getCreateTableRequest()); - } -} diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/RequiredResources.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/RequiredResources.java deleted file mode 100644 index d8b7f93c92c5..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/RequiredResources.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2013-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.test.resources; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Annotation for resources required for the test case. It could be applied to - * either a type (test class) or a method (test method). - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.METHOD, ElementType.TYPE}) -public @interface RequiredResources { - - /** - * An array of RequiredResource annotations - */ - RequiredResource[] value() default {}; - - public static @interface RequiredResource { - - /** - * The Class object of the TestResource class - */ - Class resource(); - - /** - * How the resource should be created before the test starts. - */ - ResourceCreationPolicy creationPolicy(); - - /** - * Retention policy after the test is done. - */ - ResourceRetentionPolicy retentionPolicy(); - } - - public static enum ResourceCreationPolicy { - /** - * Existing resource will be reused if it matches the required resource - * definition (i.e. TestResource.getResourceStatus() returns AVAILABLE). - */ - REUSE_EXISTING, - /** - * Always destroy existing resources (if any) and then recreate new ones for test. - */ - ALWAYS_RECREATE; - } - - public static enum ResourceRetentionPolicy { - /** - * Do not delete the created resource after test. - */ - KEEP, - /** - * When used for @RequiredAnnota - */ - DESTROY_IMMEDIATELY, - DESTROY_AFTER_ALL_TESTS; - } - -} diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/ResourceCentricBlockJUnit4ClassRunner.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/ResourceCentricBlockJUnit4ClassRunner.java deleted file mode 100644 index a206bc44d003..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/ResourceCentricBlockJUnit4ClassRunner.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright 2013-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.test.resources; - -import java.util.HashSet; -import java.util.Set; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.junit.Ignore; -import org.junit.runner.Description; -import org.junit.runner.notification.Failure; -import org.junit.runner.notification.RunNotifier; -import org.junit.runners.BlockJUnit4ClassRunner; -import org.junit.runners.model.FrameworkMethod; -import org.junit.runners.model.InitializationError; -import org.junit.runners.model.Statement; - -import software.amazon.awssdk.mapper.dynamodb.test.resources.RequiredResources.RequiredResource; -import software.amazon.awssdk.mapper.dynamodb.test.resources.RequiredResources.ResourceRetentionPolicy; - -public class ResourceCentricBlockJUnit4ClassRunner extends BlockJUnit4ClassRunner { - - private final Set resourcesToBeDestroyedAfterAllTests; - - private final RequiredResources classRequiredResourcesAnnotation; - - private final Log log = LogFactory.getLog(ResourceCentricBlockJUnit4ClassRunner.class); - - public ResourceCentricBlockJUnit4ClassRunner(Class klass) - throws InitializationError { - super(klass); - - classRequiredResourcesAnnotation = klass.getAnnotation(RequiredResources.class); - resourcesToBeDestroyedAfterAllTests = new HashSet(); - } - - @Override - protected void runChild(final FrameworkMethod method, RunNotifier notifier) { - Description description = describeChild(method); - if (method.getAnnotation(Ignore.class) != null) { - notifier.fireTestIgnored(description); - } else { - RequiredResources annotation = method.getAnnotation(RequiredResources.class); - if ( annotation != null) { - try { - beforeRunLeaf(annotation.value()); - } catch (Exception e) { - notifier.fireTestFailure(new Failure(description, e)); - } - - } - - runLeaf(methodBlock(method), description, notifier); - - if ( annotation != null) { - try { - afterRunLeaf(annotation.value()); - } catch (Exception e) { - notifier.fireTestFailure(new Failure(description, e)); - } - } - } - } - - /** - * Override the withBeforeClasses method to inject executing resource - * creation between @BeforeClass methods and test methods. - */ - @Override - protected Statement withBeforeClasses(final Statement statement) { - Statement withRequiredResourcesCreation = new Statement() { - - @Override - public void evaluate() throws Throwable { - if (classRequiredResourcesAnnotation != null) { - beforeRunClass(classRequiredResourcesAnnotation.value()); - } - statement.evaluate(); - } - }; - return super.withBeforeClasses(withRequiredResourcesCreation); - } - - /** - * Override the withAfterClasses method to inject executing resource - * creation between test methods and the @AfterClass methods. - */ - @Override - protected Statement withAfterClasses(final Statement statement) { - Statement withRequiredResourcesDeletion = new Statement() { - - @Override - public void evaluate() throws Throwable { - statement.evaluate(); - afterRunClass(); - } - }; - return super.withAfterClasses(withRequiredResourcesDeletion); - } - - private void beforeRunClass(RequiredResource[] resourcesAnnotation) - throws InstantiationException, IllegalAccessException, InterruptedException { - log.debug("Processing @RequiredResources before running the test class..."); - for (RequiredResource resourceAnnotation : resourcesAnnotation) { - TestResource resource = createResourceInstance(resourceAnnotation); - TestResourceUtils.createResource(resource, resourceAnnotation.creationPolicy()); - - if (resourceAnnotation.retentionPolicy() != ResourceRetentionPolicy.KEEP) { - resourcesToBeDestroyedAfterAllTests.add(resource); - } - } - } - - private void afterRunClass() - throws InstantiationException, IllegalAccessException, InterruptedException { - log.debug("Processing @RequiredResources after running the test class..."); - for (TestResource resource : resourcesToBeDestroyedAfterAllTests) { - TestResourceUtils.deleteResource(resource); - } - } - - private void beforeRunLeaf(RequiredResource[] resourcesAnnotation) - throws InstantiationException, IllegalAccessException, InterruptedException { - log.debug("Processing @RequiredResources before running the test..."); - for (RequiredResource resourceAnnotation : resourcesAnnotation) { - TestResource resource = createResourceInstance(resourceAnnotation); - TestResourceUtils.createResource(resource, resourceAnnotation.creationPolicy()); - - if (resourceAnnotation.retentionPolicy() == ResourceRetentionPolicy.DESTROY_AFTER_ALL_TESTS) { - resourcesToBeDestroyedAfterAllTests.add(resource); - } - } - } - - private void afterRunLeaf(RequiredResource[] resourcesAnnotation) - throws InstantiationException, IllegalAccessException, InterruptedException { - log.debug("Processing @RequiredResources after running the test..."); - for (RequiredResource resourceAnnotation : resourcesAnnotation) { - TestResource resource = createResourceInstance(resourceAnnotation); - - if (resourceAnnotation.retentionPolicy() == ResourceRetentionPolicy.DESTROY_IMMEDIATELY) { - TestResourceUtils.deleteResource(resource); - } - } - } - - /** - * - * @throws IllegalAccessException - */ - private static TestResource createResourceInstance(RequiredResource resourceAnnotation) - throws InstantiationException, IllegalAccessException { - Class resourceClazz = resourceAnnotation.resource(); - if (resourceClazz == null) { - throw new IllegalArgumentException( - "resource parameter is missing for the @RequiredResource annotation."); - } - return resourceClazz.newInstance(); - } -} diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResource.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResource.java deleted file mode 100644 index bb73053ea622..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResource.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2013-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.test.resources; - -/** - * An interface which represents a resource to be used in a test case. - *

- * Note that sub-classes implementing this interface must provide a no-arg - * constructor. - */ -public interface TestResource { - - /** - * Create/initialize the resource which this TestResource represents. - * - * @param waitTillFinished - * Whether this method should block until the resource is fully - * initialized. - */ - public void create(boolean waitTillFinished); - - /** - * Delete the resource which this TestResource represents. - * - * @param waitTillFinished - * Whether this method should block until the resource is fully - * initialized. - */ - public void delete(boolean waitTillFinished); - - /** - * Returns the current status of the resource which this TestResource - * represents. - */ - ResourceStatus getResourceStatus(); - - /** - * Enum of all the generalized resource statuses. - */ - public static enum ResourceStatus { - /** - * The resource is currently available, and it is compatible with the - * required resource. - */ - AVAILABLE, - /** - * The resource does not exist and there is no existing resource that is - * incompatible. - */ - NOT_EXIST, - /** - * There is an existing resource that has to be removed before creating - * the required resource. For example, DDB table with the same name but - * different table schema. - */ - EXIST_INCOMPATIBLE_RESOURCE, - /** - * The resource is in transient state (e.g. creating/deleting/updating) - */ - TRANSIENT, - } -} diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResourceUtils.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResourceUtils.java deleted file mode 100644 index b0801e907d5f..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/TestResourceUtils.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2013-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -package software.amazon.awssdk.mapper.dynamodb.test.resources; - -import com.amazonaws.AmazonClientException; -import software.amazon.awssdk.mapper.dynamodb.test.resources.RequiredResources.ResourceCreationPolicy; -import software.amazon.awssdk.mapper.dynamodb.test.resources.TestResource.ResourceStatus; - -public class TestResourceUtils { - - public static void createResource(TestResource resource, ResourceCreationPolicy policy) throws InterruptedException { - ResourceStatus finalizedStatus = waitForFinalizedStatus(resource); - if (policy == ResourceCreationPolicy.ALWAYS_RECREATE) { - if (finalizedStatus != ResourceStatus.NOT_EXIST) { - resource.delete(true); - } - resource.create(true); - } else if (policy == ResourceCreationPolicy.REUSE_EXISTING){ - switch(finalizedStatus) { - case AVAILABLE: - System.out.println("Found existing resource " + resource + " that could be reused..."); - return; - case EXIST_INCOMPATIBLE_RESOURCE: - resource.delete(true); - resource.create(true); - case NOT_EXIST: - resource.create(true); - } - } - } - - public static void deleteResource(TestResource resource) throws InterruptedException { - ResourceStatus finalizedStatus = waitForFinalizedStatus(resource); - if (finalizedStatus != ResourceStatus.NOT_EXIST) { - resource.delete(false); - } - } - - public static ResourceStatus waitForFinalizedStatus(TestResource resource) throws InterruptedException { - long startTime = System.currentTimeMillis(); - long endTime = startTime + (10 * 60 * 1000); - while (System.currentTimeMillis() < endTime) { - ResourceStatus status = resource.getResourceStatus(); - if ( status != ResourceStatus.TRANSIENT ) { - return status; - } - System.out.println("Waiting for " + resource + " to escape the transient state..."); - Thread.sleep(1000 * 10); - } - - throw new AmazonClientException("Resource never escaped the transient state."); - } -} diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/BasicTempTable.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/BasicTempTable.java deleted file mode 100644 index e8a19169e448..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/BasicTempTable.java +++ /dev/null @@ -1,32 +0,0 @@ -package software.amazon.awssdk.mapper.dynamodb.test.resources.tables; - -import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; -import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; -import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; -import com.amazonaws.services.dynamodbv2.model.KeyType; -import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; -import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; - -public class BasicTempTable { - public static final String TEMP_TABLE_NAME = "basic-temp-table"; - public static final String HASH_KEY_NAME = "hash"; - public static final Long READ_CAPACITY = 10L; - public static final Long WRITE_CAPACITY = 5L; - public static final ProvisionedThroughput DEFAULT_PROVISIONED_THROUGHPUT = - new ProvisionedThroughput().withReadCapacityUnits(READ_CAPACITY).withWriteCapacityUnits(WRITE_CAPACITY); - - public static CreateTableRequest getCreateTableRequest() { - CreateTableRequest request = new CreateTableRequest() - .withTableName(TEMP_TABLE_NAME) - .withKeySchema( - new KeySchemaElement().withAttributeName(HASH_KEY_NAME) - .withKeyType(KeyType.HASH)) - .withAttributeDefinitions( - new AttributeDefinition().withAttributeName( - HASH_KEY_NAME).withAttributeType( - ScalarAttributeType.S)); - request.setProvisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT); - return request; - } - -} diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithBinaryKey.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithBinaryKey.java deleted file mode 100644 index 7e29ba67b310..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithBinaryKey.java +++ /dev/null @@ -1,33 +0,0 @@ -package software.amazon.awssdk.mapper.dynamodb.test.resources.tables; - -import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; -import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; -import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; -import com.amazonaws.services.dynamodbv2.model.KeyType; -import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; -import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; - -public class TempTableWithBinaryKey { - - public static final String TEMP_BINARY_TABLE_NAME = "java-sdk-binary-" + System.currentTimeMillis(); - public static final String HASH_KEY_NAME = "hash"; - public static final Long READ_CAPACITY = 10L; - public static final Long WRITE_CAPACITY = 5L; - public static final ProvisionedThroughput DEFAULT_PROVISIONED_THROUGHPUT = - new ProvisionedThroughput().withReadCapacityUnits(READ_CAPACITY).withWriteCapacityUnits(WRITE_CAPACITY); - - public static CreateTableRequest getCreateTableRequest() { - CreateTableRequest request = new CreateTableRequest() - .withTableName(TEMP_BINARY_TABLE_NAME) - .withKeySchema( - new KeySchemaElement().withAttributeName(HASH_KEY_NAME) - .withKeyType(KeyType.HASH)) - .withAttributeDefinitions( - new AttributeDefinition().withAttributeName( - HASH_KEY_NAME).withAttributeType( - ScalarAttributeType.B)); - request.setProvisionedThroughput(DEFAULT_PROVISIONED_THROUGHPUT); - return request; - } - -} diff --git a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithSecondaryIndexes.java b/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithSecondaryIndexes.java deleted file mode 100644 index bc427c8af5f8..000000000000 --- a/services-custom/dynamodb-mapper/src/test/java/software/amazon/awssdk/mapper/dynamodb/test/resources/tables/TempTableWithSecondaryIndexes.java +++ /dev/null @@ -1,90 +0,0 @@ -package software.amazon.awssdk.mapper.dynamodb.test.resources.tables; - -import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; -import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; -import com.amazonaws.services.dynamodbv2.model.GlobalSecondaryIndex; -import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; -import com.amazonaws.services.dynamodbv2.model.KeyType; -import com.amazonaws.services.dynamodbv2.model.LocalSecondaryIndex; -import com.amazonaws.services.dynamodbv2.model.Projection; -import com.amazonaws.services.dynamodbv2.model.ProjectionType; -import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; -import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; - -/** - * The table used by SecondaryIndexesIntegrationTest - */ -public class TempTableWithSecondaryIndexes { - - public static final String TEMP_TABLE_NAME = "java-sdk-indexes-" + System.currentTimeMillis(); - public static final String HASH_KEY_NAME = "hash_key"; - public static final String RANGE_KEY_NAME = "range_key"; - public static final String LSI_NAME = "local_secondary_index"; - public static final String LSI_RANGE_KEY_NAME = "local_secondary_index_attribute"; - public static final String GSI_NAME = "global_secondary_index"; - public static final String GSI_HASH_KEY_NAME = "global_secondary_index_hash_attribute"; - public static final String GSI_RANGE_KEY_NAME = "global_secondary_index_range_attribute"; - public static final ProvisionedThroughput GSI_PROVISIONED_THROUGHPUT = new ProvisionedThroughput( - 5L, 5L); - - public static CreateTableRequest getCreateTableRequest() { - CreateTableRequest createTableRequest = new CreateTableRequest() - .withTableName(TEMP_TABLE_NAME) - .withKeySchema( - new KeySchemaElement().withAttributeName(HASH_KEY_NAME) - .withKeyType(KeyType.HASH), - new KeySchemaElement() - .withAttributeName(RANGE_KEY_NAME).withKeyType( - KeyType.RANGE)) - .withAttributeDefinitions( - new AttributeDefinition().withAttributeName( - HASH_KEY_NAME).withAttributeType( - ScalarAttributeType.S), - new AttributeDefinition().withAttributeName( - RANGE_KEY_NAME).withAttributeType( - ScalarAttributeType.N), - new AttributeDefinition().withAttributeName( - LSI_RANGE_KEY_NAME).withAttributeType( - ScalarAttributeType.N), - new AttributeDefinition().withAttributeName( - GSI_HASH_KEY_NAME).withAttributeType( - ScalarAttributeType.S), - new AttributeDefinition().withAttributeName( - GSI_RANGE_KEY_NAME).withAttributeType( - ScalarAttributeType.N)) - .withProvisionedThroughput(BasicTempTable.DEFAULT_PROVISIONED_THROUGHPUT) - .withLocalSecondaryIndexes( - new LocalSecondaryIndex() - .withIndexName(LSI_NAME) - .withKeySchema( - new KeySchemaElement() - .withAttributeName( - HASH_KEY_NAME) - .withKeyType(KeyType.HASH), - new KeySchemaElement() - .withAttributeName( - LSI_RANGE_KEY_NAME) - .withKeyType(KeyType.RANGE)) - .withProjection( - new Projection() - .withProjectionType(ProjectionType.KEYS_ONLY))) - .withGlobalSecondaryIndexes( - new GlobalSecondaryIndex().withIndexName(GSI_NAME) - .withKeySchema( - new KeySchemaElement() - .withAttributeName( - GSI_HASH_KEY_NAME) - .withKeyType(KeyType.HASH), - new KeySchemaElement() - .withAttributeName( - GSI_RANGE_KEY_NAME) - .withKeyType(KeyType.RANGE)) - .withProjection( - new Projection() - .withProjectionType(ProjectionType.KEYS_ONLY)) - .withProvisionedThroughput( - GSI_PROVISIONED_THROUGHPUT)); - return createTableRequest; - } - -} From 3de755433b7a604a0697fbddfcb5e8cc2171ccfc Mon Sep 17 00:00:00 2001 From: RanVaknin <50976344+RanVaknin@users.noreply.github.com> Date: Fri, 28 Aug 2026 13:57:53 -0700 Subject: [PATCH 6/7] Replace log4j 1.x test dependency with log4j2 --- services-custom/dynamodb-mapper/pom.xml | 15 +++++++-- .../src/test/resources/log4j.properties | 17 ---------- .../src/test/resources/log4j2.xml | 31 +++++++++++++++++++ 3 files changed, 43 insertions(+), 20 deletions(-) delete mode 100644 services-custom/dynamodb-mapper/src/test/resources/log4j.properties create mode 100644 services-custom/dynamodb-mapper/src/test/resources/log4j2.xml diff --git a/services-custom/dynamodb-mapper/pom.xml b/services-custom/dynamodb-mapper/pom.xml index 383c9e4785eb..cef8a5b8ac9b 100644 --- a/services-custom/dynamodb-mapper/pom.xml +++ b/services-custom/dynamodb-mapper/pom.xml @@ -154,9 +154,18 @@ test - log4j - log4j - 1.2.17 + org.apache.logging.log4j + log4j-api + test + + + org.apache.logging.log4j + log4j-core + test + + + org.apache.logging.log4j + log4j-slf4j-impl test diff --git a/services-custom/dynamodb-mapper/src/test/resources/log4j.properties b/services-custom/dynamodb-mapper/src/test/resources/log4j.properties deleted file mode 100644 index 5377a6ddfb3f..000000000000 --- a/services-custom/dynamodb-mapper/src/test/resources/log4j.properties +++ /dev/null @@ -1,17 +0,0 @@ -log4j.rootLogger=INFO, A1 -log4j.appender.A1=org.apache.log4j.ConsoleAppender -log4j.appender.A1.layout=org.apache.log4j.PatternLayout - -# Print the date in ISO 8601 format -log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n - -# Adjust to see more / less logging -#log4j.logger.com.amazonaws.ec2=DEBUG -# HttpClient 3 Wire Logging -#log4j.logger.httpclient.wire=DEBUG -# HttpClient 4 Wire Logging -#log4j.logger.org.apache.http.wire=DEBUG -#log4j.logger.org.apache.http=WARN -#log4j.logger.org.apache.http.wire=DEBUG -#log4j.logger.com.amazonaws=DEBUG -#log4j.logger.com.amazonaws.services.dynamodbv2 = DEBUG diff --git a/services-custom/dynamodb-mapper/src/test/resources/log4j2.xml b/services-custom/dynamodb-mapper/src/test/resources/log4j2.xml new file mode 100644 index 000000000000..ec0cd8cd15f7 --- /dev/null +++ b/services-custom/dynamodb-mapper/src/test/resources/log4j2.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + From 123e01c4322a0123a70a9c2704a2d6375693e880 Mon Sep 17 00:00:00 2001 From: RanVaknin <50976344+RanVaknin@users.noreply.github.com> Date: Fri, 28 Aug 2026 16:20:22 -0700 Subject: [PATCH 7/7] Add mapper to the brazil mapping exclusion list --- .brazil.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.brazil.json b/.brazil.json index ca68c3d1a48a..f5e231e1727f 100644 --- a/.brazil.json +++ b/.brazil.json @@ -319,7 +319,7 @@ "skipImport": true }, "dynamodb-mapper": { - "packageName": "AwsJavaSdk-DynamoDbMapper" + "skipImport": true } }, "dependencies": {