kopia lustrzana https://github.com/gaul/s3proxy
Address deprecation and rawtypes warnings
rodzic
27e51711a4
commit
e2afed1fd9
|
@ -349,7 +349,9 @@ public final class EncryptedBlobStore extends ForwardingBlobStore {
|
||||||
|
|
||||||
private String generateUploadId(String container, String blobName) {
|
private String generateUploadId(String container, String blobName) {
|
||||||
String path = container + "/" + blobName;
|
String path = container + "/" + blobName;
|
||||||
return Hashing.md5().hashBytes(path.getBytes(StandardCharsets.UTF_8)).toString();
|
@SuppressWarnings("deprecation")
|
||||||
|
var hash = Hashing.md5();
|
||||||
|
return hash.hashBytes(path.getBytes(StandardCharsets.UTF_8)).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.jclouds.reflect.Reflection2;
|
||||||
import org.jclouds.rest.internal.BaseHttpApiMetadata;
|
import org.jclouds.rest.internal.BaseHttpApiMetadata;
|
||||||
|
|
||||||
|
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
public final class AzureBlobApiMetadata extends BaseHttpApiMetadata {
|
public final class AzureBlobApiMetadata extends BaseHttpApiMetadata {
|
||||||
public AzureBlobApiMetadata() {
|
public AzureBlobApiMetadata() {
|
||||||
this(builder());
|
this(builder());
|
||||||
|
|
|
@ -386,8 +386,8 @@ public final class AzureBlobStore extends BaseBlobStore {
|
||||||
contentMetadata.getContentEncoding());
|
contentMetadata.getContentEncoding());
|
||||||
blobHttpHeaders.setContentLanguage(
|
blobHttpHeaders.setContentLanguage(
|
||||||
contentMetadata.getContentLanguage());
|
contentMetadata.getContentLanguage());
|
||||||
blobHttpHeaders.setContentMd5(
|
var hash = contentMetadata.getContentMD5AsHashCode();
|
||||||
contentMetadata.getContentMD5());
|
blobHttpHeaders.setContentMd5(hash != null ? hash.asBytes() : null);
|
||||||
blobHttpHeaders.setContentType(contentMetadata.getContentType());
|
blobHttpHeaders.setContentType(contentMetadata.getContentType());
|
||||||
azureOptions.setHeaders(blobHttpHeaders);
|
azureOptions.setHeaders(blobHttpHeaders);
|
||||||
if (blob.getMetadata().getTier() != Tier.STANDARD) {
|
if (blob.getMetadata().getTier() != Tier.STANDARD) {
|
||||||
|
|
|
@ -45,6 +45,7 @@ import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableSortedSet;
|
import com.google.common.collect.ImmutableSortedSet;
|
||||||
import com.google.common.hash.HashCode;
|
import com.google.common.hash.HashCode;
|
||||||
|
import com.google.common.hash.HashFunction;
|
||||||
import com.google.common.hash.Hashing;
|
import com.google.common.hash.Hashing;
|
||||||
import com.google.common.hash.HashingInputStream;
|
import com.google.common.hash.HashingInputStream;
|
||||||
import com.google.common.io.BaseEncoding;
|
import com.google.common.io.BaseEncoding;
|
||||||
|
@ -111,8 +112,10 @@ public abstract class AbstractNio2BlobStore extends BaseBlobStore {
|
||||||
private static final String XATTR_USER_METADATA_PREFIX =
|
private static final String XATTR_USER_METADATA_PREFIX =
|
||||||
"user.user-metadata.";
|
"user.user-metadata.";
|
||||||
private static final String MULTIPART_PREFIX = ".mpus-";
|
private static final String MULTIPART_PREFIX = ".mpus-";
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
private static final HashFunction md5 = Hashing.md5();
|
||||||
private static final byte[] DIRECTORY_MD5 =
|
private static final byte[] DIRECTORY_MD5 =
|
||||||
Hashing.md5().hashBytes(new byte[0]).asBytes();
|
md5.hashBytes(new byte[0]).asBytes();
|
||||||
|
|
||||||
private final Supplier<Set<? extends Location>> locations;
|
private final Supplier<Set<? extends Location>> locations;
|
||||||
private final Path root;
|
private final Path root;
|
||||||
|
@ -469,6 +472,7 @@ public abstract class AbstractNio2BlobStore extends BaseBlobStore {
|
||||||
if (options.getIfModifiedSince() != null) {
|
if (options.getIfModifiedSince() != null) {
|
||||||
Date modifiedSince = options.getIfModifiedSince();
|
Date modifiedSince = options.getIfModifiedSince();
|
||||||
if (lastModifiedTime.before(modifiedSince)) {
|
if (lastModifiedTime.before(modifiedSince)) {
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
HttpResponse.Builder response = HttpResponse.builder().statusCode(Status.NOT_MODIFIED.getStatusCode());
|
HttpResponse.Builder response = HttpResponse.builder().statusCode(Status.NOT_MODIFIED.getStatusCode());
|
||||||
if (eTag != null) {
|
if (eTag != null) {
|
||||||
response.addHeader(HttpHeaders.ETAG, eTag);
|
response.addHeader(HttpHeaders.ETAG, eTag);
|
||||||
|
@ -480,6 +484,7 @@ public abstract class AbstractNio2BlobStore extends BaseBlobStore {
|
||||||
if (options.getIfUnmodifiedSince() != null) {
|
if (options.getIfUnmodifiedSince() != null) {
|
||||||
Date unmodifiedSince = options.getIfUnmodifiedSince();
|
Date unmodifiedSince = options.getIfUnmodifiedSince();
|
||||||
if (lastModifiedTime.after(unmodifiedSince)) {
|
if (lastModifiedTime.after(unmodifiedSince)) {
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
HttpResponse.Builder response = HttpResponse.builder().statusCode(Status.PRECONDITION_FAILED.getStatusCode());
|
HttpResponse.Builder response = HttpResponse.builder().statusCode(Status.PRECONDITION_FAILED.getStatusCode());
|
||||||
if (eTag != null) {
|
if (eTag != null) {
|
||||||
response.addHeader(HttpHeaders.ETAG, eTag);
|
response.addHeader(HttpHeaders.ETAG, eTag);
|
||||||
|
@ -571,7 +576,7 @@ public abstract class AbstractNio2BlobStore extends BaseBlobStore {
|
||||||
}
|
}
|
||||||
|
|
||||||
var metadata = blob.getMetadata().getContentMetadata();
|
var metadata = blob.getMetadata().getContentMetadata();
|
||||||
try (var is = new HashingInputStream(Hashing.md5(), blob.getPayload().openStream());
|
try (var is = new HashingInputStream(md5, blob.getPayload().openStream());
|
||||||
var os = Files.newOutputStream(tmpPath)) {
|
var os = Files.newOutputStream(tmpPath)) {
|
||||||
var count = is.transferTo(os);
|
var count = is.transferTo(os);
|
||||||
var actualHashCode = is.hash();
|
var actualHashCode = is.hash();
|
||||||
|
@ -845,7 +850,7 @@ public abstract class AbstractNio2BlobStore extends BaseBlobStore {
|
||||||
public final String completeMultipartUpload(MultipartUpload mpu, List<MultipartPart> parts) {
|
public final String completeMultipartUpload(MultipartUpload mpu, List<MultipartPart> parts) {
|
||||||
var metas = ImmutableList.<BlobMetadata>builder();
|
var metas = ImmutableList.<BlobMetadata>builder();
|
||||||
long contentLength = 0;
|
long contentLength = 0;
|
||||||
var md5Hasher = Hashing.md5().newHasher();
|
var md5Hasher = md5.newHasher();
|
||||||
|
|
||||||
for (var part : parts) {
|
for (var part : parts) {
|
||||||
var meta = blobMetadata(mpu.containerName(), MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-" + part.partNumber());
|
var meta = blobMetadata(mpu.containerName(), MULTIPART_PREFIX + mpu.id() + "-" + mpu.blobName() + "-" + part.partNumber());
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.jclouds.blobstore.BlobStoreContext;
|
||||||
import org.jclouds.reflect.Reflection2;
|
import org.jclouds.reflect.Reflection2;
|
||||||
import org.jclouds.rest.internal.BaseHttpApiMetadata;
|
import org.jclouds.rest.internal.BaseHttpApiMetadata;
|
||||||
|
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
public final class FilesystemNio2BlobApiMetadata extends BaseHttpApiMetadata {
|
public final class FilesystemNio2BlobApiMetadata extends BaseHttpApiMetadata {
|
||||||
public FilesystemNio2BlobApiMetadata() {
|
public FilesystemNio2BlobApiMetadata() {
|
||||||
this(builder());
|
this(builder());
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.jclouds.blobstore.BlobStoreContext;
|
||||||
import org.jclouds.reflect.Reflection2;
|
import org.jclouds.reflect.Reflection2;
|
||||||
import org.jclouds.rest.internal.BaseHttpApiMetadata;
|
import org.jclouds.rest.internal.BaseHttpApiMetadata;
|
||||||
|
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
public final class TransientNio2BlobApiMetadata extends BaseHttpApiMetadata {
|
public final class TransientNio2BlobApiMetadata extends BaseHttpApiMetadata {
|
||||||
public TransientNio2BlobApiMetadata() {
|
public TransientNio2BlobApiMetadata() {
|
||||||
this(builder());
|
this(builder());
|
||||||
|
|
|
@ -30,6 +30,7 @@ import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;
|
||||||
import com.amazonaws.services.s3.AmazonS3;
|
import com.amazonaws.services.s3.AmazonS3;
|
||||||
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
||||||
import com.amazonaws.services.s3.internal.SkipMd5CheckStrategy;
|
import com.amazonaws.services.s3.internal.SkipMd5CheckStrategy;
|
||||||
|
import com.amazonaws.services.s3.model.ListBucketsPaginatedRequest;
|
||||||
import com.amazonaws.services.s3.model.ObjectMetadata;
|
import com.amazonaws.services.s3.model.ObjectMetadata;
|
||||||
import com.amazonaws.services.s3.model.S3Object;
|
import com.amazonaws.services.s3.model.S3Object;
|
||||||
import com.google.common.io.ByteSource;
|
import com.google.common.io.ByteSource;
|
||||||
|
@ -104,7 +105,7 @@ public final class AwsSdkAnonymousTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testListBuckets() throws Exception {
|
public void testListBuckets() throws Exception {
|
||||||
client.listBuckets();
|
client.listBuckets(new ListBucketsPaginatedRequest());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -69,6 +69,7 @@ import com.amazonaws.services.s3.model.GroupGrantee;
|
||||||
import com.amazonaws.services.s3.model.HeadBucketRequest;
|
import com.amazonaws.services.s3.model.HeadBucketRequest;
|
||||||
import com.amazonaws.services.s3.model.InitiateMultipartUploadRequest;
|
import com.amazonaws.services.s3.model.InitiateMultipartUploadRequest;
|
||||||
import com.amazonaws.services.s3.model.InitiateMultipartUploadResult;
|
import com.amazonaws.services.s3.model.InitiateMultipartUploadResult;
|
||||||
|
import com.amazonaws.services.s3.model.ListBucketsPaginatedRequest;
|
||||||
import com.amazonaws.services.s3.model.ListMultipartUploadsRequest;
|
import com.amazonaws.services.s3.model.ListMultipartUploadsRequest;
|
||||||
import com.amazonaws.services.s3.model.ListObjectsRequest;
|
import com.amazonaws.services.s3.model.ListObjectsRequest;
|
||||||
import com.amazonaws.services.s3.model.ListObjectsV2Request;
|
import com.amazonaws.services.s3.model.ListObjectsV2Request;
|
||||||
|
@ -850,7 +851,7 @@ public final class AwsSdkTest {
|
||||||
@Test
|
@Test
|
||||||
public void testListBuckets() throws Exception {
|
public void testListBuckets() throws Exception {
|
||||||
var builder = ImmutableList.<String>builder();
|
var builder = ImmutableList.<String>builder();
|
||||||
for (Bucket bucket : client.listBuckets()) {
|
for (Bucket bucket : client.listBuckets(new ListBucketsPaginatedRequest()).getBuckets()) {
|
||||||
builder.add(bucket.getName());
|
builder.add(bucket.getName());
|
||||||
}
|
}
|
||||||
assertThat(builder.build()).contains(containerName);
|
assertThat(builder.build()).contains(containerName);
|
||||||
|
@ -1687,7 +1688,7 @@ public final class AwsSdkTest {
|
||||||
});
|
});
|
||||||
|
|
||||||
// check first access key
|
// check first access key
|
||||||
List<Bucket> buckets = client.listBuckets();
|
var buckets = client.listBuckets(new ListBucketsPaginatedRequest()).getBuckets();
|
||||||
assertThat(buckets).hasSize(1);
|
assertThat(buckets).hasSize(1);
|
||||||
assertThat(buckets.get(0).getName()).isEqualTo(containerName);
|
assertThat(buckets.get(0).getName()).isEqualTo(containerName);
|
||||||
|
|
||||||
|
@ -1700,7 +1701,7 @@ public final class AwsSdkTest {
|
||||||
"credential")))
|
"credential")))
|
||||||
.withEndpointConfiguration(s3EndpointConfig)
|
.withEndpointConfiguration(s3EndpointConfig)
|
||||||
.build();
|
.build();
|
||||||
buckets = client.listBuckets();
|
buckets = client.listBuckets(new ListBucketsPaginatedRequest()).getBuckets();
|
||||||
assertThat(buckets).isEmpty();
|
assertThat(buckets).isEmpty();
|
||||||
|
|
||||||
// check invalid access key
|
// check invalid access key
|
||||||
|
@ -1710,7 +1711,7 @@ public final class AwsSdkTest {
|
||||||
.withEndpointConfiguration(s3EndpointConfig)
|
.withEndpointConfiguration(s3EndpointConfig)
|
||||||
.build();
|
.build();
|
||||||
try {
|
try {
|
||||||
client.listBuckets();
|
client.listBuckets(new ListBucketsPaginatedRequest());
|
||||||
Fail.failBecauseExceptionWasNotThrown(AmazonS3Exception.class);
|
Fail.failBecauseExceptionWasNotThrown(AmazonS3Exception.class);
|
||||||
} catch (AmazonS3Exception e) {
|
} catch (AmazonS3Exception e) {
|
||||||
assertThat(e.getErrorCode()).isEqualTo("InvalidAccessKeyId");
|
assertThat(e.getErrorCode()).isEqualTo("InvalidAccessKeyId");
|
||||||
|
|
|
@ -27,6 +27,7 @@ import com.amazonaws.regions.Regions;
|
||||||
import com.amazonaws.services.s3.AmazonS3;
|
import com.amazonaws.services.s3.AmazonS3;
|
||||||
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
||||||
import com.amazonaws.services.s3.model.Bucket;
|
import com.amazonaws.services.s3.model.Bucket;
|
||||||
|
import com.amazonaws.services.s3.model.ListBucketsPaginatedRequest;
|
||||||
import com.amazonaws.services.s3.model.S3ObjectSummary;
|
import com.amazonaws.services.s3.model.S3ObjectSummary;
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
@ -67,7 +68,7 @@ public class S3ProxyExtensionTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public final void listBucket() {
|
public final void listBucket() {
|
||||||
List<Bucket> buckets = s3Client.listBuckets();
|
List<Bucket> buckets = s3Client.listBuckets(new ListBucketsPaginatedRequest()).getBuckets();
|
||||||
assertThat(buckets).hasSize(1);
|
assertThat(buckets).hasSize(1);
|
||||||
assertThat(buckets.get(0).getName())
|
assertThat(buckets.get(0).getName())
|
||||||
.isEqualTo(MY_TEST_BUCKET);
|
.isEqualTo(MY_TEST_BUCKET);
|
||||||
|
|
|
@ -27,6 +27,7 @@ import com.amazonaws.regions.Regions;
|
||||||
import com.amazonaws.services.s3.AmazonS3;
|
import com.amazonaws.services.s3.AmazonS3;
|
||||||
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
|
||||||
import com.amazonaws.services.s3.model.Bucket;
|
import com.amazonaws.services.s3.model.Bucket;
|
||||||
|
import com.amazonaws.services.s3.model.ListBucketsPaginatedRequest;
|
||||||
import com.amazonaws.services.s3.model.S3ObjectSummary;
|
import com.amazonaws.services.s3.model.S3ObjectSummary;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -68,7 +69,7 @@ public class S3ProxyRuleTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public final void listBucket() {
|
public final void listBucket() {
|
||||||
List<Bucket> buckets = s3Client.listBuckets();
|
List<Bucket> buckets = s3Client.listBuckets(new ListBucketsPaginatedRequest()).getBuckets();
|
||||||
assertThat(buckets).hasSize(1);
|
assertThat(buckets).hasSize(1);
|
||||||
assertThat(buckets.get(0).getName())
|
assertThat(buckets.get(0).getName())
|
||||||
.isEqualTo(MY_TEST_BUCKET);
|
.isEqualTo(MY_TEST_BUCKET);
|
||||||
|
|
Ładowanie…
Reference in New Issue