1 package compbio.cassandra.readers;
3 import java.util.HashMap;
6 import com.datastax.driver.core.ResultSet;
7 import com.datastax.driver.core.Row;
9 import compbio.beans.JobBean;
11 public class JobReader extends CassandraReader {
22 * @return JobBean if a job with this job ID exist, null otherwise
25 public JobBean readJobLog(String jobid) {
26 ResultSet results = CassandraQuery("SELECT * FROM ProteinLog WHERE JobID = '" + jobid + "';");
27 if (results.isExhausted())
29 Row row1 = results.one();
30 ResultSet results1 = CassandraQuery("SELECT * FROM ProteinRow WHERE JobID = '" + jobid + "' ALLOW FILTERING;");
31 Map<String, String> predictions = new HashMap<String, String>();
32 if (!results1.isExhausted()) {
33 Row row2 = results1.one();
34 predictions = row2.getMap("Predictions", String.class, String.class);
37 JobBean res = new JobBean(row1.getString("Protein"), row1.getString("JobID"), row1.getString("DataBegin"),
38 row1.getString("DataEnd"), row1.getString("ip"), predictions);
40 String programname = row1.getString("ProgramName");
41 String programversion = row1.getString("ProgramVersion");
42 if (null != programname && null != programversion) {
43 res.setProgramName(programname);
44 res.setProgramVersion(programversion);
45 ResultSet results3 = CassandraQuery("SELECT * FROM Programs WHERE Program = '" + programname + "' and Version = '" + programversion
46 + "' ALLOW FILTERING;");
47 if (!results3.isExhausted()) {
48 Row row3 = results3.one();
49 String link = row3.getString("weblink");
51 res.setProgramLink(link);