From 999ac847c99243e38dec0c7a9dfaf747432695da Mon Sep 17 00:00:00 2001 From: Elwizzy12 Date: Wed, 31 Jul 2024 11:04:01 +0100 Subject: [PATCH] update dependencies and other modules --- ...thDefaultDatasafeOnVersionedStorageIT.java | 13 ++------ .../datasafe-simple-adapter-impl/pom.xml | 15 ++++++++++ .../impl/SimpleDatasafeServiceImpl.java | 30 +++++++++++-------- 3 files changed, 35 insertions(+), 23 deletions(-) diff --git a/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT.java b/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT.java index 0da43e75d..016030765 100644 --- a/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT.java +++ b/datasafe-examples/datasafe-examples-versioned-s3/src/test/java/de/adorsys/datasafe/examples/business/s3/BaseUserOperationsWithDefaultDatasafeOnVersionedStorageIT.java @@ -25,10 +25,7 @@ import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; -import software.amazon.awssdk.services.s3.model.CreateBucketRequest; -import software.amazon.awssdk.services.s3.model.DeleteObjectRequest; -import software.amazon.awssdk.services.s3.model.GetObjectRequest; -import software.amazon.awssdk.services.s3.model.NoSuchKeyException; +import software.amazon.awssdk.services.s3.model.*; import java.io.OutputStream; import java.net.URI; @@ -97,12 +94,8 @@ static void createServices() { cephS3.createBucket(CreateBucketRequest.builder() .bucket(VERSIONED_BUCKET_NAME) .build()); - cephS3.setBucketVersioning(SetBucketVersioningConfigurationRequest.builder() - .bucket(VERSIONED_BUCKET_NAME) - .versioningConfiguration(BucketVersioningConfiguration.builder() - .status(BucketVersioningConfiguration.Status.ENABLED) - .build()) - .build()); + cephS3.createBucket(req -> req.bucket(VERSIONED_BUCKET_NAME)); + cephS3.putBucketVersioning(req -> req.bucket(VERSIONED_BUCKET_NAME).versioningConfiguration(req1 -> req1.status(BucketVersioningStatus.ENABLED))); } @AfterAll diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml b/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml index af98b24da..57a7c0bad 100644 --- a/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml +++ b/datasafe-simple-adapter/datasafe-simple-adapter-impl/pom.xml @@ -73,6 +73,21 @@ assertj-core test + + org.wildfly.core + wildfly-cli + 26.0.0.Beta1 + + + software.amazon.awssdk + apache-client + 2.26.22 + + + org.testcontainers + testcontainers + + diff --git a/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java b/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java index 3acfacb6f..d6e06fae0 100644 --- a/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java +++ b/datasafe-simple-adapter/datasafe-simple-adapter-impl/src/main/java/de/adorsys/datasafe/simple/adapter/impl/SimpleDatasafeServiceImpl.java @@ -45,10 +45,14 @@ import lombok.extern.slf4j.Slf4j; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; +import software.amazon.awssdk.http.apache.ApacheHttpClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.S3ClientBuilder; import software.amazon.awssdk.services.s3.S3Configuration; import software.amazon.awssdk.services.s3.model.CreateBucketRequest; +import software.amazon.awssdk.services.s3.model.HeadBucketRequest; +import software.amazon.awssdk.services.s3.model.NoSuchBucketException; import software.amazon.awssdk.services.s3.model.Protocol; import java.io.InputStream; @@ -250,7 +254,7 @@ private static SystemRootAndStorageService useAmazonS3(AmazonS3DFSCredentials df } log.info(lsf.toString()); - S3Client.Builder s3ClientBuilder = S3Client.builder() + S3ClientBuilder s3ClientBuilder = S3Client.builder() .credentialsProvider(StaticCredentialsProvider.create( AwsBasicCredentials.create( amazonS3DFSCredentials.getAccessKey(), @@ -265,7 +269,7 @@ private static SystemRootAndStorageService useAmazonS3(AmazonS3DFSCredentials df if (useEndpoint) { lsf.add("not real amazon, so use pathStyleAccess"); s3ClientBuilder.endpointOverride(URI.create(amazonS3DFSCredentials.getUrl())) - .forcePathStyle(true); + .serviceConfiguration(S3Configuration.builder().pathStyleAccessEnabled(true).build()); } else { lsf.add("real amazon, so use bucketStyleAccess"); // amazonS3ClientBuilder.withRegion(amazonS3DFSCredentials.getRegion()); @@ -273,27 +277,27 @@ private static SystemRootAndStorageService useAmazonS3(AmazonS3DFSCredentials df log.info("{}", lsf.toString()); if (amazonS3DFSCredentials.isNoHttps() || maxConnections > 0 || requestTimeout > 0) { - S3Configuration.Builder configBuilder = S3Configuration.builder(); - if (amazonS3DFSCredentials.isNoHttps()) { - log.info("Creating S3 client without https"); - configBuilder.protocol(Protocol.HTTP); - } + ApacheHttpClient.Builder httpClientBuilder = ApacheHttpClient.builder(); if (maxConnections > 0) { log.info("Creating S3 client with max connections:{}", maxConnections); - configBuilder.maxConnections(maxConnections); + httpClientBuilder.maxConnections(maxConnections); } if (requestTimeout > 0) { log.info("Creating S3 client with connection timeout:{}", requestTimeout); - configBuilder.connectionTimeout(Duration.ofSeconds(requestTimeout)); + httpClientBuilder.connectionTimeout(Duration.ofSeconds(requestTimeout)); } - s3ClientBuilder.serviceConfiguration(configBuilder.build()); + s3ClientBuilder.httpClient(httpClientBuilder.build()); } S3Client s3Client = s3ClientBuilder.build(); - if (!s3Client.doesBucketExist(DoesBucketExistRequest.builder() - .bucket(amazonS3DFSCredentials.getContainer()) - .build())) { + try { + s3Client.headBucket(HeadBucketRequest.builder() + .bucket(amazonS3DFSCredentials.getContainer()) + .build()); + log.info("Bucket {} exists.", amazonS3DFSCredentials.getContainer()); + } catch (NoSuchBucketException e) { + log.info("Bucket {} does not exist. Creating bucket.", amazonS3DFSCredentials.getContainer()); s3Client.createBucket(CreateBucketRequest.builder() .bucket(amazonS3DFSCredentials.getContainer()) .build());