X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=datadb%2Fcompbio%2Fcassandra%2FCassandraNewTableWriter.java;h=4ee10c8ac5eb19fc767e0a27681ccd1c1e6dd89e;hb=5fb4cb600b34a9b33e1a96aae9d66cdd1c3201dc;hp=88a4ca2d399b5eeb238827364c4ffeaa6c06296d;hpb=ae38ab4dc7b6e22731c1d57765605304d36ccfa2;p=proteocache.git diff --git a/datadb/compbio/cassandra/CassandraNewTableWriter.java b/datadb/compbio/cassandra/CassandraNewTableWriter.java index 88a4ca2..4ee10c8 100644 --- a/datadb/compbio/cassandra/CassandraNewTableWriter.java +++ b/datadb/compbio/cassandra/CassandraNewTableWriter.java @@ -2,6 +2,7 @@ package compbio.cassandra; import java.util.Calendar; import java.util.Date; +import java.util.List; import org.apache.log4j.Logger; @@ -46,37 +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()) { - final long startTime = System.currentTimeMillis(); - String query1 = "SELECT * FROM ProteinData WHERE jobtime = " + date.getTime() + ";"; - System.out.println("Query db: " + query1); + 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(query1); - final long queryTime = System.currentTimeMillis(); - System.out.println("Query time for " + date.toString() + " is " + (queryTime - startTime) + " msec"); - String query2 = "INSERT INTO JobDateInfo " + "(jobday, Total)" + " VALUES (" + date.getTime() + "," + results.all().size() - + ");"; - System.out.println("Insert DB: " + query2); - session.execute(query2); + 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 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());