X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=datadb%2Fcompbio%2Fcassandra%2FCassandraNewTableWriter.java;h=4ee10c8ac5eb19fc767e0a27681ccd1c1e6dd89e;hb=5fb4cb600b34a9b33e1a96aae9d66cdd1c3201dc;hp=1832750fb92bbf662a8dc4a4e5d826e144e0458e;hpb=3d3a27c0f991511d503823432dea9a1d48a9281c;p=proteocache.git diff --git a/datadb/compbio/cassandra/CassandraNewTableWriter.java b/datadb/compbio/cassandra/CassandraNewTableWriter.java index 1832750..4ee10c8 100644 --- a/datadb/compbio/cassandra/CassandraNewTableWriter.java +++ b/datadb/compbio/cassandra/CassandraNewTableWriter.java @@ -11,10 +11,10 @@ import com.datastax.driver.core.Session; import com.datastax.driver.core.ResultSet; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.BoundStatement; +import com.datastax.driver.core.exceptions.QueryExecutionException; import compbio.engine.ProteoCachePropertyHelperManager; import compbio.cassandra.CassandraNativeConnector; -import compbio.util.PropertyHelper; public class CassandraNewTableWriter { private Session session; @@ -47,29 +47,65 @@ public class CassandraNewTableWriter { } /* + * update programme name and version + */ + public void FillNewParameter() { + System.out.println("Updating...."); + + final long StartTime = System.currentTimeMillis(); + long erldate = CassandraNativeConnector.getEarliestDateInDB(); + Calendar runnicCal = Calendar.getInstance(); + runnicCal.setTime(new Date(erldate)); + Calendar endcal = Calendar.getInstance(); + long endTime = endcal.getTime().getTime(); + for (Date date = runnicCal.getTime(); date.getTime() < endTime; runnicCal.add(Calendar.DATE, 1), date = runnicCal.getTime()) { + try { + String com = "SELECT JobID, Protein FROM ProteinData WHERE jobtime = " + date.getTime() + ";"; + System.out.println(com); + ResultSet results = session.execute(com); + if (results == null || results.isExhausted()) + continue; + List rows = results.all(); + System.out.println(rows.size()); + for (Row r : rows) { + session.execute("UPDATE ProteinLog SET ProgramName = 'Jpred', ProgramVersion = '3.0.1' WHERE JobID = '" + + r.getString("JobID") + "';"); + session.execute("UPDATE JpredArchive SET ProgramName = 'Jpred', ProgramVersion = '3.0.1' WHERE JobID = '" + + r.getString("JobID") + "';"); + } + } catch (QueryExecutionException e) { + e.printStackTrace(); + } + } + System.out.println("Table ProteinLog filled: total time is " + (System.currentTimeMillis() - StartTime) + " msec"); + } + + /* * fill new table */ public void FillNewTable() { - long date1 = CassandraNativeConnector.getEarliestDateInDB(); - Calendar start = Calendar.getInstance(); - start.setTime(new Date(date1)); + final long StartTime = System.currentTimeMillis(); + long erldate = CassandraNativeConnector.getEarliestDateInDB(); + Calendar runnicCal = Calendar.getInstance(); + runnicCal.setTime(new Date(erldate)); Calendar endcal = Calendar.getInstance(); - Date end = endcal.getTime(); - for (Date date = start.getTime(); !start.after(end); start.add(Calendar.DATE, 1), date = start.getTime()) { - String query1 = "SELECT * FROM ProteinData WHERE jobtime = " + date.getTime() + ";"; - System.out.println("Query db: " + query1); - ResultSet results = session.execute(query1); - String query2 = "INSERT INTO JobDateInfo " + "(jobday, Total)" + " VALUES (" + date.getTime() + "," + results.all().size()+ ");"; - System.out.println("Insert DB: " + query2); - session.execute(query2); + long endTime = endcal.getTime().getTime(); + for (Date date = runnicCal.getTime(); date.getTime() < endTime; runnicCal.add(Calendar.DATE, 1), date = runnicCal.getTime()) { + try { + ResultSet results = session.execute("SELECT * FROM ProteinData WHERE jobtime = " + date.getTime() + ";"); + session.execute("INSERT INTO JobDateInfo " + "(jobday, Total)" + " VALUES (" + date.getTime() + "," + results.all().size() + + ");"); + } catch (QueryExecutionException e) { + e.printStackTrace(); + } } - System.out.println("Table JobDateInfo filled"); + System.out.println("Table JobDateInfo filled: total time is " + (System.currentTimeMillis() - StartTime) + " msec"); } - + /* - * fill new table + * fill a table with the database global parameters */ - public void FillParameters() { + public void FillMainDBParameters() { Date bubu = new Date(CassandraNativeConnector.getEarliestDateInDB()); System.out.println("Old EarliestJobDate is " + bubu.toString());