Loading src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java +12 −7 Original line number Diff line number Diff line Loading @@ -48,8 +48,8 @@ public class JobDAO { String sql = "INSERT INTO job(job_id, owner_id, job_type, phase, job_info," + " error_message, error_type, error_has_detail) " + "VALUES (?, ?, ?, ?, ?, ? ,? ,?)"; + " error_message, error_type, error_has_detail, error_detail) " + "VALUES (?, ?, ?, ?, ?, ? ,? ,? ,?)"; jdbcTemplate.update(sql, ps -> { int i = 0; Loading @@ -64,10 +64,12 @@ public class JobDAO { ps.setString(++i, errorSummary.getMessage()); ps.setObject(++i, errorSummary.getType().value(), Types.OTHER); ps.setBoolean(++i, errorSummary.isHasDetail()); ps.setString(++i, errorSummary.getDetailMessage()); } else { ps.setNull(++i, Types.VARCHAR); ps.setNull(++i, Types.OTHER); ps.setNull(++i, Types.BOOLEAN); ps.setNull(++i, Types.VARCHAR); } }); } Loading Loading @@ -127,6 +129,8 @@ public class JobDAO { errorSummary.setType(ErrorType.fromValue(rs.getString("error_type"))); } errorSummary.setHasDetail(rs.getBoolean("error_has_detail")); errorSummary.setDetailMessage(rs.getString("error_detail")); jobSummary.setErrorSummary(errorSummary); return jobSummary; Loading Loading @@ -258,14 +262,14 @@ public class JobDAO { ErrorSummary errorSummary = job.getErrorSummary(); if(errorSummary != null) { sql += ", error_message, error_type, error_has_detail"; sql += ", error_message, error_type, error_has_detail, error_detail"; } sql += ") = (?, ?"; if(errorSummary != null) { sql += ", ?, ?, ?"; sql += ", ?, ?, ?, ?"; } sql += ") WHERE job_id = ?"; Loading @@ -279,6 +283,7 @@ public class JobDAO { ps.setString(++i, errorSummary.getMessage()); ps.setObject(++i, errorSummary.getType().value(), Types.OTHER); ps.setBoolean(++i, errorSummary.isHasDetail()); ps.setString(++i, errorSummary.getDetailMessage()); } ps.setString(++i, job.getJobId()); }); Loading src/test/java/it/inaf/oats/vospace/persistence/JobDAOTest.java +17 −8 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import java.time.Month; import net.ivoa.xml.uws.v1.ErrorSummary; import net.ivoa.xml.uws.v1.Jobs; import it.inaf.oats.vospace.exception.ErrorSummaryFactory; import it.inaf.oats.vospace.exception.VOSpaceFaultEnum; import it.inaf.oats.vospace.exception.PermissionDeniedException; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = {DataSourceConfig.class}) Loading Loading @@ -58,7 +58,8 @@ public class JobDAOTest { private boolean areEqual(ErrorSummary a, ErrorSummary b) { return (a.getMessage().equals(b.getMessage()) && a.getType().equals(b.getType()) && a.isHasDetail() == b.isHasDetail()); && a.isHasDetail() == b.isHasDetail() && a.getDetailMessage().equals(b.getDetailMessage())); } @Test Loading @@ -83,10 +84,14 @@ public class JobDAOTest { job.setPhase(ExecutionPhase.ERROR); // A generic picked randomly // Generate it from exception ErrorSummary errorSummary = ErrorSummaryFactory.newErrorSummary( VOSpaceFaultEnum.PERMISSION_DENIED); new PermissionDeniedException("/pippo1/pippo2")); // Check if properly generated assertTrue(errorSummary.isHasDetail()); assertEquals("PermissionDenied. Path: /pippo1/pippo2", errorSummary.getDetailMessage()); job.setErrorSummary(errorSummary); Loading @@ -109,10 +114,14 @@ public class JobDAOTest { dao.createJob(job); job.setPhase(ExecutionPhase.ERROR); // A generic picked randomly // Generate it from exception ErrorSummary errorSummary = ErrorSummaryFactory.newErrorSummary( VOSpaceFaultEnum.PERMISSION_DENIED); new PermissionDeniedException("/pippo1/pippo2")); // Check if properly generated assertTrue(errorSummary.isHasDetail()); assertEquals("PermissionDenied. Path: /pippo1/pippo2", errorSummary.getDetailMessage()); job.setErrorSummary(errorSummary); Loading Loading
src/main/java/it/inaf/oats/vospace/persistence/JobDAO.java +12 −7 Original line number Diff line number Diff line Loading @@ -48,8 +48,8 @@ public class JobDAO { String sql = "INSERT INTO job(job_id, owner_id, job_type, phase, job_info," + " error_message, error_type, error_has_detail) " + "VALUES (?, ?, ?, ?, ?, ? ,? ,?)"; + " error_message, error_type, error_has_detail, error_detail) " + "VALUES (?, ?, ?, ?, ?, ? ,? ,? ,?)"; jdbcTemplate.update(sql, ps -> { int i = 0; Loading @@ -64,10 +64,12 @@ public class JobDAO { ps.setString(++i, errorSummary.getMessage()); ps.setObject(++i, errorSummary.getType().value(), Types.OTHER); ps.setBoolean(++i, errorSummary.isHasDetail()); ps.setString(++i, errorSummary.getDetailMessage()); } else { ps.setNull(++i, Types.VARCHAR); ps.setNull(++i, Types.OTHER); ps.setNull(++i, Types.BOOLEAN); ps.setNull(++i, Types.VARCHAR); } }); } Loading Loading @@ -127,6 +129,8 @@ public class JobDAO { errorSummary.setType(ErrorType.fromValue(rs.getString("error_type"))); } errorSummary.setHasDetail(rs.getBoolean("error_has_detail")); errorSummary.setDetailMessage(rs.getString("error_detail")); jobSummary.setErrorSummary(errorSummary); return jobSummary; Loading Loading @@ -258,14 +262,14 @@ public class JobDAO { ErrorSummary errorSummary = job.getErrorSummary(); if(errorSummary != null) { sql += ", error_message, error_type, error_has_detail"; sql += ", error_message, error_type, error_has_detail, error_detail"; } sql += ") = (?, ?"; if(errorSummary != null) { sql += ", ?, ?, ?"; sql += ", ?, ?, ?, ?"; } sql += ") WHERE job_id = ?"; Loading @@ -279,6 +283,7 @@ public class JobDAO { ps.setString(++i, errorSummary.getMessage()); ps.setObject(++i, errorSummary.getType().value(), Types.OTHER); ps.setBoolean(++i, errorSummary.isHasDetail()); ps.setString(++i, errorSummary.getDetailMessage()); } ps.setString(++i, job.getJobId()); }); Loading
src/test/java/it/inaf/oats/vospace/persistence/JobDAOTest.java +17 −8 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import java.time.Month; import net.ivoa.xml.uws.v1.ErrorSummary; import net.ivoa.xml.uws.v1.Jobs; import it.inaf.oats.vospace.exception.ErrorSummaryFactory; import it.inaf.oats.vospace.exception.VOSpaceFaultEnum; import it.inaf.oats.vospace.exception.PermissionDeniedException; @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = {DataSourceConfig.class}) Loading Loading @@ -58,7 +58,8 @@ public class JobDAOTest { private boolean areEqual(ErrorSummary a, ErrorSummary b) { return (a.getMessage().equals(b.getMessage()) && a.getType().equals(b.getType()) && a.isHasDetail() == b.isHasDetail()); && a.isHasDetail() == b.isHasDetail() && a.getDetailMessage().equals(b.getDetailMessage())); } @Test Loading @@ -83,10 +84,14 @@ public class JobDAOTest { job.setPhase(ExecutionPhase.ERROR); // A generic picked randomly // Generate it from exception ErrorSummary errorSummary = ErrorSummaryFactory.newErrorSummary( VOSpaceFaultEnum.PERMISSION_DENIED); new PermissionDeniedException("/pippo1/pippo2")); // Check if properly generated assertTrue(errorSummary.isHasDetail()); assertEquals("PermissionDenied. Path: /pippo1/pippo2", errorSummary.getDetailMessage()); job.setErrorSummary(errorSummary); Loading @@ -109,10 +114,14 @@ public class JobDAOTest { dao.createJob(job); job.setPhase(ExecutionPhase.ERROR); // A generic picked randomly // Generate it from exception ErrorSummary errorSummary = ErrorSummaryFactory.newErrorSummary( VOSpaceFaultEnum.PERMISSION_DENIED); new PermissionDeniedException("/pippo1/pippo2")); // Check if properly generated assertTrue(errorSummary.isHasDetail()); assertEquals("PermissionDenied. Path: /pippo1/pippo2", errorSummary.getDetailMessage()); job.setErrorSummary(errorSummary); Loading