Avoid mutable ArrayList

Latest AWS SDK handles immutable List.  Also tidy up line wrapping.
pull/114/head
Andrew Gaul 2016-01-13 16:07:02 -08:00
rodzic ef3a7a6adf
commit 3aed140a15
1 zmienionych plików z 18 dodań i 27 usunięć

Wyświetl plik

@ -24,7 +24,6 @@ import java.net.URL;
import java.security.KeyManagementException; import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate; import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
@ -58,12 +57,12 @@ import com.amazonaws.services.s3.model.InitiateMultipartUploadResult;
import com.amazonaws.services.s3.model.ObjectListing; import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.ObjectMetadata; import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.Owner; import com.amazonaws.services.s3.model.Owner;
import com.amazonaws.services.s3.model.PartETag;
import com.amazonaws.services.s3.model.S3Object; import com.amazonaws.services.s3.model.S3Object;
import com.amazonaws.services.s3.model.S3ObjectSummary; import com.amazonaws.services.s3.model.S3ObjectSummary;
import com.amazonaws.services.s3.model.UploadPartRequest; import com.amazonaws.services.s3.model.UploadPartRequest;
import com.amazonaws.services.s3.model.UploadPartResult; import com.amazonaws.services.s3.model.UploadPartResult;
import com.google.common.base.Throwables; import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.common.io.ByteSource; import com.google.common.io.ByteSource;
@ -285,19 +284,16 @@ public final class S3AwsSdkTest {
.withDestinationKey(targetBlobName) .withDestinationKey(targetBlobName)
.withSourceBucketName(containerName) .withSourceBucketName(containerName)
.withSourceKey(sourceBlobName) .withSourceKey(sourceBlobName)
.withUploadId(initResult.getUploadId()) .withUploadId(uploadId)
.withFirstByte(0L) .withFirstByte(0L)
.withLastByte(BYTE_SOURCE.size() - 1) .withLastByte(BYTE_SOURCE.size() - 1)
.withPartNumber(1); .withPartNumber(1);
CopyPartResult copyPartResult = client.copyPart(copyRequest); CopyPartResult copyPartResult = client.copyPart(copyRequest);
List<PartETag> partETags = new ArrayList<>();
partETags.add(copyPartResult.getPartETag());
CompleteMultipartUploadRequest completeRequest = CompleteMultipartUploadRequest completeRequest =
new CompleteMultipartUploadRequest( new CompleteMultipartUploadRequest(
containerName, targetBlobName, containerName, targetBlobName, uploadId,
initResult.getUploadId(), partETags); ImmutableList.of(copyPartResult.getPartETag()));
CompleteMultipartUploadResult completeUploadResponse = CompleteMultipartUploadResult completeUploadResponse =
client.completeMultipartUpload(completeRequest); client.completeMultipartUpload(completeRequest);
@ -326,39 +322,34 @@ public final class S3AwsSdkTest {
ByteSource byteSource1 = byteSource.slice(0, partSize); ByteSource byteSource1 = byteSource.slice(0, partSize);
UploadPartRequest uploadRequest1 = new UploadPartRequest() UploadPartRequest uploadRequest1 = new UploadPartRequest()
.withBucketName(containerName).withKey(key) .withBucketName(containerName)
.withUploadId(uploadId).withPartNumber(1) .withKey(key)
.withUploadId(uploadId)
.withPartNumber(1)
.withInputStream(byteSource1.openStream()) .withInputStream(byteSource1.openStream())
.withPartSize(byteSource1.size()); .withPartSize(byteSource1.size());
uploadRequest1.getRequestClientOptions().setReadLimit( uploadRequest1.getRequestClientOptions().setReadLimit(
(int) byteSource1.size()); (int) byteSource1.size());
UploadPartResult uploadPartResult1 = client.uploadPart(uploadRequest1); UploadPartResult uploadPartResult1 = client.uploadPart(uploadRequest1);
PartETag partETag1 = uploadPartResult1.getPartETag();
ByteSource byteSource2 = byteSource.slice(partSize, size - partSize); ByteSource byteSource2 = byteSource.slice(partSize, size - partSize);
UploadPartRequest uploadRequest2 = new UploadPartRequest() UploadPartRequest uploadRequest2 = new UploadPartRequest()
.withBucketName(containerName).withKey(key) .withBucketName(containerName)
.withUploadId(uploadId).withPartNumber(2) .withKey(key)
.withUploadId(uploadId)
.withPartNumber(2)
.withInputStream(byteSource2.openStream()) .withInputStream(byteSource2.openStream())
.withPartSize(byteSource2.size()); .withPartSize(byteSource2.size());
uploadRequest2.getRequestClientOptions().setReadLimit( uploadRequest2.getRequestClientOptions().setReadLimit(
(int) byteSource2.size()); (int) byteSource2.size());
UploadPartResult uploadPartResult2 = client.uploadPart(uploadRequest2); UploadPartResult uploadPartResult2 = client.uploadPart(uploadRequest2);
PartETag partETag2 = uploadPartResult2.getPartETag();
// must be mutable since AWK SDK sorts parts CompleteMultipartUploadRequest completeRequest =
List<PartETag> partETagList = new ArrayList<PartETag>(); new CompleteMultipartUploadRequest(
partETagList.add(partETag1); containerName, key, uploadId,
partETagList.add(partETag2); ImmutableList.of(
uploadPartResult1.getPartETag(),
CompleteMultipartUploadRequest completeRequest = new uploadPartResult2.getPartETag()));
CompleteMultipartUploadRequest(
containerName,
key,
uploadId,
partETagList);
client.completeMultipartUpload(completeRequest); client.completeMultipartUpload(completeRequest);
S3Object object = client.getObject(new GetObjectRequest(containerName, S3Object object = client.getObject(new GetObjectRequest(containerName,