This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new b4b373e  SYNCOPE-1465: make sure task objects track the executor. 
(#127)
b4b373e is described below

commit b4b373e84c63542196cb9ccb0cdab3f99cdf0609
Author: Misagh Moayyed <mm1...@gmail.com>
AuthorDate: Thu Oct 10 14:11:27 2019 +0400

    SYNCOPE-1465: make sure task objects track the executor. (#127)
---
 .../main/java/org/apache/syncope/common/lib/to/TaskTO.java  | 13 +++++++++++++
 .../main/java/org/apache/syncope/core/logic/TaskLogic.java  |  1 +
 .../core/provisioning/java/data/TaskDataBinderImpl.java     |  6 ++++--
 .../org/apache/syncope/fit/core/AbstractTaskITCase.java     |  7 ++++---
 4 files changed, 22 insertions(+), 5 deletions(-)

diff --git 
a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java 
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java
index 51c7a6b..6dd9d35 100644
--- 
a/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java
+++ 
b/common/idrepo/lib/src/main/java/org/apache/syncope/common/lib/to/TaskTO.java
@@ -54,6 +54,8 @@ public abstract class TaskTO extends AbstractStartEndBean 
implements EntityTO {
 
     private String latestExecStatus;
 
+    private String lastExecutor;
+
     private final List<ExecTO> executions = new ArrayList<>();
 
     @Schema(name = "@class", required = true)
@@ -85,6 +87,15 @@ public abstract class TaskTO extends AbstractStartEndBean 
implements EntityTO {
     }
 
     @Schema(accessMode = Schema.AccessMode.READ_ONLY)
+    public String getLastExecutor() {
+        return lastExecutor;
+    }
+
+    public void setLastExecutor(final String lastExecutor) {
+        this.lastExecutor = lastExecutor;
+    }
+    
+    @Schema(accessMode = Schema.AccessMode.READ_ONLY)
     @XmlElementWrapper(name = "executions")
     @XmlElement(name = "execution")
     @JsonProperty("executions")
@@ -100,6 +111,7 @@ public abstract class TaskTO extends AbstractStartEndBean 
implements EntityTO {
                 append(discriminator).
                 append(executions).
                 append(latestExecStatus).
+                append(lastExecutor).
                 build();
     }
 
@@ -121,6 +133,7 @@ public abstract class TaskTO extends AbstractStartEndBean 
implements EntityTO {
                 append(discriminator, other.discriminator).
                 append(executions, other.executions).
                 append(latestExecStatus, other.latestExecStatus).
+                append(lastExecutor, other.lastExecutor).
                 build();
     }
 }
diff --git 
a/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java 
b/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
index 7dec93d..16b0122 100644
--- 
a/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
+++ 
b/core/idrepo/logic/src/main/java/org/apache/syncope/core/logic/TaskLogic.java
@@ -294,6 +294,7 @@ public class TaskLogic extends 
AbstractExecutableLogic<TaskTO> {
                 result.setRefKey(task.getKey());
                 result.setRefDesc(binder.buildRefDesc(task));
                 result.setStart(new Date());
+                result.setExecutor(executor);
                 result.setStatus("JOB_FIRED");
                 result.setMessage("Job fired; waiting for results...");
                 break;
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
index f747417..7463ef9 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
@@ -312,7 +312,8 @@ public class TaskDataBinderImpl implements TaskDataBinder {
         execTO.setMessage(execution.getMessage());
         execTO.setStart(execution.getStart());
         execTO.setEnd(execution.getEnd());
-
+        execTO.setExecutor(execution.getExecutor());
+        
         if (execution.getTask() != null && execution.getTask().getKey() != 
null) {
             execTO.setJobType(JobType.TASK);
             execTO.setRefKey(execution.getTask().getKey());
@@ -330,7 +331,7 @@ public class TaskDataBinderImpl implements TaskDataBinder {
         schedTaskTO.setActive(schedTask.isActive());
 
         schedTaskTO.setLastExec(schedTaskTO.getStart());
-
+       
         String triggerName = 
JobNamer.getTriggerName(JobNamer.getJobKey(schedTask).getName());
         try {
             Trigger trigger = scheduler.getScheduler().getTrigger(new 
TriggerKey(triggerName, Scheduler.DEFAULT_GROUP));
@@ -371,6 +372,7 @@ public class TaskDataBinderImpl implements TaskDataBinder {
             taskTO.setLatestExecStatus(latestExec.getStatus());
             taskTO.setStart(latestExec.getStart());
             taskTO.setEnd(latestExec.getEnd());
+            taskTO.setLastExecutor(latestExec.getExecutor());
         }
 
         if (details) {
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
index 41634dd..aceab14 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AbstractTaskITCase.java
@@ -126,10 +126,11 @@ public abstract class AbstractTaskITCase extends 
AbstractITCase {
         assertNotNull(taskTO.getExecutions());
 
         int preSyncSize = taskTO.getExecutions().size();
-        ExecTO execution = taskService.execute(
-                new 
ExecuteQuery.Builder().key(taskTO.getKey()).dryRun(dryRun).build());
+        ExecuteQuery query = new 
ExecuteQuery.Builder().key(taskTO.getKey()).dryRun(dryRun).build();
+        ExecTO execution = taskService.execute(query);
         assertEquals(initialStatus, execution.getStatus());
-
+        assertNotNull(execution.getExecutor());
+        
         int i = 0;
 
         // wait for completion (executions incremented)

Reply via email to