X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=server%2Fcompbio%2Fstatistic%2FCassandraRequester.java;fp=server%2Fcompbio%2Fstatistic%2FCassandraRequester.java;h=410a722e6feff04bdc9dbd423bcbe06871470e1b;hb=92420f700bca908529b5dc0e0e998dd2a7f98bc2;hp=214bf6f354b73526b406ceee6b7ac689de1de793;hpb=47b52039568cdbe9515e31d1e3e606f0d557cb30;p=proteocache.git diff --git a/server/compbio/statistic/CassandraRequester.java b/server/compbio/statistic/CassandraRequester.java index 214bf6f..410a722 100755 --- a/server/compbio/statistic/CassandraRequester.java +++ b/server/compbio/statistic/CassandraRequester.java @@ -21,6 +21,8 @@ public class CassandraRequester { private ArrayList query; private static long currentDate = 0; private static long earlestDate = 0; + private final static SimpleDateFormat formatYYMMDD = new SimpleDateFormat("yyyy/MM/dd"); + private final static SimpleDateFormat formatDDMMYY = new SimpleDateFormat("dd/MM/yyyy"); /* * query: execution time for the period from date1 till date2 @@ -32,14 +34,14 @@ public class CassandraRequester { if (null == date2) { date1 = "2100/1/1"; } - if (!isThisDateValid(date1) || !isThisDateValid(date2)) { + if (!isThisDateValid(date1,formatYYMMDD) || !isThisDateValid(date2,formatYYMMDD)) { System.out.println("Wrong date: point 3"); return null; } SetDateRange(); int nbins = 5; - long dateStart = DateParsing(date1); - long dateEnd = DateParsing(date2); + long dateStart = DateParsing(date1, formatYYMMDD); + long dateEnd = DateParsing(date2, formatYYMMDD); if (dateEnd < earlestDate || dateStart > currentDate || dateStart > dateEnd) return null; if (dateStart < earlestDate) @@ -121,13 +123,13 @@ public class CassandraRequester { if (null == date2) { date1 = "2100/1/1"; } - if (!isThisDateValid(date1) || !isThisDateValid(date2)) { + if (!isThisDateValid(date1, formatYYMMDD) || !isThisDateValid(date2, formatYYMMDD)) { System.out.println("Wrong date: point 3"); return null; } SetDateRange(); - long dateStart = DateParsing(date1); - long dateEnd = DateParsing(date2); + long dateStart = DateParsing(date1, formatYYMMDD); + long dateEnd = DateParsing(date2, formatYYMMDD); if (dateEnd < earlestDate || dateStart > currentDate || dateStart > dateEnd) return null; if (dateStart < earlestDate) @@ -161,12 +163,15 @@ public class CassandraRequester { * query: protein sequence * */ public List readProteins(String protIn, String flag) { + if (protIn == null) + return null; + System.out.println(protIn.length()); query = new ArrayList(); List res; if (flag.equals("whole")) res = db.ReadWholeSequence(protIn); else - res = db.ReadPartOfSequence(protIn); + res = (protIn.length() > 0) ? db.ReadPartOfSequence(protIn) : null; if (res == null) return null; for (AnnotatedProteinSequenceBean entry : res) { @@ -203,13 +208,16 @@ public class CassandraRequester { * query jobs log info */ public DataBase readJobLog(String jobid) { - // query = new ArrayList(); + if (jobid == null) + return null; StructureJobLog res = db.ReadJobLog(jobid); + if (res == null) + return null; DataBase query = new DataBase(); query.setLogInfo(res); - // query.setres); return query; } + /* * create list of parts of protein sequence; */ @@ -230,12 +238,12 @@ public class CassandraRequester { /* * convert String date into long date (miliseconds since the epoch start) */ - private static long DateParsing(String datInput) { + private static long DateParsing(String datInput, SimpleDateFormat formatter) { if (datInput == null) { return 0; } long dateWorkSt = 0; - SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd"); + try { dateWorkSt = formatter.parse(datInput).getTime(); } catch (ParseException e) { @@ -256,7 +264,7 @@ 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)); + 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(); @@ -264,12 +272,11 @@ public class CassandraRequester { } } - public boolean isThisDateValid(String dateToValidate) { + public boolean isThisDateValid(String dateToValidate, SimpleDateFormat sdf) { if (dateToValidate == null || dateToValidate.equals("")) { System.out.println("Undefined date"); return false; } - SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); try { // if not valid, this will throw ParseException sdf.setLenient(false);