diff --git a/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java b/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java index e2b52369f65d270900f8ac0eed9642ed226f9516..15da29b73f17299ad4026bd23e14c52c93ee38bb 100644 --- a/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java +++ b/src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java @@ -54,8 +54,22 @@ public class JobDAO { String sql = "INSERT INTO job(job_id, owner_id, job_type, phase, job_info, transfer_details, " - + " results, error_message, error_type, error_has_detail, error_detail) " - + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + + " results, error_message, error_type, error_has_detail, error_detail, start_time, end_time) " + + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, "; + + switch (jobSummary.getPhase()) { + case EXECUTING: + sql += "NOW(), NULL)"; + break; + case ERROR: + case COMPLETED: + case ABORTED: + sql += "NOW(), NOW())"; + break; + default: + sql += "NULL, NULL)"; + break; + } jdbcTemplate.update(sql, ps -> { int i = 0; @@ -200,7 +214,7 @@ public class JobDAO { } sb.append(")"); } - + // Fill conditions on views list if (!viewList.isEmpty()) { sb.append(" AND (") @@ -310,7 +324,7 @@ public class JobDAO { ps.setString(++i, job.getJobId()); }); } - + public Transfer getTransferDetails(String jobId) { String sql = "SELECT transfer_details FROM job WHERE job_id = ?";