Skip to content

Commit 4079a75

Browse files
committed
Nullability fixes: declarations and usage
1 parent 9109d98 commit 4079a75

File tree

5 files changed

+53
-28
lines changed

5 files changed

+53
-28
lines changed

server/src/main/java/com/adobe/testing/s3mock/MultipartController.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -327,11 +327,7 @@ public ResponseEntity<CopyPartResult> uploadPartCopy(
327327
h.set(X_AMZ_VERSION_ID, s3ObjectMetadata.versionId());
328328
}
329329
})
330-
.headers(h -> {
331-
if (encryptionHeaders != null) {
332-
h.setAll(encryptionHeaders);
333-
}
334-
})
330+
.headers(h -> h.setAll(encryptionHeaders))
335331
.body(result);
336332
}
337333

@@ -382,11 +378,7 @@ public ResponseEntity<InitiateMultipartUploadResult> createMultipartUpload(
382378

383379
return ResponseEntity
384380
.ok()
385-
.headers(h -> {
386-
if (encryptionHeaders != null) {
387-
h.setAll(encryptionHeaders);
388-
}
389-
})
381+
.headers(h -> h.setAll(encryptionHeaders))
390382
.headers(h -> {
391383
if (checksumAlgorithm != null) {
392384
h.set(X_AMZ_CHECKSUM_ALGORITHM, checksumAlgorithm.toString());
@@ -462,12 +454,12 @@ public ResponseEntity<CompleteMultipartUploadResult> completeMultipartUpload(
462454
return ResponseEntity
463455
.ok()
464456
.headers(h -> {
465-
if (result.multipartUploadInfo().encryptionHeaders() != null) {
457+
if (result != null) {
466458
h.setAll(result.multipartUploadInfo().encryptionHeaders());
467459
}
468460
})
469461
.headers(h -> {
470-
if (bucket.isVersioningEnabled() && result.versionId() != null) {
462+
if (bucket.isVersioningEnabled() && result != null && result.versionId() != null) {
471463
h.set(X_AMZ_VERSION_ID, result.versionId());
472464
}
473465
})

server/src/main/java/com/adobe/testing/s3mock/ObjectController.java

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,11 @@ public ResponseEntity<Void> postObject(
243243
return ResponseEntity
244244
.ok()
245245
.headers(h -> h.setAll(checksumHeaderFrom(s3ObjectMetadata)))
246-
.headers(h -> h.setAll(s3ObjectMetadata.encryptionHeaders()))
246+
.headers(h -> {
247+
if (s3ObjectMetadata.encryptionHeaders() != null) {
248+
h.setAll(s3ObjectMetadata.encryptionHeaders());
249+
}
250+
})
247251
.lastModified(s3ObjectMetadata.lastModified())
248252
.eTag(s3ObjectMetadata.etag())
249253
.headers(h -> {
@@ -293,9 +297,17 @@ public ResponseEntity<Void> headObject(
293297
h.set(X_AMZ_VERSION_ID, s3ObjectMetadata.versionId());
294298
}
295299
})
296-
.headers(h -> h.setAll(s3ObjectMetadata.storeHeaders()))
300+
.headers(h -> {
301+
if (s3ObjectMetadata.storeHeaders() != null) {
302+
h.setAll(s3ObjectMetadata.storeHeaders());
303+
}
304+
})
297305
.headers(h -> h.setAll(userMetadataHeadersFrom(s3ObjectMetadata)))
298-
.headers(h -> h.setAll(s3ObjectMetadata.encryptionHeaders()))
306+
.headers(h -> {
307+
if (s3ObjectMetadata.encryptionHeaders() != null) {
308+
h.setAll(s3ObjectMetadata.encryptionHeaders());
309+
}
310+
})
299311
.headers(h -> h.setAll(checksumHeaderFrom(s3ObjectMetadata)))
300312
.headers(h -> h.setAll(storageClassHeadersFrom(s3ObjectMetadata)))
301313
.headers(h -> h.setAll(overrideHeadersFrom(queryParams)))
@@ -405,9 +417,17 @@ public ResponseEntity<StreamingResponseBody> getObject(
405417
h.set(X_AMZ_VERSION_ID, s3ObjectMetadata.versionId());
406418
}
407419
})
408-
.headers(h -> h.setAll(s3ObjectMetadata.storeHeaders()))
420+
.headers(h -> {
421+
if (s3ObjectMetadata.storeHeaders() != null) {
422+
h.setAll(s3ObjectMetadata.storeHeaders());
423+
}
424+
})
409425
.headers(h -> h.setAll(userMetadataHeadersFrom(s3ObjectMetadata)))
410-
.headers(h -> h.setAll(s3ObjectMetadata.encryptionHeaders()))
426+
.headers(h -> {
427+
if (s3ObjectMetadata.encryptionHeaders() != null) {
428+
h.setAll(s3ObjectMetadata.encryptionHeaders());
429+
}
430+
})
411431
.headers(h -> {
412432
if (mode == ChecksumMode.ENABLED) {
413433
h.setAll(checksumHeaderFrom(s3ObjectMetadata));
@@ -856,7 +876,11 @@ public ResponseEntity<Void> putObject(
856876
}
857877
})
858878
.headers(h -> h.setAll(checksumHeaderFrom(s3ObjectMetadata)))
859-
.headers(h -> h.setAll(s3ObjectMetadata.encryptionHeaders()))
879+
.headers(h -> {
880+
if (s3ObjectMetadata.encryptionHeaders() != null) {
881+
h.setAll(s3ObjectMetadata.encryptionHeaders());
882+
}
883+
})
860884
.header(X_AMZ_OBJECT_SIZE, s3ObjectMetadata.size())
861885
.lastModified(s3ObjectMetadata.lastModified())
862886
.eTag(s3ObjectMetadata.etag())
@@ -923,12 +947,20 @@ public ResponseEntity<CopyObjectResult> copyObject(
923947
if (copyS3ObjectMetadata == null) {
924948
return ResponseEntity
925949
.notFound()
926-
.headers(headers -> headers.setAll(s3ObjectMetadata.encryptionHeaders()))
950+
.headers(headers -> {
951+
if (s3ObjectMetadata.encryptionHeaders() != null) {
952+
headers.setAll(s3ObjectMetadata.encryptionHeaders());
953+
}
954+
})
927955
.build();
928956
}
929957
return ResponseEntity
930958
.ok()
931-
.headers(headers -> headers.setAll(s3ObjectMetadata.encryptionHeaders()))
959+
.headers(headers -> {
960+
if (s3ObjectMetadata.encryptionHeaders() != null) {
961+
headers.setAll(s3ObjectMetadata.encryptionHeaders());
962+
}
963+
})
932964
.headers(h -> {
933965
if (sourceBucket.isVersioningEnabled() && copySource.versionId() != null) {
934966
h.set(X_AMZ_COPY_SOURCE_VERSION_ID, copySource.versionId());

server/src/main/java/com/adobe/testing/s3mock/service/MultipartService.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ public CopyPartResult copyPart(
9494
String destinationKey,
9595
UUID uploadId,
9696
Map<String, String> encryptionHeaders,
97-
String versionId) {
97+
@Nullable String versionId
98+
) {
9899
var sourceBucketMetadata = bucketStore.getBucketMetadata(bucketName);
99100
var destinationBucketMetadata = bucketStore.getBucketMetadata(destinationBucket);
100101
var sourceId = sourceBucketMetadata.getID(key);
@@ -203,10 +204,10 @@ public InitiateMultipartUploadResult createMultipartUpload(
203204
Owner initiator,
204205
Map<String, String> userMetadata,
205206
Map<String, String> encryptionHeaders,
206-
List<Tag> tags,
207+
@Nullable List<Tag> tags,
207208
StorageClass storageClass,
208-
ChecksumType checksumType,
209-
ChecksumAlgorithm checksumAlgorithm) {
209+
@Nullable ChecksumType checksumType,
210+
@Nullable ChecksumAlgorithm checksumAlgorithm) {
210211
var bucketMetadata = bucketStore.getBucketMetadata(bucketName);
211212
var id = bucketStore.addKeyToBucket(key, bucketName);
212213

server/src/main/java/com/adobe/testing/s3mock/store/MultipartStore.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,13 @@ public MultipartUpload createMultipartUpload(
8484
BucketMetadata bucket,
8585
String key,
8686
UUID id,
87-
String contentType,
87+
@Nullable String contentType,
8888
Map<String, String> storeHeaders,
8989
Owner owner,
9090
Owner initiator,
9191
Map<String, String> userMetadata,
9292
Map<String, String> encryptionHeaders,
93-
List<Tag> tags,
93+
@Nullable List<Tag> tags,
9494
StorageClass storageClass,
9595
@Nullable ChecksumType checksumType,
9696
@Nullable ChecksumAlgorithm checksumAlgorithm) {

server/src/main/java/com/adobe/testing/s3mock/store/MultipartUploadInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@
3030
*/
3131
public record MultipartUploadInfo(
3232
MultipartUpload upload,
33-
String contentType,
33+
@Nullable String contentType,
3434
Map<String, String> userMetadata,
3535
Map<String, String> storeHeaders,
3636
Map<String, String> encryptionHeaders,
3737
String bucket,
3838
@Nullable StorageClass storageClass,
39-
List<Tag> tags,
39+
@Nullable List<Tag> tags,
4040
@Nullable String checksum,
4141
@Nullable ChecksumType checksumType,
4242
@Nullable ChecksumAlgorithm checksumAlgorithm,

0 commit comments

Comments
 (0)