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 rc...@apache.org on 2019/12/20 07:30:50 UTC
[james-project] 06/15: JAMES-2813
BlobStoreVaultGarbageCollectionTask::AdditionalInformation should be
immutable
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 9efb89854cac12839764614a12f395ab5c9f6f26
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Dec 17 11:03:05 2019 +0700
JAMES-2813 BlobStoreVaultGarbageCollectionTask::AdditionalInformation should be immutable
---
.../vault/blob/BlobStoreVaultGarbageCollectionTask.java | 17 +++++------------
...ltGarbageCollectionTaskAdditionalInformationDTO.java | 2 +-
...toreVaultGarbageCollectionTaskSerializationTest.java | 5 +++--
3 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTask.java b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTask.java
index 61b4e5d..01690dc 100644
--- a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTask.java
+++ b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTask.java
@@ -35,18 +35,19 @@ import org.apache.james.task.TaskExecutionDetails;
import org.apache.james.task.TaskType;
import com.github.steveash.guavate.Guavate;
+import com.google.common.collect.ImmutableSet;
+
import reactor.core.publisher.Flux;
import reactor.core.scheduler.Schedulers;
public class BlobStoreVaultGarbageCollectionTask implements Task {
public static class AdditionalInformation implements TaskExecutionDetails.AdditionalInformation {
-
private final ZonedDateTime beginningOfRetentionPeriod;
- private final Collection<BucketName> deletedBuckets;
+ private final ImmutableSet<BucketName> deletedBuckets;
private final Instant timestamp;
- AdditionalInformation(ZonedDateTime beginningOfRetentionPeriod, Collection<BucketName> deletedBuckets, Instant timestamp) {
+ AdditionalInformation(ZonedDateTime beginningOfRetentionPeriod, ImmutableSet<BucketName> deletedBuckets, Instant timestamp) {
this.beginningOfRetentionPeriod = beginningOfRetentionPeriod;
this.deletedBuckets = deletedBuckets;
this.timestamp = timestamp;
@@ -111,14 +112,6 @@ public class BlobStoreVaultGarbageCollectionTask implements Task {
@Override
public Optional<TaskExecutionDetails.AdditionalInformation> details() {
- return Optional.of(new AdditionalInformation(beginningOfRetentionPeriod, deletedBuckets, Clock.systemUTC().instant()));
- }
-
- ZonedDateTime getBeginningOfRetentionPeriod() {
- return beginningOfRetentionPeriod;
- }
-
- Flux<BucketName> getRetentionOperation() {
- return retentionOperation;
+ return Optional.of(new AdditionalInformation(beginningOfRetentionPeriod, ImmutableSet.copyOf(deletedBuckets), Clock.systemUTC().instant()));
}
}
diff --git a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskAdditionalInformationDTO.java b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskAdditionalInformationDTO.java
index fff7526..c757f38 100644
--- a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskAdditionalInformationDTO.java
+++ b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskAdditionalInformationDTO.java
@@ -73,7 +73,7 @@ public class BlobStoreVaultGarbageCollectionTaskAdditionalInformationDTO impleme
deletedBuckets
.stream()
.map(BucketName::of)
- .collect(Guavate.toImmutableList()),
+ .collect(Guavate.toImmutableSet()),
timestamp);
}
diff --git a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskSerializationTest.java b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskSerializationTest.java
index ab2fff9..2d2cd34 100644
--- a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskSerializationTest.java
+++ b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/blob/BlobStoreVaultGarbageCollectionTaskSerializationTest.java
@@ -37,7 +37,8 @@ import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+
import reactor.core.publisher.Flux;
class BlobStoreVaultGarbageCollectionTaskSerializationTest {
@@ -46,7 +47,7 @@ class BlobStoreVaultGarbageCollectionTaskSerializationTest {
private static final JsonTaskSerializer TASK_SERIALIZER = JsonTaskSerializer.of(BlobStoreVaultGarbageCollectionTaskDTO.module(TASK_FACTORY));
private static final ZonedDateTime BEGINNING_OF_RETENTION_PERIOD = ZonedDateTime.parse("2019-09-03T15:26:13.356+02:00[Europe/Paris]");
- private static final ImmutableList<BucketName> BUCKET_IDS = ImmutableList.of(BucketName.of("1"), BucketName.of("2"), BucketName.of("3"));
+ private static final ImmutableSet<BucketName> BUCKET_IDS = ImmutableSet.of(BucketName.of("1"), BucketName.of("2"), BucketName.of("3"));
private static final Flux<BucketName> RETENTION_OPERATION = Flux.fromIterable(BUCKET_IDS);
private static final Instant TIMESTAMP = Instant.parse("2018-11-13T12:00:55Z");
private static final BlobStoreVaultGarbageCollectionTask.AdditionalInformation DETAILS = new BlobStoreVaultGarbageCollectionTask.AdditionalInformation(BEGINNING_OF_RETENTION_PERIOD, BUCKET_IDS, TIMESTAMP);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org