package compbio.cassandra.readers;
+import java.util.HashMap;
+import java.util.Map;
+
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
ResultSet results = CassandraQuery("SELECT * FROM ProteinLog WHERE JobID = '" + jobid + "';");
if (results.isExhausted())
return null;
- Row row = results.one();
+ Row row1 = results.one();
ResultSet results1 = CassandraQuery("SELECT * FROM ProteinRow WHERE JobID = '" + jobid + "' ALLOW FILTERING;");
- if (results1.isExhausted())
- return null;
- Row row1 = results1.one();
- JobBean res = new JobBean(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"), row.getString("DataEnd"),
- row.getString("ip"), row1.getMap("Predictions", String.class, String.class), row.getString("ProgramName"),
- row.getString("ProgramVersion"));
+ Map<String, String> predictions = new HashMap<String, String>();
+ if (!results1.isExhausted()) {
+ Row row2 = results1.one();
+ predictions = row2.getMap("Predictions", String.class, String.class);
+ }
+
+ JobBean res = new JobBean(row1.getString("Protein"), row1.getString("JobID"), row1.getString("DataBegin"),
+ row1.getString("DataEnd"), row1.getString("ip"), predictions);
+
+ String programname = row1.getString("ProgramName");
+ String programversion = row1.getString("ProgramVersion");
+ if (null != programname && null != programversion) {
+ res.setProgramName(programname);
+ res.setProgramVersion(programversion);
+ ResultSet results3 = CassandraQuery("SELECT * FROM Programs WHERE Program = '" + programname + "' and Version = '" + programversion
+ + "' ALLOW FILTERING;");
+ if (!results3.isExhausted()) {
+ Row row3 = results3.one();
+ String link = row3.getString("weblink");
+ if (null != link) {
+ res.setProgramLink(link);
+ }
+ }
+ }
+
return res;
}
}