X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=server%2Fcompbio%2Fstatistic%2FCassandraRequester.java;h=5ed9398e72b1838e512f4f694d287d8c934fe07e;hb=68377f711516ef7566fac3371eb4962b86b3ba19;hp=0494a8389ca0502fb76e27b66b3f236610367f03;hpb=c6b1558b30d0a27260e3b72ed2b87e33e2847a5f;p=proteocache.git diff --git a/server/compbio/statistic/CassandraRequester.java b/server/compbio/statistic/CassandraRequester.java index 0494a83..5ed9398 100755 --- a/server/compbio/statistic/CassandraRequester.java +++ b/server/compbio/statistic/CassandraRequester.java @@ -9,12 +9,17 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import compbio.cassandra.AnnotatedProteinSequenceBean; +import compbio.cassandra.DateBean; +import compbio.cassandra.ProteinBean; import compbio.cassandra.CassandraNativeConnector; import compbio.cassandra.CassandraReader; import compbio.cassandra.DataBase; import compbio.cassandra.Pair; -import compbio.cassandra.StructureJobLog; +import compbio.cassandra.JobBean; +import compbio.cassandra.Total; +import compbio.cassandra.TotalByCounterBean; +import compbio.cassandra.TotalJobsStatisticBean; +import compbio.cassandra.UserBean; public class CassandraRequester { private CassandraReader db = new CassandraReader(); @@ -34,7 +39,7 @@ public class CassandraRequester { if (null == date2) { date1 = "2100/1/1"; } - if (!isThisDateValid(date1,formatYYMMDD) || !isThisDateValid(date2,formatYYMMDD)) { + if (!isThisDateValid(date1, formatYYMMDD) || !isThisDateValid(date2, formatYYMMDD)) { System.out.println("CassandraRequester.extractExecutionTime: wrong format for date1 " + date1 + "or date2 " + date2); return null; } @@ -111,11 +116,11 @@ public class CassandraRequester { query.add(db); return query; } - + /* - * query: total number of jobs for the period from date1 till date2 + * query: total number of jobs for the period from date1 till date2 */ - public List countJobs(String date1, String date2) { + public TotalJobsStatisticBean countJobs(String date1, String date2) { if (null == date1) { date1 = "1970/1/1"; } @@ -140,30 +145,27 @@ public class CassandraRequester { start.setTime(new Date(dateStart)); Calendar end = Calendar.getInstance(); end.setTime(new Date(dateEnd)); - query = new ArrayList(); + TotalJobsStatisticBean query = new TotalJobsStatisticBean(); + Total wholeTotal = new Total(0, 0, 0, 0, 0); for (Date date = start.getTime(); !start.after(end); start.add(Calendar.DATE, 1), date = start.getTime()) { - List res = db.ReadDateTable(date.getTime()); + Total res = db.ReadDateTable(date.getTime()); if (res == null) continue; - DataBase bean = new DataBase(); - bean.setTotal((int)(long)res.get(0)); - bean.setTotalOK((int)(long)res.get(1)); - bean.setTotalStopped((int)(long)res.get(2)); - bean.setTotalError((int)(long)res.get(3)); - bean.setTotalTimeOut((int)(long)res.get(4)); - bean.setDate(DateFormat(date.getTime())); - query.add(bean); + query.setDateTotal(DateFormat(date.getTime()), res); + wholeTotal.setTotal(res.getTotal() + wholeTotal.getTotal()); + wholeTotal.setTotalOK(res.getTotalOK() + wholeTotal.getTotalOK()); + wholeTotal.setTotalStopped(res.getTotalStopped() + wholeTotal.getTotalStopped()); + wholeTotal.setTotalError(res.getTotalError() + wholeTotal.getTotalError()); + wholeTotal.setTotalTimeOut(res.getTotalTimeOut() + wholeTotal.getTotalTimeOut()); } + query.setWholeTotal(wholeTotal); return query; } /* * query: jobs and sequence at date */ - public List readJobByDay (String date) { - if (null == date) { - return null; - } + public DateBean readJobByDay(String date) { if (!isThisDateValid(date, formatDDMMYY)) { System.out.println("CassandraRequester.readJobByDay: Wrong date format for " + date); return null; @@ -171,70 +173,54 @@ public class CassandraRequester { SetDateRange(); long day = DateParsing(date, formatDDMMYY); if (day < earlestDate || day > currentDate) - return null; - List> res = db.ReadProteinData(day); - if (res == null) return null; - query = new ArrayList(); - for (Pair entry : res) { - DataBase bean = new DataBase(); - bean.setDate(date); - bean.setId(entry.getElement0()); - bean.setProt(entry.getElement1()); - query.add(bean); - } - return query; + return db.ReadProteinData(day, date); } - - /* + /* * query: protein sequence - * */ - public List readProteins(String protIn, String flag) { - query = new ArrayList(); - List res; - if (flag.equals("whole")) - res = db.ReadWholeSequence(protIn); - else - res = db.ReadPartOfSequence(protIn); - if (res == null) + */ + public List readProteins(String protIn, String flag) { + List result; + if (flag.equals("whole")) + result = db.ReadWholeSequence(protIn); + else + result = db.ReadPartOfSequence(protIn); + if (result == null) return null; - for (AnnotatedProteinSequenceBean entry : res) { - DataBase db = new DataBase(); - db.setProt(entry.getSequence()); - db.setPredictions(entry); - db.setId(entry.getJobid()); - if (flag.equals("part")) { - db.setSubProt(CreateSubprot (entry.getSequence(), protIn)); + + if (flag.equals("part")) { + for (ProteinBean entry : result) { + entry.setSubProt(CreateSubprot(entry.getSequence(), protIn)); } - query.add(db); } - return query; + return result; } - - /* + /* * query protein sequences with number of jobs */ - public List readProteinByCounter(int minimalcounter) { - query = new ArrayList(); + public List readProteinByCounter(int minimalcounter) { + List query = new ArrayList(); Map map = db.ReadProteinSequenceByCounter(); + if (map == null) + return null; for (Map.Entry entry : map.entrySet()) { - if (entry.getValue() > minimalcounter && entry.getKey().length() > 0) { - DataBase bean = new DataBase(); - bean.setTotalId(entry.getValue()); - bean.setProt(entry.getKey()); + if (entry.getValue() > minimalcounter) { + TotalByCounterBean bean = new TotalByCounterBean(); + bean.setTotaljobs(entry.getValue()); + bean.setName(entry.getKey()); query.add(bean); } } return query; } - - /* + + /* * query ip with number of jobs */ - public List readIpByCounter(Integer minimalcounter) { - query = new ArrayList(); + public List readIpByCounter(Integer minimalcounter) { + List query = new ArrayList(); Map map = db.ReadIpByCounter(); if (minimalcounter == null) minimalcounter = 0; @@ -242,53 +228,42 @@ public class CassandraRequester { return null; for (Map.Entry entry : map.entrySet()) { if (entry.getValue() > minimalcounter) { - DataBase bean = new DataBase(); - bean.setTotalId(entry.getValue()); - bean.setIp(entry.getKey()); + TotalByCounterBean bean = new TotalByCounterBean(); + bean.setTotaljobs(entry.getValue()); + bean.setName(entry.getKey()); query.add(bean); } } return query; } + /* * query jobs log info */ - public DataBase readJobLog(String jobid) { + public JobBean readJobLog(String jobid) { if (jobid == null) return null; - StructureJobLog res = db.ReadJobLog(jobid); - if (res == null) - return null; - DataBase query = new DataBase(); - query.setLogInfo(res); - return query; + return db.ReadJobLog(jobid); } - - + /* * query jobs by ipStructureJobLog */ - public List readIp(String ip) { + public UserBean readIp(String ip) { if (ip == null) return null; - List> res = db.ReadIpWithJobs(ip); - if (res == null) + Map res = db.ReadIpWithJobs(ip); + if (res == null) return null; - query = new ArrayList(); - for (Pair entry : res) { - DataBase bean = new DataBase(); - bean.setIp(ip); - bean.setId(entry.getElement0()); - bean.setProt(entry.getElement1()); - query.add(bean); - } + UserBean query = new UserBean(ip); + query.setMainInfo(res); return query; } - + /* * create list of parts of protein sequence; */ - private static List CreateSubprot (String protein, String subprot) { + private static List CreateSubprot(String protein, String subprot) { List sub = new ArrayList(); String subStr = protein; while (subStr.length() > 0 && subStr.contains(subprot)) { @@ -302,6 +277,7 @@ public class CassandraRequester { sub.add(subStr); return sub; } + /* * convert String date into long date (miliseconds since the epoch start) */ @@ -310,7 +286,7 @@ public class CassandraRequester { return 0; } long dateWorkSt = 0; - + try { dateWorkSt = formatter.parse(datInput).getTime(); } catch (ParseException e) { @@ -331,7 +307,8 @@ public class CassandraRequester { */ private static void SetDateRange() { Calendar cal = Calendar.getInstance(); - currentDate = DateParsing(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DAY_OF_MONTH), formatYYMMDD); + currentDate = DateParsing(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DAY_OF_MONTH), + formatYYMMDD); if (0 == earlestDate) { CassandraRequester cr = new CassandraRequester(); earlestDate = cr.earliestDate(); @@ -360,5 +337,5 @@ public class CassandraRequester { earlestDate = CassandraNativeConnector.getEarliestDateInDB(); return earlestDate; } - + }