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 <[email protected]>
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)