the new query jobs by ip
[proteocache.git] / datadb / compbio / cassandra / CassandraReader.java
index cb2492e..e75f148 100644 (file)
@@ -122,6 +122,37 @@ public class CassandraReader {
                return res;
        }
 
+       
+       /*
+        * getting jobs by ip
+        */
+       public List<Pair<String, String>> ReadIpWithJobs(String ip) {
+               final long startTime = System.currentTimeMillis();
+               String com = "SELECT JobID, Protein, FinalStatus FROM ProteinLog WHERE ip = '" + ip + "';";
+               System.out.println("Command: " + com);
+               ResultSet results = session.execute(com);
+               if (results.isExhausted())
+                       return null;
+               final long queryTime = System.currentTimeMillis();
+               List<Row> rows = results.all();
+               List<Pair<String, String>> res = new ArrayList<Pair<String, String>>();
+               System.out.println("Query time is " + (queryTime - startTime) + " msec");
+               System.out.println(" rows analysed,  " + rows.size());
+               int c = 0;
+               for (Row r : rows) {
+                       if (r.getString("FinalStatus").equals("OK")) { 
+                               Pair<String, String> pair = new Pair<String, String>(r.getString("JobID"), r.getString("Protein"));
+                               System.out.println(pair.getElement0());
+                               System.out.println(pair.getElement1());
+                               res.add(pair);
+                               ++c;
+                       }
+               }
+               final long endTime = System.currentTimeMillis();
+               System.out.println(c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
+               return res;
+       }
+
        /*
         * getting part of protein sequence from the db ProteinRow
         */
@@ -182,6 +213,35 @@ public class CassandraReader {
        }
 
        /*
+        * getting ip by counter
+        */
+       public Map<String, Integer> ReadIpByCounter() {
+               final long startTime = System.currentTimeMillis();
+               String com = "SELECT JobID, ip FROM ProteinLog;";
+               System.out.println("Command: " + com);
+               ResultSet results = session.execute(com);
+               if (results.isExhausted())
+                       return null;
+               final long queryTime = System.currentTimeMillis();
+               List<Row> rows = results.all();
+               System.out.println("Query time is " + (queryTime - startTime) + " msec");
+               System.out.println(" rows analysed,  " + rows.size());
+               Map<String, Integer> res = new HashMap<String, Integer>();
+               int c = 0;
+               for (Row r : rows) {
+                       String protein = r.getString("ip");
+                       String id = r.getString("JobID");
+                       if (res.containsKey(protein))
+                               res.put(protein, res.get(protein) + 1);
+                       else
+                               res.put(protein, 1);
+               }
+               final long endTime = System.currentTimeMillis();
+               System.out.println(c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
+               return res;
+       }
+
+       /*
         * getting log info for jobid
         */
        public StructureJobLog ReadJobLog(String jobid) {