Merge branch 'DAO'
authorSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Fri, 10 Jan 2014 15:15:38 +0000 (15:15 +0000)
committerSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Fri, 10 Jan 2014 15:15:38 +0000 (15:15 +0000)
Conflicts:
server/compbio/controllers/DailyStatisticsController.java
server/compbio/controllers/SequenceController.java

1  2 
server/compbio/controllers/BasicController.java
server/compbio/controllers/DailyStatisticsController.java
server/compbio/controllers/IPDataController.java
server/compbio/controllers/JobController.java
server/compbio/controllers/SequenceController.java
server/compbio/statistic/CassandraRequester.java

@@@ -11,12 -11,12 +11,14 @@@ import org.springframework.web.bind.ann
  import org.springframework.web.bind.annotation.RequestParam;
  
  import compbio.engine.JobStatus;
- import compbio.cassandra.CassandraReader;
- import compbio.cassandra.DateBean;
+ import compbio.beans.DateBean;
+ import compbio.beans.TotalJobsStatisticBean;
  import compbio.cassandra.DateFormatter;
- import compbio.cassandra.Total;
- import compbio.cassandra.TotalJobsStatisticBean;
- import compbio.statistic.CassandraRequester;
++
++import compbio.beans.Total;
+ import compbio.cassandra.readers.CassandraReader;
+ import compbio.cassandra.readers.DailyStatisticsReader;
 -import compbio.cassandra.readers.ProteoDAO;
++
  
  /**
   * @author Alexander Sherstnev
@@@ -100,16 -100,8 +102,16 @@@ public class DailyStatisticsController 
                date2 = DateFormatter.DateLongToString(longDate2, formaterYYMMDD);
                model.put("date1", date1);
                model.put("date2", date2);
-               TotalJobsStatisticBean res = cr.countJobs(date1, date2);
+               TotalJobsStatisticBean res = reader.query(longDate1, longDate2);
                model.put("result", res);
 +              Map<String, Total> results = res.getDateTotal();
 +              String csvline = "\'Date\',\'Total\',\'OK\',\'Stopped\',\'Error\',\'Timeout\'%0A";
 +              for (Map.Entry<String, Total> entry : results.entrySet()) {
 +                      csvline += "\'" + entry.getKey() + "\',\'" + entry.getValue().getTotal() + "\',\'" + entry.getValue().getTotalOK() + "\',\'"
 +                                      + entry.getValue().getTotalStopped() + "\',\'" + entry.getValue().getTotalError() + "\',\'"
 +                                      + entry.getValue().getTotalTimeOut() + "\'%0A";
 +              }
 +              model.put("csvfile", csvline);
                model.put("ndays", res.getDateTotal().size());
                final long endTime = System.currentTimeMillis();
                model.put("timeExecution", (endTime - startTime));
@@@ -59,20 -60,13 +61,20 @@@ public class IPDataController extends B
                }
  
                final long startTime = System.currentTimeMillis();
-               CassandraRequester cr = new CassandraRequester();
-               List<TotalByCounterBean> r = cr.readIpByCounter(realcounter);
+               ReaderByCounter reader = new ReaderByCounter();
+               List<TotalByCounterBean> r = reader.readIpByCounter(realcounter);
                model.put("results", r);
                model.put("njobs", 0);
 +              String csvline = "";
                if (null != r) {
                        model.put("njobs", r.size());
 +                      csvline = "\'Job%20 count\', \'IP\'%0A";
                }
 +              // form line for CSV file
 +              for (TotalByCounterBean b : r) {
 +                      csvline += "\'" + b.getTotaljobs() + "\',\'" + b.getName() + "\'%0A";
 +              }
 +              model.put("csvfile", csvline);
                final long endTime = System.currentTimeMillis();
                model.put("timeExecution", (endTime - startTime));
                model.put("counter", realcounter);
@@@ -10,11 -9,11 +10,10 @@@ import org.springframework.web.bind.ann
  import org.springframework.web.bind.annotation.RequestMethod;
  import org.springframework.web.bind.annotation.RequestParam;
  
- import compbio.cassandra.DataBase;
- import compbio.cassandra.ProteinBean;
- import compbio.cassandra.Total;
- import compbio.cassandra.TotalByCounterBean;
- import compbio.statistic.CassandraRequester;
+ import compbio.beans.ProteinBean;
+ import compbio.beans.TotalByCounterBean;
+ import compbio.cassandra.readers.ReaderByCounter;
+ import compbio.cassandra.readers.SequenceReader;
 -import compbio.statistic.CassandraRequester;
  
  /**
   * Spring controller for sequence queries. This version works in the servlet
@@@ -71,33 -97,18 +97,33 @@@ public class SequenceController extend
                model.put("njobs", 0);
                model.put("prot", trimmedsequence);
                model.put("searchtype", searchtype);
 -
 +              String csvline = "";
                if (0 < trimmedsequence.length()) {
-                       CassandraRequester cr = new CassandraRequester();
-                       List<ProteinBean> r = cr.readProteins(trimmedsequence, searchtype);
-                       model.put("results", r);
-                       if (null != r) {
+                       SequenceReader reader = new SequenceReader();
+                       List<ProteinBean> result = reader.readProteins(trimmedsequence, searchtype);
+                       model.put("results", result);
+                       if (null != result) {
                                if (searchtype.equals("whole"))
-                                       model.put("njobs", r.get(0).getJobid().size());
+                                       model.put("njobs", result.get(0).getJobid().size());
                                else
-                                       model.put("njobs", r.size());
+                                       model.put("njobs", result.size());
 +                              csvline = "\'Job\',\'Annotation\',\'Sequence\'%0A";
 +                      }
 +                      // form CSV file string
-                       for (ProteinBean entry : r) {
++                      for (ProteinBean entry : result) {
 +                              List<String> jobs = entry.getJobid();
 +                              String protein = entry.getSequence();
 +                              LinkedHashMap<String, String> predictions = entry.getPredictions();
 +                              for (String job : jobs) {
 +                                      csvline += "\'" + job + "\',\'Sequence\',\'" + protein + "\',\'%0A";
 +                                      for (Map.Entry<String, String> pr : predictions.entrySet()) {
 +                                              csvline += "\'\',\'" + pr.getKey() + "\',\'" + pr.getValue() + "\'%0A";
 +                                      }
 +                              }
                        }
                }
 +              model.put("csvfile", csvline);
 +
                final long endTime = System.currentTimeMillis();
                model.put("timeExecution", (endTime - startTime));
                return "reportProteinSequences";
                        return "query/SequenceCounts";
                }
  
-               CassandraRequester cr = new CassandraRequester();
-               List<TotalByCounterBean> r = cr.readProteinByCounter(realcounter);
 -              ReaderByCounter reader = new ReaderByCounter();
++              ReaderByCounter reader = new ReaderByCounter();
+               List<TotalByCounterBean> r = reader.readProteinByCounter(realcounter);
+               model.put("results", r);
                model.put("njobs", 0);
 +              String csvline = "";
                if (null != r) {
                        model.put("njobs", r.size());
 +                      csvline = "\'Job%20 count\', \'Protein%20Sequence\'%0A";
                }
 +              // form line for CSV file
 +
 +              for (TotalByCounterBean b : r) {
 +                      if (b.getName().equals("")) {
 +                              csvline += "\'" + b.getTotaljobs() + "\',\'Alignment%20job\'%0A";
 +                              // fix problem with records without protein sequence (alignment
 +                              // jobs)
 +                              b.setName("Alignment job");
 +                      } else {
 +                              csvline += "\'" + b.getTotaljobs() + "\',\'" + b.getName() + "\'%0A";
 +                      }
 +              }
 +              model.put("csvfile", csvline);
 +
 +              model.put("results", r);
                final long endTime = System.currentTimeMillis();
                model.put("timeExecution", (endTime - startTime));
                model.put("counter", realcounter);
@@@ -122,15 -120,18 +122,15 @@@ public class CassandraRequester 
  
        /*
         * query: total number of jobs for the period from date1 till date2
-        */
+       */ 
        public TotalJobsStatisticBean countJobs(String date1, String date2) {
 -      /*      if (null == date1) {
 -                      date1 = "1970/1/1";
 -              }
 -              if (null == date2) {
 -                      date1 = "2100/1/1";
 -              }
 -              if (!isThisDateValid(date1, formatYYMMDD) || !isThisDateValid(date2, formatYYMMDD)) {
 -                      System.out.println("CassandraRequester.countJobs: wrong format for date1 " + date1 + "or date2 " + date2);
 -                      return null;
 -              }*/
 +              /*
 +               * if (null == date1) { date1 = "1970/1/1"; } if (null == date2) { date1
 +               * = "2100/1/1"; } if (!isThisDateValid(date1, formatYYMMDD) ||
 +               * !isThisDateValid(date2, formatYYMMDD)) { System.out.println(
 +               * "CassandraRequester.countJobs: wrong format for date1 " + date1 +
 +               * "or date2 " + date2); return null; }
 +               */
                SetDateRange();
                long dateStart = DateParsing(date1, formatYYMMDD);
                long dateEnd = DateParsing(date2, formatYYMMDD);