From 51f5c82b17439fbdc76a983903adb33b343110ad Mon Sep 17 00:00:00 2001 From: Sonia Zorba <sonia.zorba@inaf.it> Date: Wed, 16 Jun 2021 17:25:31 +0200 Subject: [PATCH] Used job_id instead of busy_state --- .../ia2/transfer/controller/PutFileController.java | 4 ++-- .../it/inaf/ia2/transfer/persistence/FileDAO.java | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/it/inaf/ia2/transfer/controller/PutFileController.java b/src/main/java/it/inaf/ia2/transfer/controller/PutFileController.java index b566c89..e9c8e7f 100644 --- a/src/main/java/it/inaf/ia2/transfer/controller/PutFileController.java +++ b/src/main/java/it/inaf/ia2/transfer/controller/PutFileController.java @@ -101,7 +101,7 @@ public class PutFileController extends FileController { } try { - fileDAO.setBusy(fileInfo.getNodeId(), true); + fileDAO.setBusy(fileInfo.getNodeId(), jobId); Files.copy(is, file.toPath()); if (fileInfo.getContentType() == null) { @@ -126,7 +126,7 @@ public class PutFileController extends FileController { } throw ex; } finally { - fileDAO.setBusy(fileInfo.getNodeId(), false); + fileDAO.setBusy(fileInfo.getNodeId(), null); } } diff --git a/src/main/java/it/inaf/ia2/transfer/persistence/FileDAO.java b/src/main/java/it/inaf/ia2/transfer/persistence/FileDAO.java index 4ec5f6f..ce9c335 100644 --- a/src/main/java/it/inaf/ia2/transfer/persistence/FileDAO.java +++ b/src/main/java/it/inaf/ia2/transfer/persistence/FileDAO.java @@ -11,6 +11,7 @@ import java.sql.Array; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Types; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -118,13 +119,17 @@ public class FileDAO { return Arrays.asList((String[]) array.getArray()); } - public void setBusy(int nodeId, boolean busy) { + public void setBusy(int nodeId, String jobId) { - String sql = "UPDATE node SET busy_state = ? WHERE node_id = ?"; + String sql = "UPDATE node SET job_id = ? WHERE node_id = ?"; jdbcTemplate.update(conn -> { PreparedStatement ps = conn.prepareStatement(sql); - ps.setBoolean(1, busy); + if (jobId == null) { + ps.setNull(1, Types.VARCHAR); + } else { + ps.setString(1, jobId); + } ps.setInt(2, nodeId); return ps; }); -- GitLab