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 2bd0cc208c66656538ee518687b99beae82cd2a1
Author: RĂ©mi Kowalski <rkowal...@linagora.com>
AuthorDate: Tue Sep 3 17:36:29 2019 +0200

    JAMES-2813 make ClearMailRepositoryTask immutable
---
 .../webadmin/service/ClearMailRepositoryTask.java  | 28 ++++++++++------------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git 
a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/ClearMailRepositoryTask.java
 
b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/ClearMailRepositoryTask.java
index 84b1985..ea04c97 100644
--- 
a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/ClearMailRepositoryTask.java
+++ 
b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/ClearMailRepositoryTask.java
@@ -21,15 +21,11 @@ package org.apache.james.webadmin.service;
 
 import java.util.List;
 import java.util.Optional;
-import java.util.function.Function;
-import java.util.function.Supplier;
 
 import javax.mail.MessagingException;
 
-import org.apache.james.json.DTOModule;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.api.MailRepositoryPath;
-import org.apache.james.server.task.json.dto.TaskDTOModule;
 import org.apache.james.task.Task;
 import org.apache.james.task.TaskExecutionDetails;
 import org.apache.james.task.TaskType;
@@ -42,13 +38,13 @@ public class ClearMailRepositoryTask implements Task {
 
     public static class AdditionalInformation implements 
TaskExecutionDetails.AdditionalInformation {
         private final MailRepositoryPath repositoryPath;
-        private final Supplier<Long> countSupplier;
         private final long initialCount;
+        private final long remainingCount;
 
-        public AdditionalInformation(MailRepositoryPath repositoryPath, 
Supplier<Long> countSupplier) {
+        public AdditionalInformation(MailRepositoryPath repositoryPath, long 
initialCount, long remainingCount) {
             this.repositoryPath = repositoryPath;
-            this.initialCount = countSupplier.get();
-            this.countSupplier = countSupplier;
+            this.initialCount = initialCount;
+            this.remainingCount = remainingCount;
         }
 
         public String getRepositoryPath() {
@@ -56,7 +52,7 @@ public class ClearMailRepositoryTask implements Task {
         }
 
         public long getRemainingCount() {
-            return countSupplier.get();
+            return remainingCount;
         }
 
         public long getInitialCount() {
@@ -80,12 +76,12 @@ public class ClearMailRepositoryTask implements Task {
 
     private final List<MailRepository> mailRepositories;
     private final MailRepositoryPath mailRepositoryPath;
-    private final AdditionalInformation additionalInformation;
+    private final long initialCount;
 
     public ClearMailRepositoryTask(List<MailRepository> mailRepositories, 
MailRepositoryPath path) {
         this.mailRepositories = mailRepositories;
         this.mailRepositoryPath = path;
-        this.additionalInformation = new AdditionalInformation(path, 
this::getRemainingSize);
+        this.initialCount = getRemainingSize();
     }
 
     @Override
@@ -114,14 +110,14 @@ public class ClearMailRepositoryTask implements Task {
 
     @Override
     public Optional<TaskExecutionDetails.AdditionalInformation> details() {
-        return Optional.of(additionalInformation);
+        return Optional.of(new AdditionalInformation(mailRepositoryPath, 
initialCount, getRemainingSize()));
     }
 
     public long getRemainingSize() {
         return mailRepositories
-                .stream()
-                .map(Throwing.function(MailRepository::size).sneakyThrow())
-                .mapToLong(Long::valueOf)
-                .sum();
+            .stream()
+            .map(Throwing.function(MailRepository::size).sneakyThrow())
+            .mapToLong(Long::valueOf)
+            .sum();
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to