You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/02/02 14:31:19 UTC

syncope git commit: [SYNCOPE-762] Now always setting last execution date if available, either from Quartz or manual executions

Repository: syncope
Updated Branches:
  refs/heads/master 78483975c -> 5c5341346


[SYNCOPE-762] Now always setting last execution date if available, either from Quartz or manual executions


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/5c534134
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/5c534134
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/5c534134

Branch: refs/heads/master
Commit: 5c53413463eb19c2f7fe128d58bcaebf5de1d57f
Parents: 7848397
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Feb 2 14:31:13 2016 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Feb 2 14:31:13 2016 +0100

----------------------------------------------------------------------
 .../java/data/ReportDataBinderImpl.java         | 35 +++++++++-----------
 .../java/data/TaskDataBinderImpl.java           | 26 +++++++++------
 .../apache/syncope/fit/core/ReportITCase.java   |  3 ++
 3 files changed, 33 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/5c534134/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ReportDataBinderImpl.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ReportDataBinderImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ReportDataBinderImpl.java
index 930ece7..0207d49 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ReportDataBinderImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/ReportDataBinderImpl.java
@@ -93,35 +93,30 @@ public class ReportDataBinderImpl implements ReportDataBinder {
         }
 
         ReportExec latestExec = reportExecDAO.findLatestStarted(report);
-        reportTO.setLatestExecStatus(latestExec == null
-                ? StringUtils.EMPTY
-                : latestExec.getStatus());
-
-        reportTO.setStart(latestExec == null
-                ? null
-                : latestExec.getStart());
-
-        reportTO.setEnd(latestExec == null
-                ? null
-                : latestExec.getEnd());
+        if (latestExec == null) {
+            reportTO.setLatestExecStatus(StringUtils.EMPTY);
+        } else {
+            reportTO.setLatestExecStatus(latestExec.getStatus());
+            reportTO.setStart(latestExec.getStart());
+            reportTO.setEnd(latestExec.getEnd());
+
+            reportTO.setLastExec(reportTO.getStart());
+        }
 
         for (ReportExec reportExec : report.getExecs()) {
             reportTO.getExecutions().add(getReportExecTO(reportExec));
         }
 
         String triggerName = JobNamer.getTriggerName(JobNamer.getJobName(report));
-
-        Trigger trigger;
         try {
-            trigger = scheduler.getScheduler().getTrigger(new TriggerKey(triggerName, Scheduler.DEFAULT_GROUP));
+            Trigger trigger = scheduler.getScheduler().getTrigger(new TriggerKey(triggerName, Scheduler.DEFAULT_GROUP));
+
+            if (trigger != null) {
+                reportTO.setLastExec(trigger.getPreviousFireTime());
+                reportTO.setNextExec(trigger.getNextFireTime());
+            }
         } catch (SchedulerException e) {
             LOG.warn("While trying to get to " + triggerName, e);
-            trigger = null;
-        }
-
-        if (trigger != null) {
-            reportTO.setLastExec(trigger.getPreviousFireTime());
-            reportTO.setNextExec(trigger.getNextFireTime());
         }
 
         return reportTO;

http://git-wip-us.apache.org/repos/asf/syncope/blob/5c534134/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/TaskDataBinderImpl.java
----------------------------------------------------------------------
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 5686a5a..965e1b6 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
@@ -266,19 +266,19 @@ public class TaskDataBinderImpl implements TaskDataBinder {
     }
 
     private void setExecTime(final SchedTaskTO taskTO, final Task task) {
-        String triggerName = JobNamer.getTriggerName(JobNamer.getJobName(task));
+        taskTO.setLastExec(taskTO.getStart());
 
-        Trigger trigger = null;
+        String triggerName = JobNamer.getTriggerName(JobNamer.getJobName(task));
         try {
-            trigger = scheduler.getScheduler().getTrigger(new TriggerKey(triggerName, Scheduler.DEFAULT_GROUP));
+            Trigger trigger = scheduler.getScheduler().getTrigger(new TriggerKey(triggerName, Scheduler.DEFAULT_GROUP));
+
+            if (trigger != null) {
+                taskTO.setLastExec(trigger.getPreviousFireTime());
+                taskTO.setNextExec(trigger.getNextFireTime());
+            }
         } catch (SchedulerException e) {
             LOG.warn("While trying to get to " + triggerName, e);
         }
-
-        if (trigger != null) {
-            taskTO.setLastExec(trigger.getPreviousFireTime());
-            taskTO.setNextExec(trigger.getNextFireTime());
-        }
     }
 
     @Override
@@ -287,9 +287,13 @@ public class TaskDataBinderImpl implements TaskDataBinder {
         BeanUtils.copyProperties(task, taskTO, IGNORE_TASK_PROPERTIES);
 
         TaskExec latestExec = taskExecDAO.findLatestStarted(task);
-        taskTO.setLatestExecStatus(latestExec == null ? StringUtils.EMPTY : latestExec.getStatus());
-        taskTO.setStart(latestExec == null ? null : latestExec.getStart());
-        taskTO.setEnd(latestExec == null ? null : latestExec.getEnd());
+        if (latestExec == null) {
+            taskTO.setLatestExecStatus(StringUtils.EMPTY);
+        } else {
+            taskTO.setLatestExecStatus(latestExec.getStatus());
+            taskTO.setStart(latestExec.getStart());
+            taskTO.setEnd(latestExec.getEnd());
+        }
 
         if (details) {
             for (TaskExec execution : task.getExecs()) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/5c534134/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
index ed72f51..855ce91 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
@@ -277,6 +277,9 @@ public class ReportITCase extends AbstractITCase {
 
             long execKey = execute(report.getKey());
             checkExport(execKey, ReportExecExportFormat.XML);
+
+            report = reportService.read(report.getKey());
+            assertNotNull(report.getLastExec());
         } finally {
             loggerService.delete(LoggerType.AUDIT, auditLoggerName.toLoggerName());
         }