X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=datadb%2Fcompbio%2Fcassandra%2FCassandraNativeConnector.java;h=55935949aec565ec07da86022ed01afc374ca750;hb=5d7a3018a6bee66bac0e3a915198a9886a091880;hp=b03845700fd4c11819437bc3a712ad3c8abc21e2;hpb=0ff63241ef7b33b89eb72fde7e0d1ab9c9eb32a5;p=proteocache.git diff --git a/datadb/compbio/cassandra/CassandraNativeConnector.java b/datadb/compbio/cassandra/CassandraNativeConnector.java index b038457..5593594 100644 --- a/datadb/compbio/cassandra/CassandraNativeConnector.java +++ b/datadb/compbio/cassandra/CassandraNativeConnector.java @@ -79,7 +79,6 @@ public class CassandraNativeConnector { */ public void InsertData(long jobtime, String startdate, String enddate, String ip, String jobid, String statusEx, String statusFinal, String protein, List predictions) { - String check1 = "SELECT * FROM ProteinKeyspace.ProteinLog WHERE JobID = '" + jobid + "';"; ResultSet results1 = session.execute(check1); if (results1.isExhausted()) { @@ -87,11 +86,9 @@ public class CassandraNativeConnector { + "(JobID, IP, DataBegin, DataEnd, FinalStatus, ExecutionStatus, Protein)" + " VALUES ('" + jobid + "','" + ip + "','" + startdate + "','" + enddate + "','" + statusFinal + "','" + statusEx + "','" + protein + "');"; session.execute(com1); - String com2 = "INSERT INTO ProteinKeyspace.ProteinData " + "(jobtime, JobID, Protein)" + " VALUES (" + jobtime + ",'" + jobid + "','" + protein + "');"; session.execute(com2); - String allpredictions = ""; for (FastaSequence pred : predictions) { String predictionname = pred.getId(); @@ -102,14 +99,14 @@ public class CassandraNativeConnector { if (null != allpredictions) { final_prediction = allpredictions.substring(0, allpredictions.length() - 1); } - - String check2 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "';"; + String check2 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "' ALLOW FILTERING;"; ResultSet results2 = session.execute(check2); if (results2.isExhausted()) { String com3 = "INSERT INTO ProteinKeyspace.ProteinRow " + "(Protein, JobID, Predictions)" + " VALUES ('" + protein + "','" + jobid + "',{" + final_prediction + "});"; session.execute(com3); } + String check3 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "';"; } } @@ -212,9 +209,9 @@ public class CassandraNativeConnector { /* * getting protein sequences by counter */ - public List> ReadProteinDataByCounter(int counter) { + public Map ReadProteinDataByCounter() { final long startTime = System.currentTimeMillis(); - String com = "SELECT DISTINCT Protein FROM ProteinKeyspace.ProteinRow;"; + String com = "SELECT Protein FROM ProteinKeyspace.ProteinRow;"; System.out.println("Command: " + com); ResultSet results = session.execute(com); if (results.isExhausted()) @@ -223,17 +220,46 @@ public class CassandraNativeConnector { List rows = results.all(); System.out.println ("Query time is " + (queryTime - startTime) + " msec"); System.out.println (" rows analysed, " + rows.size()); - List> res = new ArrayList>(); + Map res = new HashMap(); int c = 0; for (Row r : rows) { - String prot = r.getString("Protein"); - + String protein = r.getString("Protein"); + if (res.containsKey(protein)) + res.put(protein, res.get(protein) + 1); + else + res.put(protein, 1); } final long endTime = System.currentTimeMillis(); System.out.println (c + " rows analysed, execution time is " + (endTime - startTime) + " msec"); return res; } + + /* + * getting protein sequences by counter + */ + public StructureJobLog ReadJobLog(String jobid) { + final long startTime = System.currentTimeMillis(); + String com = "SELECT * FROM ProteinKeyspace.ProteinLog WHERE JobID = '" + jobid + "';"; + System.out.println("Command: " + com); + ResultSet results = session.execute(com); + if (results.isExhausted()) + return null; + final long queryTime = System.currentTimeMillis(); + Row row = results.one(); + String com1 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "' ALLOW FILTERING;"; + System.out.println("Command: " + com1); + ResultSet results1 = session.execute(com1); + if (results1.isExhausted()) + return null; + Row row1 = results1.one(); + StructureJobLog res = new StructureJobLog(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"), row.getString("DataEnd"), row.getString("ip"), row1.getMap("Predictions", String.class, String.class)); + System.out.println ("Query time is " + (queryTime - startTime) + " msec"); + final long endTime = System.currentTimeMillis(); + System.out.println (" rows analysed, execution time is " + (endTime - startTime) + " msec"); + return res; + } + /* * getting earlest date of jobs from the db */