+
+ /*
+ * query: total number of jobs for the period from date1 till date2
+ */
+ public List<DataBase> 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("Wrong date: point 3");
+ return null;
+ }
+ SetDateRange();
+ long dateStart = DateParsing(date1, formatYYMMDD);
+ long dateEnd = DateParsing(date2, formatYYMMDD);
+ if (dateEnd < earlestDate || dateStart > currentDate || dateStart > dateEnd)
+ return null;
+ if (dateStart < earlestDate)
+ dateStart = earlestDate;
+ if (dateEnd > currentDate)
+ dateStart = currentDate;
+
+ Calendar start = Calendar.getInstance();
+ start.setTime(new Date(dateStart));
+ Calendar end = Calendar.getInstance();
+ end.setTime(new Date(dateEnd));
+ query = new ArrayList<DataBase>();
+ for (Date date = start.getTime(); !start.after(end); start.add(Calendar.DATE, 1), date = start.getTime()) {
+ List<Long> 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);
+ }
+ System.out.println("StatisticsProt.readLength: total number of dates = " + query.size());
+ return query;
+ }