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 7a47d8ba636b46b3f495de47d8db05b30f867854
Author: Gautier DI FOLCO <gdifo...@linagora.com>
AuthorDate: Wed Sep 4 13:06:52 2019 +0200

    JAMES-2813 Extract MailboxPathV2MigrationTask
---
 .../mail/migration/MailboxPathV2Migration.java     | 44 ++++++++++++++--------
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2Migration.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2Migration.java
index d3cb735..6b4a7b6 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2Migration.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/migration/MailboxPathV2Migration.java
@@ -38,6 +38,29 @@ import reactor.core.publisher.Mono;
 
 public class MailboxPathV2Migration implements Migration {
 
+    static class MailboxPathV2MigrationTask implements Task {
+        private final MailboxPathV2Migration migration;
+
+        MailboxPathV2MigrationTask(MailboxPathV2Migration migration) {
+            this.migration = migration;
+        }
+
+        @Override
+        public Result run() throws InterruptedException {
+            return migration.runTask();
+        }
+
+        @Override
+        public TaskType type() {
+            return TYPE;
+        }
+
+        @Override
+        public Optional<TaskExecutionDetails.AdditionalInformation> details() {
+            return Optional.of(migration.getAdditionalInformation());
+        }
+    }
+
     public static class AdditionalInformation implements 
TaskExecutionDetails.AdditionalInformation {
         private final Supplier<Long> countSupplier;
         private final long initialCount;
@@ -57,6 +80,7 @@ public class MailboxPathV2Migration implements Migration {
     }
 
     public static final Logger LOGGER = 
LoggerFactory.getLogger(MailboxPathV2Migration.class);
+    public static final TaskType TYPE = 
TaskType.of("Cassandra_mailboxPathV2Migration");
     private final CassandraMailboxPathDAOImpl daoV1;
     private final CassandraMailboxPathV2DAO daoV2;
     private final AdditionalInformation additionalInformation;
@@ -90,22 +114,10 @@ public class MailboxPathV2Migration implements Migration {
 
     @Override
     public Task asTask() {
-        return new Task() {
-            @Override
-            public Result run() throws InterruptedException {
-                return runTask();
-            }
-
-            @Override
-            public TaskType type() {
-                return TaskType.of("Cassandra_mailboxPathV2Migration");
-            }
-
-            @Override
-            public Optional<TaskExecutionDetails.AdditionalInformation> 
details() {
-                return Optional.of(additionalInformation);
-            }
-        };
+        return new MailboxPathV2MigrationTask(this);
     }
 
+    AdditionalInformation getAdditionalInformation() {
+        return additionalInformation;
+    }
 }


---------------------------------------------------------------------
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