PROT-4 Initial code for remover servlet
[proteocache.git] / datadb / compbio / cassandra / CassandraRemover.java
1 package compbio.cassandra;
2
3 import org.apache.log4j.Logger;
4
5 import com.datastax.driver.core.ResultSet;
6 import com.datastax.driver.core.Row;
7 import com.datastax.driver.core.Session;
8
9 public class CassandraRemover {
10         private Session session;
11         private static Logger log = Logger.getLogger(CassandraNativeConnector.class);
12
13         public CassandraRemover() {
14                 Session inis = CassandraNativeConnector.getSession();
15                 setSession (inis);
16         }
17
18         public void setSession(Session s) {
19                 assert s != null;
20                 session = s;
21         }
22         
23         /*
24          * getting a record from CF for current jobId
25          */
26         public StructureJobLog ReadJobLog(String jobid) {
27                 final long startTime = System.currentTimeMillis();
28                 String com = "SELECT Protein, StartTime FROM ProteinLog WHERE JobID = '" + jobid + "';";
29                 System.out.println("Command: " + com);
30                 ResultSet results = session.execute(com);
31                 if (results.isExhausted())
32                         return null;
33                 final long queryTime = System.currentTimeMillis();
34                 Row row = results.one();
35                 String com1 = "SELECT * FROM ProteinRow WHERE JobID = '" + jobid + "' ALLOW FILTERING;";
36                 System.out.println("Command: " + com1);
37                 ResultSet results1 = session.execute(com1);
38                 if (results1.isExhausted())
39                         return null;
40                 Row row1 = results1.one();
41                 StructureJobLog res = new StructureJobLog(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"),
42                                 row.getString("DataEnd"), row.getString("ip"), row1.getMap("Predictions", String.class, String.class));
43                 System.out.println("Query time is " + (queryTime - startTime) + " msec");
44                 final long endTime = System.currentTimeMillis();
45                 System.out.println(" rows analysed, execution time is " + (endTime - startTime) + " msec");
46                 return res;
47         }
48         
49         
50
51 }