package org.jblooming.scheduler; import org.jblooming.utilities.DateUtilities; import org.jblooming.PlatformRuntimeException; import java.io.IOException; import java.util.Date; import java.sql.*; public class ExecuteSql extends ExecutableSupport { @Parameter("[jdbc compliant db url]") public String databaseUrl; @Parameter("") public String databaseUser; @Parameter("") public String databasePassword; @Parameter("[jdbcDriver must be available in path]") public String jdbcDriver; @Parameter("[complete sql statement]") public String sql; public JobLogData run(JobLogData jobLogData) throws IOException { try { Class.forName(jdbcDriver); Connection conn = DriverManager.getConnection(databaseUrl, databaseUser, databasePassword); Statement s = conn.createStatement(); s.execute(sql); s.close(); conn.close(); } catch (ClassNotFoundException e) { throw new PlatformRuntimeException(e); } catch (SQLException e) { throw new PlatformRuntimeException(e); } jobLogData.notes = jobLogData.notes + "Executed on " + DateUtilities.dateAndHourToString(new Date()); return jobLogData; } }