diff --git a/pom.xml b/pom.xml index a9b3ec47..bb453a52 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 cloudgene cloudgene - 2.8.2 + 2.8.3 Cloudgene http://www.cloudgene.io diff --git a/src/main/html/webapp/package-lock.json b/src/main/html/webapp/package-lock.json index 20c5e85a..83f2d96d 100644 --- a/src/main/html/webapp/package-lock.json +++ b/src/main/html/webapp/package-lock.json @@ -1,12 +1,12 @@ { "name": "cloudgene", - "version": "2.8.2", + "version": "2.8.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cloudgene", - "version": "2.8.2", + "version": "2.8.3", "license": "AGPL-3.0", "dependencies": { "@fortawesome/fontawesome-free": "5.3.1", diff --git a/src/main/html/webapp/package.json b/src/main/html/webapp/package.json index 235fa51c..989041f9 100644 --- a/src/main/html/webapp/package.json +++ b/src/main/html/webapp/package.json @@ -1,6 +1,6 @@ { "name": "cloudgene", - "version": "2.8.2", + "version": "2.8.3", "description": "Cloudgene web client", "homepage": "http://www.cloudgene.io", "author": "Lukas Forer oldJobs = dao.findAllNotifiedJobs(); int deleted = 0; @@ -53,6 +56,9 @@ public static int executeRetire(Database database, Settings settings) { job.setState(AbstractJob.STATE_RETIRED); dao.update(job); + + parameterDao.deleteAllByJob(job); + log.info("Job " + job.getId() + " retired."); deleted++; diff --git a/src/main/java/cloudgene/mapred/database/ParameterDao.java b/src/main/java/cloudgene/mapred/database/ParameterDao.java index eb2decc2..6028b8b8 100644 --- a/src/main/java/cloudgene/mapred/database/ParameterDao.java +++ b/src/main/java/cloudgene/mapred/database/ParameterDao.java @@ -183,7 +183,30 @@ public CloudgeneParameterOutput findById(int id) { } } - class ParameterInputMapper implements IRowMapper { + public boolean deleteAllByJob(AbstractJob job) { + try { + + StringBuilder sql = new StringBuilder(); + sql.append("delete "); + sql.append("from parameter "); + sql.append("where job_id = ?"); + + Object[] params = new Object[1]; + params[0] = job.getId(); + + update(sql.toString(), params); + + log.debug("delete all parameters by job_id '" + job.getId() + "' successful."); + + return true; + + } catch (SQLException e) { + log.error("delete all parameters by job_id '" + job.getId() + "' failed.", e); + return false; + } + } + + class ParameterInputMapper implements IRowMapper { @Override public Object mapRow(ResultSet rs, int row) throws SQLException {