package com.torrenttunes.server.scheduled; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.Properties; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.torrenttunes.server.DataSources; import com.torrenttunes.server.tools.ScriptRunner; public class BuildFastTables implements Job { static final Logger log = LoggerFactory.getLogger(BuildFastTables.class); private static void create() { Properties prop = DataSources.DB_PROP; Connection mConnection; try { Class.forName("com.mysql.jdbc.Driver"); mConnection = DriverManager.getConnection(prop.getProperty("dburl"), prop.getProperty("dbuser"), prop.getProperty("dbpassword")); ScriptRunner runner = new ScriptRunner(mConnection, false, false); runner.runScript(new BufferedReader(new FileReader(DataSources.SQL_FAST_TABLES_FILE()))); } catch (ClassNotFoundException e) { log.error("Unable to get mysql driver: " + e); } catch (SQLException e) { log.error("Unable to connect to server: " + e); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // try { // ArrayList<String> cmd = new ArrayList<String>(); // cmd.add("mysql"); // cmd.add("-u" + prop.getProperty("dbuser")); // cmd.add("-p" + prop.getProperty("dbpassword")); // cmd.add(prop.getProperty("dburl")); // cmd.add("<"); // cmd.add(DataSources.SQL_FAST_TABLES_FILE()); // // for (String uz : cmd) {System.out.println(uz);} // // ProcessBuilder b = new ProcessBuilder(cmd); // b.inheritIO(); // Process p; // // p = b.start(); // // // p.waitFor(); // // log.info("Fast Tables created succesfully."); // // } catch (IOException | InterruptedException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } } @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { create(); } }