Skip to content

Commit 13aa1f8

Browse files
committed
Add transform for httpExpiresDate
1 parent b7bd9ff commit 13aa1f8

File tree

6 files changed

+21
-12
lines changed

6 files changed

+21
-12
lines changed

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven-nocompile/after/src/main/java/foo/bar/S3Transforms.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,16 +56,15 @@ void objectmetadata_unsupportedSetters(Date dateVal) {
5656
HeadObjectResponse metadata = HeadObjectResponse.builder()
5757
.build();
5858

59-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - expirationTimeRuleId - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.expirationTimeRuleId("expirationTimeRuleId");
60-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - ongoingRestore - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.ongoingRestore(false);
61-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - requesterCharged - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.requesterCharged(false);
59+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - expirationTimeRuleId - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.expirationTimeRuleId("expirationTimeRuleId");
60+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - ongoingRestore - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.ongoingRestore(false);
61+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - requesterCharged - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.requesterCharged(false);
6262

63-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - lastModified - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.lastModified(dateVal);
64-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - httpExpiresDate - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.httpExpiresDate(dateVal);
65-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - expirationTime - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.expirationTime(dateVal);
66-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - restoreExpirationTime - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.restoreExpirationTime(dateVal);
63+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - lastModified - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.lastModified(dateVal);
64+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - expirationTime - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.expirationTime(dateVal);
65+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - restoreExpirationTime - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.restoreExpirationTime(dateVal);
6766

68-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - header - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.header("key", "val");
69-
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - addUserMetadata - is not supported, please manually migrate the code by setting it on the v2 PutObjectRequest.*/metadata.addUserMetadata("a", "b");
67+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - header - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.header("key", "val");
68+
/*AWS SDK for Java v2 migration: Transform for ObjectMetadata setter - addUserMetadata - is not supported, please manually migrate the code by setting it on the v2 request/response object.*/metadata.addUserMetadata("a", "b");
7069
}
7170
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven-nocompile/before/src/main/java/foo/bar/S3Transforms.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ void objectmetadata_unsupportedSetters(Date dateVal) {
5858
metadata.setRequesterCharged(false);
5959

6060
metadata.setLastModified(dateVal);
61-
metadata.setHttpExpiresDate(dateVal);
6261
metadata.setExpirationTime(dateVal);
6362
metadata.setRestoreExpirationTime(dateVal);
6463

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/after/src/main/java/foo/bar/S3Streaming.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.io.ByteArrayInputStream;
1919
import java.io.File;
2020
import java.io.InputStream;
21+
import java.util.Date;
2122
import java.util.HashMap;
2223
import java.util.Map;
2324
import software.amazon.awssdk.core.ResponseInputStream;
@@ -133,6 +134,7 @@ void putObjectRequest_withMetadata() {
133134
HeadObjectResponse metadata = HeadObjectResponse.builder()
134135
.build();
135136
long contentLen = 66;
137+
Date expiry = new Date();
136138

137139
Map<String, String> userMetadata = new HashMap<>();
138140
userMetadata.put("key", "value");
@@ -149,6 +151,7 @@ void putObjectRequest_withMetadata() {
149151
.sseCustomerKeyMD5("sseCustomerKeyMd5Val")
150152
.bucketKeyEnabled(true)
151153
.metadata(userMetadata)
154+
.expires(expiry.toInstant())
152155
.build();
153156
}
154157
}

test/v2-migration-tests/src/test/resources/software/amazon/awssdk/v2migrationtests/maven/before/src/main/java/foo/bar/S3Streaming.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.io.ByteArrayInputStream;
2525
import java.io.File;
2626
import java.io.InputStream;
27+
import java.util.Date;
2728
import java.util.HashMap;
2829
import java.util.Map;
2930

@@ -126,6 +127,8 @@ void putObjectRequest_withMetadata() {
126127
metadata.setServerSideEncryption("sseEncryptionVal");
127128
metadata.setSSECustomerKeyMd5("sseCustomerKeyMd5Val");
128129
metadata.setBucketKeyEnabled(true);
130+
Date expiry = new Date();
131+
metadata.setHttpExpiresDate(expiry);
129132

130133
Map<String, String> userMetadata = new HashMap<>();
131134
userMetadata.put("key", "value");

v2-migration/src/main/java/software/amazon/awssdk/v2migration/S3PutObjectRequestToV2.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ private J.MethodInvocation saveMetadataValueAndRemoveStatement(J.MethodInvocatio
421421

422422
if (!SUPPORTED_METADATA_TRANSFORMS.contains(methodName)) {
423423
String comment = String.format("Transform for ObjectMetadata setter - %s - is not supported, please manually "
424-
+ "migrate the code by setting it on the v2 PutObjectRequest.", methodName);
424+
+ "migrate the code by setting it on the v2 request/response object.", methodName);
425425
return method.withComments(createComments(comment));
426426
}
427427

v2-migration/src/main/java/software/amazon/awssdk/v2migration/internal/utils/S3TransformUtils.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ public final class S3TransformUtils {
5353
"serverSideEncryption",
5454
"sseCustomerKeyMd5",
5555
"bucketKeyEnabled",
56-
"userMetadata"
56+
"userMetadata",
57+
"httpExpiresDate"
5758
)));
5859

5960

@@ -129,6 +130,10 @@ public static void addMetadataFields(StringBuilder sb, String metadataName,
129130
if (userMetadata != null) {
130131
sb.append(".metadata(").append(userMetadata).append(")\n");
131132
}
133+
Expression expiresDate = map.get("httpExpiresDate");
134+
if (expiresDate != null) {
135+
sb.append(".expires(").append(expiresDate).append(".toInstant())\n");
136+
}
132137
}
133138

134139
public static String getArgumentName(J.MethodInvocation method) {

0 commit comments

Comments
 (0)