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 e87a6fef7ec897f42c7680597da3f699a46fdb6a
Author: Raphael Ouazana <raphael.ouaz...@linagora.com>
AuthorDate: Thu Sep 5 15:58:06 2019 +0200

    JAMES-2873 expose node informations in webadmin execution details
---
 .../apache/james/webadmin/dto/ExecutionDetailsDto.java  | 17 ++++++++++++++++-
 .../apache/james/webadmin/routes/TasksRoutesTest.java   | 12 +++++++++---
 .../CassandraTaskExecutionDetailsProjectionDAO.scala    |  2 +-
 .../org/apache/james/task/TaskExecutionDetails.scala    |  2 +-
 4 files changed, 27 insertions(+), 6 deletions(-)

diff --git 
a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/ExecutionDetailsDto.java
 
b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/ExecutionDetailsDto.java
index 243083c..31216cb 100644
--- 
a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/ExecutionDetailsDto.java
+++ 
b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/ExecutionDetailsDto.java
@@ -25,6 +25,7 @@ import java.util.Optional;
 import java.util.UUID;
 
 import org.apache.james.task.TaskExecutionDetails;
+import org.apache.james.task.eventsourcing.Hostname;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonInclude;
@@ -59,6 +60,20 @@ public class ExecutionDetailsDto {
         return executionDetails.getStatus().getValue();
     }
 
+    public String getSubmittedFrom() {
+        return executionDetails.getSubmittedNode().asString();
+    }
+
+    public Optional<String> getExecutedOn() {
+        return executionDetails.getRanNode()
+            .map(Hostname::asString);
+    }
+
+    public Optional<String> getCancelledFrom() {
+        return executionDetails.getCancelRequestedNode()
+            .map(Hostname::asString);
+    }
+
     public Optional<TaskExecutionDetails.AdditionalInformation> 
getAdditionalInformation() {
         return executionDetails.getAdditionalInformation();
     }
@@ -66,7 +81,7 @@ public class ExecutionDetailsDto {
     @JsonInclude(JsonInclude.Include.NON_ABSENT)
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = 
"yyyy-MM-dd'T'HH:mm:ss.SSSZ")
     public ZonedDateTime getSubmitDate() {
-        return executionDetails.getSubmitDate();
+        return executionDetails.getSubmittedDate();
     }
 
     @JsonInclude(JsonInclude.Include.NON_ABSENT)
diff --git 
a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
 
b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
index a99feda..f6122e2 100644
--- 
a/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
+++ 
b/server/protocols/webadmin/webadmin-core/src/test/java/org/apache/james/webadmin/routes/TasksRoutesTest.java
@@ -27,6 +27,7 @@ import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.isOneOf;
 import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.nullValue;
 
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
@@ -48,13 +49,14 @@ import io.restassured.RestAssured;
 
 class TasksRoutesTest {
 
+    public static final String HOSTNAME = "foo";
     private MemoryTaskManager taskManager;
     private WebAdminServer webAdminServer;
     private CountDownLatch waitingForResultLatch;
 
     @BeforeEach
     void setUp() {
-        taskManager = new MemoryTaskManager(new Hostname("foo"));
+        taskManager = new MemoryTaskManager(new Hostname(HOSTNAME));
 
         webAdminServer = WebAdminUtils.createWebAdminServer(new 
TasksRoutes(taskManager, new JsonTransformer()))
             .start();
@@ -99,7 +101,10 @@ class TasksRoutesTest {
             .body("", hasSize(1))
             .body("[0].status", is(TaskManager.Status.IN_PROGRESS.getValue()))
             .body("[0].taskId", is(taskId.asString()))
-            .body("[0].class", is(not(empty())));
+            .body("[0].class", is(not(empty())))
+            .body("[0].submittedFrom", is(HOSTNAME))
+            .body("[0].executedOn", is(HOSTNAME))
+            .body("[0].cancelledFrom", nullValue());
     }
 
     private void await(CountDownLatch latch) {
@@ -264,7 +269,8 @@ class TasksRoutesTest {
             .get("/" + taskId.getValue() + "/await")
             .then()
             .statusCode(HttpStatus.OK_200)
-            .body("status", is("canceled"));
+            .body("status", is("canceled"))
+            .body("cancelledFrom", is(HOSTNAME));
     }
 
     @Test
diff --git 
a/server/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjectionDAO.scala
 
b/server/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjectionDAO.scala
index f598aa5..fdcf2ac 100644
--- 
a/server/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjectionDAO.scala
+++ 
b/server/task-distributed/src/main/scala/org/apache/james/task/eventsourcing/cassandra/CassandraTaskExecutionDetailsProjectionDAO.scala
@@ -60,7 +60,7 @@ class CassandraTaskExecutionDetailsProjectionDAO(session: 
Session, typesProvider
       .setUUID(TASK_ID, details.getTaskId.getValue)
       .setString(TYPE, details.getType)
       .setString(STATUS, details.getStatus.getValue)
-      .setUDTValue(SUBMITTED_DATE, 
CassandraZonedDateTimeModule.toUDT(dateType, details.getSubmitDate))
+      .setUDTValue(SUBMITTED_DATE, 
CassandraZonedDateTimeModule.toUDT(dateType, details.getSubmittedDate))
       .setString(SUBMITTED_NODE, details.getSubmittedNode.asString)
       .setUDTValue(STARTED_DATE, CassandraZonedDateTimeModule.toUDT(dateType, 
details.getStartedDate).orElse(null))
       .setString(RAN_NODE, 
details.getRanNode.map[String](_.asString).orElse(null))
diff --git 
a/server/task/src/main/scala/org/apache/james/task/TaskExecutionDetails.scala 
b/server/task/src/main/scala/org/apache/james/task/TaskExecutionDetails.scala
index d08d879..13cf7d0 100644
--- 
a/server/task/src/main/scala/org/apache/james/task/TaskExecutionDetails.scala
+++ 
b/server/task/src/main/scala/org/apache/james/task/TaskExecutionDetails.scala
@@ -54,7 +54,7 @@ class TaskExecutionDetails(val taskId: TaskId,
 
   def getAdditionalInformation: 
Optional[TaskExecutionDetails.AdditionalInformation] = additionalInformation()
 
-  def getSubmitDate: ZonedDateTime = submittedDate
+  def getSubmittedDate: ZonedDateTime = submittedDate
 
   def getSubmittedNode: Hostname = submittedNode
 


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