Skip to content

Commit 76779eb

Browse files
committed
Move ImmutableObjectUtils to mapper module
1 parent ef9b3ab commit 76779eb

File tree

7 files changed

+16
-34
lines changed

7 files changed

+16
-34
lines changed

core/src/main/java/software/amazon/awssdk/core/internal/protocol/json/JsonErrorUnmarshaller.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ protected JsonErrorUnmarshaller(Class<? extends SdkServiceException> exceptionCl
3939

4040
@Override
4141
@ReviewBeforeRelease("Figure out a better way to go from exception class to it's builder class in order to perform the " +
42-
"deserialization")
42+
"deserialization.")
4343
@SuppressWarnings("unchecked")
4444
public T unmarshall(JsonNode jsonContent) throws Exception {
45-
// FIXME: dirty hack below
45+
// FIXME: Generate Unmarshallers for each type instead of using reflection
4646
try {
4747
Method builderClassGetter = exceptionClass.getDeclaredMethod("serializableBuilderClass");
4848
makeAccessible(builderClassGetter);

services/rds/src/main/java/software/amazon/awssdk/services/rds/CopyDbSnapshotPresignInterceptor.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.time.Clock;
1919
import software.amazon.awssdk.annotations.SdkTestInternalApi;
2020
import software.amazon.awssdk.core.Request;
21-
import software.amazon.awssdk.core.util.ImmutableObjectUtils;
2221
import software.amazon.awssdk.services.rds.model.CopyDBSnapshotRequest;
2322
import software.amazon.awssdk.services.rds.transform.CopyDBSnapshotRequestMarshaller;
2423

@@ -39,11 +38,6 @@ public CopyDbSnapshotPresignInterceptor() {
3938
@Override
4039
protected PresignableRequest adaptRequest(final CopyDBSnapshotRequest originalRequest) {
4140
return new PresignableRequest() {
42-
@Override
43-
public void setPreSignedUrl(String preSignedUrl) {
44-
ImmutableObjectUtils.setObjectMember(originalRequest, "preSignedUrl", preSignedUrl);
45-
}
46-
4741
@Override
4842
public String getSourceRegion() {
4943
return originalRequest.sourceRegion();

services/rds/src/main/java/software/amazon/awssdk/services/rds/CreateDbInstanceReadReplicaPresignInterceptor.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package software.amazon.awssdk.services.rds;
1717

1818
import software.amazon.awssdk.core.Request;
19-
import software.amazon.awssdk.core.util.ImmutableObjectUtils;
2019
import software.amazon.awssdk.services.rds.model.CreateDBInstanceReadReplicaRequest;
2120
import software.amazon.awssdk.services.rds.transform.CreateDBInstanceReadReplicaRequestMarshaller;
2221

@@ -31,11 +30,6 @@ public CreateDbInstanceReadReplicaPresignInterceptor() {
3130
@Override
3231
protected PresignableRequest adaptRequest(final CreateDBInstanceReadReplicaRequest originalRequest) {
3332
return new PresignableRequest() {
34-
@Override
35-
public void setPreSignedUrl(String preSignedUrl) {
36-
ImmutableObjectUtils.setObjectMember(originalRequest, "preSignedUrl", preSignedUrl);
37-
}
38-
3933
@Override
4034
public String getSourceRegion() {
4135
return originalRequest.sourceRegion();

services/rds/src/main/java/software/amazon/awssdk/services/rds/RdsPresignInterceptor.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,6 @@ abstract class RdsPresignInterceptor<T extends RdsRequest> implements ExecutionI
5050
private static final String PARAM_PRESIGNED_URL = "PreSignedUrl";
5151

5252
protected interface PresignableRequest {
53-
void setPreSignedUrl(String preSignedUrl);
54-
5553
String getSourceRegion();
5654

5755
Request<?> marshall();
@@ -106,8 +104,6 @@ public SdkHttpFullRequest modifyHttpRequest(Context.ModifyHttpRequest context, E
106104

107105
final String presignedUrl = requestToPresign.getUri().toString();
108106

109-
presignableRequest.setPreSignedUrl(presignedUrl);
110-
111107
return request.toBuilder()
112108
.rawQueryParameter(PARAM_PRESIGNED_URL, presignedUrl)
113109
// Remove the unmodeled params to stop them getting onto the wire

test/dynamodbmapper-v1/src/it/java/software/amazon/awssdk/services/dynamodb/mapper/GenerateCreateTableRequestIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.junit.AfterClass;
2828
import org.junit.BeforeClass;
2929
import org.junit.Test;
30-
import software.amazon.awssdk.core.util.ImmutableObjectUtils;
30+
import software.amazon.awssdk.services.dynamodb.ImmutableObjectUtils;
3131
import software.amazon.awssdk.services.dynamodb.TableUtils;
3232
import software.amazon.awssdk.services.dynamodb.datamodeling.DynamoDbMapper;
3333
import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition;

core/src/main/java/software/amazon/awssdk/core/util/ImmutableObjectUtils.java renamed to test/dynamodbmapper-v1/src/test/java/software/amazon/awssdk/services/dynamodb/ImmutableObjectUtils.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@
1313
* permissions and limitations under the License.
1414
*/
1515

16-
package software.amazon.awssdk.core.util;
16+
package software.amazon.awssdk.services.dynamodb;
1717

1818
import java.util.Arrays;
19-
import software.amazon.awssdk.annotations.ReviewBeforeRelease;
2019
import software.amazon.awssdk.annotations.SdkProtectedApi;
2120

22-
@ReviewBeforeRelease("Remove before GA")
2321
@SdkProtectedApi
2422
public final class ImmutableObjectUtils {
2523

@@ -28,15 +26,15 @@ private ImmutableObjectUtils() {
2826

2927
public static <T> void setObjectMember(Object o, String memberName, T value) {
3028
Arrays.stream(o.getClass().getDeclaredFields())
31-
.filter(f -> f.getName().equals(memberName))
32-
.findFirst()
33-
.ifPresent(f -> {
34-
f.setAccessible(true);
35-
try {
36-
f.set(o, value);
37-
} catch (IllegalAccessException e) {
38-
throw new RuntimeException("Unable to reflectively set member " + memberName);
39-
}
40-
});
29+
.filter(f -> f.getName().equals(memberName))
30+
.findFirst()
31+
.ifPresent(f -> {
32+
f.setAccessible(true);
33+
try {
34+
f.set(o, value);
35+
} catch (IllegalAccessException e) {
36+
throw new RuntimeException("Unable to reflectively set member " + memberName);
37+
}
38+
});
4139
}
42-
}
40+
}

test/dynamodbmapper-v1/src/test/java/software/amazon/awssdk/services/dynamodb/datamodeling/StandardModelFactories.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import org.slf4j.Logger;
3737
import org.slf4j.LoggerFactory;
3838
import software.amazon.awssdk.annotations.SdkInternalApi;
39-
import software.amazon.awssdk.core.util.ImmutableObjectUtils;
39+
import software.amazon.awssdk.services.dynamodb.ImmutableObjectUtils;
4040
import software.amazon.awssdk.services.dynamodb.datamodeling.DynamoDbMapperFieldModel.DynamoDbAttributeType;
4141
import software.amazon.awssdk.services.dynamodb.datamodeling.DynamoDbMapperFieldModel.Reflect;
4242
import software.amazon.awssdk.services.dynamodb.datamodeling.DynamoDbMapperModelFactory.TableFactory;

0 commit comments

Comments
 (0)