fixed Execution Time Statistics report
[proteocache.git] / datadb / compbio / cassandra / readers / ExecutionTimeReader.java
index 6bd17eb..bca4666 100644 (file)
@@ -1,8 +1,5 @@
 package compbio.cassandra.readers;
 
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -10,11 +7,9 @@ import java.util.List;
 import com.datastax.driver.core.ResultSet;
 import com.datastax.driver.core.Row;
 
+import compbio.beans.DateBean;
 import compbio.beans.ExecutionTimeBean;
-import compbio.beans.Total;
 import compbio.beans.TotalExecutionTime;
-import compbio.beans.TotalJobsStatisticBean;
-import compbio.cassandra.DataBase;
 import compbio.cassandra.DateFormatter;
 import compbio.cassandra.Pair;
 
@@ -77,6 +72,32 @@ public class ExecutionTimeReader extends CassandraReader {
                        }
                        query.setWholeTotal(wholeTotal);
                        return query;                                                                                                                                   
-                       
                }
+                       
+                       /**
+                        * query: jobs and sequence at a date with current execution time interval
+                        * 
+                        * @param day
+                        *            the date in long format
+                        * @param date
+                        *            the date in String format
+                        * 
+                        * @param interval
+                        *           buttom and top bounds of the interval Pair<buttom, top>
+                        * @return DateBean to the controller JobController
+                        **/
+                       public DateBean readJobByDay(long day, String date, Pair<Integer,Integer> interval) {
+                               DateBean res = new DateBean(date);
+                               ResultSet results = CassandraQuery("SELECT * FROM ProteinData WHERE jobtime = " + day + ";");
+                               if (results == null || results.isExhausted())
+                                       return null;
+                               List<Row> rows = results.all();
+                               for (Row r : rows) {
+                                       if (interval.getElement0() <= r.getInt("ExecTime")/1000  && r.getInt("ExecTime")/1000 < interval.getElement1())
+                                                       res.setJobidAndSeq(r.getString("JobID"), r.getString("Protein"));
+                       
+                                       }                       
+                               return res;
+                       }       
+               
 }