From 704bd5eb19c34dd5daba0c4f5057e015d94dc934 Mon Sep 17 00:00:00 2001 From: Glenn Renfro Date: Mon, 3 Jun 2024 11:00:21 -0400 Subject: [PATCH] Support null startTime and EndTime for Db2 Task Execution Create resolves #948 --- .../repository/dao/JdbcTaskExecutionDao.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/repository/dao/JdbcTaskExecutionDao.java b/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/repository/dao/JdbcTaskExecutionDao.java index 350e643f3..5594b3ea6 100644 --- a/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/repository/dao/JdbcTaskExecutionDao.java +++ b/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/repository/dao/JdbcTaskExecutionDao.java @@ -617,8 +617,26 @@ public TaskExecution mapRow(ResultSet rs, int rowNum) throws SQLException { if (rs.wasNull()) { parentExecutionId = null; } - return new TaskExecution(id, getNullableExitCode(rs), rs.getString("TASK_NAME"), - rs.getObject("START_TIME", LocalDateTime.class), rs.getObject("END_TIME", LocalDateTime.class), + LocalDateTime startTime = null; + LocalDateTime endTime = null; + try { + startTime = rs.getObject("START_TIME", LocalDateTime.class); + } + catch (NullPointerException npe) { + if (!npe.getMessage().contains("")) { + throw npe; + } + } + + try { + endTime = rs.getObject("END_TIME", LocalDateTime.class); + } + catch (NullPointerException npe) { + if (!npe.getMessage().contains("")) { + throw npe; + } + } + return new TaskExecution(id, getNullableExitCode(rs), rs.getString("TASK_NAME"), startTime, endTime, rs.getString("EXIT_MESSAGE"), getTaskArguments(id), rs.getString("ERROR_MESSAGE"), rs.getString("EXTERNAL_EXECUTION_ID"), parentExecutionId); }