diff options
Diffstat (limited to 'vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java')
-rw-r--r-- | vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java b/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java index 01158fa66..35849b481 100644 --- a/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java +++ b/vid-automation/src/main/java/vid/automation/test/services/AsyncJobsService.java @@ -1,44 +1,54 @@ package vid.automation.test.services; +import com.google.common.collect.ImmutableList; import vid.automation.test.utils.DB_CONFIG; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; +import java.util.List; public class AsyncJobsService { public void dropAllAsyncJobs() { + runStatementsInDb(ImmutableList.of( + "DELETE FROM `vid_service_info`", + "DELETE FROM `vid_job`", + "DELETE FROM `vid_job_audit_status`", + "DELETE FROM `vid_name_counter`" + )); + } + + public void runStatementsInDb(List<String> sqlStatements) { System.out.println("Connecting database..."); try (Connection connection = DriverManager.getConnection(DB_CONFIG.url, DB_CONFIG.username, DB_CONFIG.password)) { System.out.println("Database connected!"); - Statement stmt = connection.createStatement(); - stmt.addBatch("DELETE FROM `vid_service_info`"); - stmt.addBatch("DELETE FROM `vid_job`"); - stmt.addBatch("DELETE FROM `vid_job_audit_status`"); - int[] executeBatch = stmt.executeBatch(); + try (Statement stmt = connection.createStatement()) { + for (String sql: sqlStatements) { + stmt.addBatch(sql); + } + stmt.executeBatch(); + } } catch (SQLException e) { throw new IllegalStateException("Cannot connect the database!", e); } } - public void muteAllAsyncJobs() { - System.out.println("Connecting database..."); + public void runStatementInDb(String sqlStatement) { + runStatementsInDb(ImmutableList.of(sqlStatement)); + } - try (Connection connection = DriverManager.getConnection(DB_CONFIG.url, DB_CONFIG.username, DB_CONFIG.password)) { - System.out.println("Database connected!"); - Statement stmt = connection.createStatement(); - stmt.addBatch("UPDATE `vid_job` set `TAKEN_BY`='muteAllAsyncJobs', `AGE`=`AGE`+5"); - int[] executeBatch = stmt.executeBatch(); + public void muteAllAsyncJobs() { + runStatementInDb("UPDATE `vid_job` SET `TAKEN_BY`='muteAllAsyncJobs', `JOB_STATUS`=CONCAT('MUTED_', `JOB_STATUS`), `AGE`=`AGE`+5 WHERE `TAKEN_BY` is NULL or `TAKEN_BY`<>'muteAllAsyncJobs'"); + } - } catch (SQLException e) { - throw new IllegalStateException("Cannot connect the database!", e); - } + public void dropAllFromNameCounter() { + runStatementInDb("DELETE FROM `vid_name_counter`"); } } |