X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=datadb%2Fcompbio%2Fcassandra%2FCassandraNewTableWriter.java;fp=datadb%2Fcompbio%2Fcassandra%2FCassandraNewTableWriter.java;h=1832750fb92bbf662a8dc4a4e5d826e144e0458e;hb=3d3a27c0f991511d503823432dea9a1d48a9281c;hp=0000000000000000000000000000000000000000;hpb=c4aca39f2d4a49b34e7e0b564450d100f442f3bf;p=proteocache.git diff --git a/datadb/compbio/cassandra/CassandraNewTableWriter.java b/datadb/compbio/cassandra/CassandraNewTableWriter.java new file mode 100644 index 0000000..1832750 --- /dev/null +++ b/datadb/compbio/cassandra/CassandraNewTableWriter.java @@ -0,0 +1,94 @@ +package compbio.cassandra; + +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +import org.apache.log4j.Logger; + +import com.datastax.driver.core.Row; +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 compbio.engine.ProteoCachePropertyHelperManager; +import compbio.cassandra.CassandraNativeConnector; +import compbio.util.PropertyHelper; + +public class CassandraNewTableWriter { + private Session session; + private static Logger log = Logger.getLogger(CassandraNativeConnector.class); + + public CassandraNewTableWriter() { + Session inis = CassandraNativeConnector.getSession(); + setSession(inis); + } + + public void setSession(Session s) { + assert s != null; + session = s; + } + + public boolean JobisNotInsterted(String jobid) { + ResultSet results1 = session.execute("SELECT * FROM ProteinLog WHERE JobID = '" + jobid + "';"); + if (results1.isExhausted()) { + return true; + } + return false; + } + + public boolean JobisNotArchived(String jobid) { + ResultSet results1 = session.execute("SELECT * FROM JpredArchive WHERE JobID = '" + jobid + "';"); + if (results1.isExhausted()) { + return true; + } + return false; + } + + /* + * fill new table + */ + public void FillNewTable() { + long date1 = CassandraNativeConnector.getEarliestDateInDB(); + Calendar start = Calendar.getInstance(); + start.setTime(new Date(date1)); + 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); + } + System.out.println("Table JobDateInfo filled"); + } + + /* + * fill new table + */ + public void FillParameters() { + Date bubu = new Date(CassandraNativeConnector.getEarliestDateInDB()); + System.out.println("Old EarliestJobDate is " + bubu.toString()); + + String query1 = "SELECT jobtime FROM ProteinData LIMIT 2000000;"; + System.out.println("Query db: " + query1); + ResultSet results = session.execute(query1); + Calendar endcal = Calendar.getInstance(); + long newearliestday = endcal.getTime().getTime(); + while (!results.isExhausted()) { + Row r = results.one(); + long day = r.getLong("jobtime"); + if (day < newearliestday) { + newearliestday = day; + } + } + String com = "INSERT INTO MainParameters " + "(Name, Value)" + " VALUES ('EarliestJobDate','" + String.valueOf(newearliestday) + + "');"; + session.execute(com); + Date gaga = new Date(newearliestday); + System.out.println("New EarliestJobDate is " + gaga.toString()); + } +}