You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/07/05 07:00:54 UTC
[james-project] 06/12: JAMES-2806 PutBlobFunction should have one
more parameter of BucketName
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 <dt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org