1 package compbio.cassandra;
3 import java.util.Calendar;
7 import org.apache.log4j.Logger;
9 import com.datastax.driver.core.Row;
10 import com.datastax.driver.core.Session;
11 import com.datastax.driver.core.ResultSet;
12 import com.datastax.driver.core.PreparedStatement;
13 import com.datastax.driver.core.BoundStatement;
14 import com.datastax.driver.core.exceptions.QueryExecutionException;
16 import compbio.engine.ProteoCachePropertyHelperManager;
17 import compbio.cassandra.CassandraNativeConnector;
19 public class CassandraNewTableWriter {
20 private Session session;
21 private static Logger log = Logger.getLogger(CassandraNativeConnector.class);
23 public CassandraNewTableWriter() {
24 Session inis = CassandraNativeConnector.getSession();
28 public void setSession(Session s) {
33 public boolean JobisNotInsterted(String jobid) {
34 ResultSet results1 = session.execute("SELECT * FROM ProteinLog WHERE JobID = '" + jobid + "';");
35 if (results1.isExhausted()) {
41 public boolean JobisNotArchived(String jobid) {
42 ResultSet results1 = session.execute("SELECT * FROM JpredArchive WHERE JobID = '" + jobid + "';");
43 if (results1.isExhausted()) {
50 * update programme name and version
52 public void FillNewParameter() {
53 System.out.println("Updating....");
55 final long StartTime = System.currentTimeMillis();
56 long erldate = CassandraNativeConnector.getEarliestDateInDB();
57 Calendar runnicCal = Calendar.getInstance();
58 runnicCal.setTime(new Date(erldate));
59 Calendar endcal = Calendar.getInstance();
60 long endTime = endcal.getTime().getTime();
61 for (Date date = runnicCal.getTime(); date.getTime() < endTime; runnicCal.add(Calendar.DATE, 1), date = runnicCal.getTime()) {
63 String com = "SELECT JobID, Protein FROM ProteinData WHERE jobtime = " + date.getTime() + ";";
64 System.out.println(com);
65 ResultSet results = session.execute(com);
66 if (results == null || results.isExhausted())
68 List<Row> rows = results.all();
69 System.out.println(rows.size());
72 session.execute("UPDATE ProteinLog SET ProgramName = 'Jpred', ProgramVersion = '3.0.1' WHERE JobID = '"
73 + r.getString("JobID") + "';");
74 session.execute("UPDATE JpredArchive SET ProgramName = 'Jpred', ProgramVersion = '3.0.1' WHERE JobID = '"
75 + r.getString("JobID") + "';");
77 } catch (QueryExecutionException e) {
81 System.out.println("Table ProteinLog filled: total time is " + (System.currentTimeMillis() - StartTime) + " msec");
87 public void FillNewTable() {
88 final long StartTime = System.currentTimeMillis();
89 long erldate = CassandraNativeConnector.getEarliestDateInDB();
90 Calendar runnicCal = Calendar.getInstance();
91 runnicCal.setTime(new Date(erldate));
92 Calendar endcal = Calendar.getInstance();
93 long endTime = endcal.getTime().getTime();
94 for (Date date = runnicCal.getTime(); date.getTime() < endTime; runnicCal.add(Calendar.DATE, 1), date = runnicCal.getTime()) {
96 ResultSet results = session.execute("SELECT * FROM ProteinData WHERE jobtime = " + date.getTime() + ";");
97 session.execute("INSERT INTO JobDateInfo " + "(jobday, Total)" + " VALUES (" + date.getTime() + "," + results.all().size()
99 } catch (QueryExecutionException e) {
103 System.out.println("Table JobDateInfo filled: total time is " + (System.currentTimeMillis() - StartTime) + " msec");
107 * fill a table with the database global parameters
109 public void FillMainDBParameters() {
110 Date bubu = new Date(CassandraNativeConnector.getEarliestDateInDB());
111 System.out.println("Old EarliestJobDate is " + bubu.toString());
113 String query1 = "SELECT jobtime FROM ProteinData LIMIT 2000000;";
114 System.out.println("Query db: " + query1);
115 ResultSet results = session.execute(query1);
116 Calendar endcal = Calendar.getInstance();
117 long newearliestday = endcal.getTime().getTime();
118 while (!results.isExhausted()) {
119 Row r = results.one();
120 long day = r.getLong("jobtime");
121 if (day < newearliestday) {
122 newearliestday = day;
125 String com = "INSERT INTO MainParameters " + "(Name, Value)" + " VALUES ('EarliestJobDate','" + String.valueOf(newearliestday)
127 session.execute(com);
128 Date gaga = new Date(newearliestday);
129 System.out.println("New EarliestJobDate is " + gaga.toString());