new readers for the queries
[proteocache.git] / datadb / compbio / cassandra / readers / CassandraReader.java
1 package compbio.cassandra.readers;
2
3 import org.apache.log4j.Logger;
4
5 import com.datastax.driver.core.ResultSet;
6 import com.datastax.driver.core.Session;
7 import com.datastax.driver.core.exceptions.QueryExecutionException;
8 import com.datastax.driver.core.exceptions.QueryValidationException;
9 import compbio.cassandra.CassandraNativeConnector;
10
11 public class CassandraReader {
12         private static long earlestDate = 0;
13         private Session session;
14         protected static Logger log = Logger.getLogger(CassandraNativeConnector.class);
15
16         public CassandraReader() {
17                 Session inis = CassandraNativeConnector.getSession();
18                 setSession(inis);
19         }
20
21         public void setSession(Session s) {
22                 assert s != null;
23                 session = s;
24         }
25         
26         protected ResultSet CassandraQuery(String command) {
27                 try {
28                         ResultSet results = session.execute(command);
29                         return results;
30                 } catch (QueryExecutionException e) {
31                         String mess = "CassandraUserManagerImpl.findAllUsers: query execution exception...";
32                         System.out.println(mess);
33                         log.error(mess);
34                         log.error(e.getLocalizedMessage(), e.getCause());
35                         return null;
36                 } catch (QueryValidationException e) {
37                         String mess = "CassandraUserManagerImpl.findAllUsers: query validation exception... Command: " + command;
38                         System.out.println(mess);
39                         log.error(mess);
40                         log.error(e.getLocalizedMessage(), e.getCause());
41                         return null;
42                 }
43                 
44         }
45         
46         /*
47          * find the earliest date in the database
48          */
49         public static long earliestDate() {
50                 earlestDate = CassandraNativeConnector.getEarliestDateInDB();
51                 return earlestDate;
52         }
53
54         
55 }