This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit c3b05b116c4dabb3601109a0de35bf7c0e2a2a8e Author: Tran Tien Duc <[email protected]> AuthorDate: Wed Jun 26 16:22:16 2019 +0700 JAMES-2806 PutBlobFunction should have one more parameter of BucketName --- .../james/blob/objectstorage/ObjectStorageBlobsDAO.java | 14 +++++++------- .../blob/objectstorage/ObjectStorageBlobsDAOBuilder.java | 2 +- .../apache/james/blob/objectstorage/PutBlobFunction.java | 3 ++- .../james/blob/objectstorage/aws/AwsS3ObjectStorage.java | 4 ++-- .../blob/objectstorage/ObjectStorageBlobsDAOTest.java | 2 +- .../aws/AwsS3ObjectStorageBlobsDAOBuilderTest.java | 6 ++---- .../SwiftKeystone2ObjectStorageBlobsDAOBuilderTest.java | 3 +-- .../SwiftKeystone3ObjectStorageBlobsDAOBuilderTest.java | 3 +-- .../SwiftTempAuthObjectStorageBlobsDAOBuilderTest.java | 3 +-- .../objectstorage/ObjectStorageDependenciesModule.java | 2 +- 10 files changed, 19 insertions(+), 23 deletions(-) diff --git a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAO.java b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAO.java index 0507935..c288f6b 100644 --- a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAO.java +++ b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAO.java @@ -113,14 +113,14 @@ public class ObjectStorageBlobsDAO implements BlobStore { BlobId tmpId = blobIdFactory.randomId(); return save(bucketName, data, tmpId) - .flatMap(id -> updateBlobId(tmpId, id)); + .flatMap(id -> updateBlobId(bucketName, tmpId, id)); } - private Mono<BlobId> updateBlobId(BlobId from, BlobId to) { - String bucketName = this.defaultBucketName.asString(); + private Mono<BlobId> updateBlobId(BucketName bucketName, BlobId from, BlobId to) { + String bucketNameAsString = bucketName.asString(); return Mono - .fromCallable(() -> blobStore.copyBlob(bucketName, from.asString(), bucketName, to.asString(), CopyOptions.NONE)) - .then(Mono.fromRunnable(() -> blobStore.removeBlob(bucketName, from.asString()))) + .fromCallable(() -> blobStore.copyBlob(bucketNameAsString, from.asString(), bucketNameAsString, to.asString(), CopyOptions.NONE)) + .then(Mono.fromRunnable(() -> blobStore.removeBlob(bucketNameAsString, from.asString()))) .thenReturn(to); } @@ -136,7 +136,7 @@ public class ObjectStorageBlobsDAO implements BlobStore { } private Mono<Void> save(BucketName bucketName, Blob blob) { - return Mono.fromRunnable(() -> putBlobFunction.putBlob(blob)); + return Mono.fromRunnable(() -> putBlobFunction.putBlob(bucketName, blob)); } @Override @@ -146,7 +146,7 @@ public class ObjectStorageBlobsDAO implements BlobStore { @Override public InputStream read(BucketName bucketName, BlobId blobId) throws ObjectStoreException { - Blob blob = blobStore.getBlob(this.defaultBucketName.asString(), blobId.asString()); + Blob blob = blobStore.getBlob(bucketName.asString(), blobId.asString()); try { if (blob != null) { diff --git a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOBuilder.java b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOBuilder.java index 4b8d212..11cef30 100644 --- a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOBuilder.java +++ b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOBuilder.java @@ -90,7 +90,7 @@ public class ObjectStorageBlobsDAOBuilder { } private PutBlobFunction defaultPutBlob(BlobStore blobStore) { - return (blob) -> blobStore.putBlob(defaultBucketName.asString(), blob); + return (bucketName, blob) -> blobStore.putBlob(bucketName.asString(), blob); } @VisibleForTesting diff --git a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/PutBlobFunction.java b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/PutBlobFunction.java index ac58aef..6bae45d 100644 --- a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/PutBlobFunction.java +++ b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/PutBlobFunction.java @@ -19,6 +19,7 @@ package org.apache.james.blob.objectstorage; +import org.apache.james.blob.api.BucketName; import org.jclouds.blobstore.domain.Blob; /** @@ -33,5 +34,5 @@ import org.jclouds.blobstore.domain.Blob; @FunctionalInterface public interface PutBlobFunction { - void putBlob(Blob blob); + void putBlob(BucketName bucketName, Blob blob); } diff --git a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorage.java b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorage.java index 257e40c..3d4a3b3 100644 --- a/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorage.java +++ b/server/blob/blob-objectstorage/src/main/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorage.java @@ -93,8 +93,8 @@ public class AwsS3ObjectStorage { return ObjectStorageBlobsDAOBuilder.forBlobStore(new BlobStoreBuilder(configuration)); } - public Optional<PutBlobFunction> putBlob(BucketName bucketName, AwsS3AuthConfiguration configuration) { - return Optional.of((blob) -> { + public Optional<PutBlobFunction> putBlob(AwsS3AuthConfiguration configuration) { + return Optional.of((bucketName, blob) -> { File file = null; try { file = File.createTempFile(UUID.randomUUID().toString(), ".tmp"); diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java index e4f83d1..44cbf99 100644 --- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java +++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java @@ -76,7 +76,7 @@ public class ObjectStorageBlobsDAOTest implements MetricableBlobStoreContract { @BeforeEach void setUp(DockerSwift dockerSwift) { - bucketName = BucketName.of(UUID.randomUUID().toString()); + bucketName = BucketName.DEFAULT; testConfig = SwiftTempAuthObjectStorage.configBuilder() .endpoint(dockerSwift.swiftEndpoint()) .identity(SWIFT_IDENTITY) diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorageBlobsDAOBuilderTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorageBlobsDAOBuilderTest.java index 3db7533..3501086 100644 --- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorageBlobsDAOBuilderTest.java +++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/AwsS3ObjectStorageBlobsDAOBuilderTest.java @@ -21,8 +21,6 @@ package org.apache.james.blob.objectstorage.aws; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import java.util.UUID; - import org.apache.james.blob.api.BucketName; import org.apache.james.blob.api.HashBlobId; import org.apache.james.blob.objectstorage.ObjectStorageBlobsDAO; @@ -43,7 +41,7 @@ class AwsS3ObjectStorageBlobsDAOBuilderTest implements ObjectStorageBlobsDAOCont @BeforeEach void setUp(DockerAwsS3Container dockerAwsS3Container) { awsS3ObjectStorage = new AwsS3ObjectStorage(); - bucketName = BucketName.of(UUID.randomUUID().toString()); + bucketName = BucketName.DEFAULT; configuration = AwsS3AuthConfiguration.builder() .endpoint(dockerAwsS3Container.getEndpoint()) .accessKeyId(DockerAwsS3Container.ACCESS_KEY_ID) @@ -87,7 +85,7 @@ class AwsS3ObjectStorageBlobsDAOBuilderTest implements ObjectStorageBlobsDAOCont .builder(configuration) .defaultBucketName(bucketName) .blobIdFactory(new HashBlobId.Factory()) - .putBlob(awsS3ObjectStorage.putBlob(bucketName, configuration)); + .putBlob(awsS3ObjectStorage.putBlob(configuration)); assertBlobsDAOCanStoreAndRetrieve(builder); } diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone2ObjectStorageBlobsDAOBuilderTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone2ObjectStorageBlobsDAOBuilderTest.java index fd8f296..b1178a6 100644 --- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone2ObjectStorageBlobsDAOBuilderTest.java +++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone2ObjectStorageBlobsDAOBuilderTest.java @@ -22,7 +22,6 @@ package org.apache.james.blob.objectstorage.swift; import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.net.URI; -import java.util.UUID; import org.apache.james.blob.api.BucketName; import org.apache.james.blob.api.HashBlobId; @@ -48,7 +47,7 @@ class SwiftKeystone2ObjectStorageBlobsDAOBuilderTest implements ObjectStorageBlo @BeforeEach void setUp(DockerSwift dockerSwift) { - bucketName = BucketName.of(UUID.randomUUID().toString()); + bucketName = BucketName.DEFAULT; endpoint = dockerSwift.keystoneV2Endpoint(); testConfig = SwiftKeystone2ObjectStorage.configBuilder() .endpoint(endpoint) diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone3ObjectStorageBlobsDAOBuilderTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone3ObjectStorageBlobsDAOBuilderTest.java index 16ac758..b7d24ae 100644 --- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone3ObjectStorageBlobsDAOBuilderTest.java +++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftKeystone3ObjectStorageBlobsDAOBuilderTest.java @@ -23,7 +23,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.util.HashMap; import java.util.Map; -import java.util.UUID; import org.apache.james.blob.api.BucketName; import org.apache.james.blob.api.HashBlobId; @@ -78,7 +77,7 @@ class SwiftKeystone3ObjectStorageBlobsDAOBuilderTest implements ObjectStorageBlo @BeforeEach void setUp(DockerSwift dockerSwift) { this.dockerSwift = dockerSwift; - bucketName = BucketName.of(UUID.randomUUID().toString()); + bucketName = BucketName.DEFAULT; testConfig = PROJECT_CONFIG .endpoint(dockerSwift.keystoneV3Endpoint()) .build(); diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftTempAuthObjectStorageBlobsDAOBuilderTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftTempAuthObjectStorageBlobsDAOBuilderTest.java index 8ecf795..971d7f4 100644 --- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftTempAuthObjectStorageBlobsDAOBuilderTest.java +++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/swift/SwiftTempAuthObjectStorageBlobsDAOBuilderTest.java @@ -22,7 +22,6 @@ package org.apache.james.blob.objectstorage.swift; import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.net.URI; -import java.util.UUID; import org.apache.james.blob.api.BucketName; import org.apache.james.blob.api.HashBlobId; @@ -48,7 +47,7 @@ class SwiftTempAuthObjectStorageBlobsDAOBuilderTest implements ObjectStorageBlob @BeforeEach void setUp(DockerSwift dockerSwift) { - bucketName = BucketName.of(UUID.randomUUID().toString()); + bucketName = BucketName.DEFAULT; endpoint = dockerSwift.swiftEndpoint(); testConfig = SwiftTempAuthObjectStorage.configBuilder() .endpoint(endpoint) diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java index 34ce338..94718d0 100644 --- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java +++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java @@ -93,7 +93,7 @@ public class ObjectStorageDependenciesModule extends AbstractModule { case AWSS3: return awsS3ObjectStorageProvider .get() - .putBlob(configuration.getNamespace(), (AwsS3AuthConfiguration) configuration.getSpecificAuthConfiguration()); + .putBlob((AwsS3AuthConfiguration) configuration.getSpecificAuthConfiguration()); } throw new IllegalArgumentException("unknown provider " + configuration.getProvider()); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
