create DateBean, UserBean, TotalBean
[proteocache.git] / datadb / compbio / cassandra / CassandraReader.java
index 9ac0a3b..69f7c08 100644 (file)
@@ -53,7 +53,7 @@ public class CassandraReader {
        /*
         * getting data from the db
         */
-       public List<Pair<String, String>> ReadProteinData(long day) {
+       public DateBean ReadProteinData(long day, String date) {
                final long startTime = System.currentTimeMillis();
                String com = "SELECT JobID, Protein FROM ProteinData WHERE jobtime = " + day + ";";
                System.out.println("Command: " + com);
@@ -63,11 +63,10 @@ public class CassandraReader {
                final long queryTime = System.currentTimeMillis();
                List<Row> rows = results.all();
                System.out.println("Query time is " + (queryTime - startTime) + " msec");
-               List<Pair<String, String>> res = new ArrayList<Pair<String, String>>();
+               DateBean res = new DateBean(date);
                int c = 0;
                for (Row r : rows) {
-                       Pair<String, String> pair = new Pair<String, String>(r.getString("JobID"), r.getString("Protein"));
-                       res.add(pair);
+                       res.setJobidAndSeq(r.getString("JobID"), r.getString("Protein"));
                        ++c;
                }
                final long endTime = System.currentTimeMillis();
@@ -77,17 +76,13 @@ public class CassandraReader {
        /*
         * getting data from the db JobDateInfo
         */
-       public List<Long> ReadDateTable(long queryDate) {
+       public Total ReadDateTable(long queryDate) {
                ResultSet results = session.execute("SELECT * FROM JobDateInfo WHERE jobday = " + queryDate + ";");
                if (results.isExhausted())
                        return null;
                Row therow = results.one();
-               List<Long> res = new ArrayList<Long>();
-               res.add(therow.getLong("Total"));
-               res.add(therow.getLong("TotalOK"));
-               res.add(therow.getLong("TotalStopped"));
-               res.add(therow.getLong("TotalError"));
-               res.add(therow.getLong("TotalTimeOut"));
+               Total res = new Total(therow.getLong("Total"), therow.getLong("TotalOK"), therow.getLong("TotalStopped"), 
+                               therow.getLong("TotalError"), therow.getLong("TotalTimeOut"));
                if (!results.isExhausted()) {
                        Date date = new Date (queryDate);
                        log.warn("CassandraReader.ReadDateTable: date row for " + date.toString () + " ("+ queryDate + ") duplicated ");
@@ -129,25 +124,23 @@ public class CassandraReader {
        /*
         * getting jobs by ip
         */
-       public List<Pair<String, String>> ReadIpWithJobs(String ip) {
+       public Map<String, String[]> ReadIpWithJobs(String ip) {
                final long startTime = System.currentTimeMillis();
-               String com = "SELECT JobID, Protein, FinalStatus FROM ProteinLog WHERE ip = '" + ip + "';";
+               String com = "SELECT JobID, Protein, FinalStatus, DataBegin FROM ProteinLog WHERE ip = '" + ip + "';";
                System.out.println("Command: " + com);
                ResultSet results = session.execute(com);
                if (results.isExhausted())
                        return null;
                final long queryTime = System.currentTimeMillis();
                List<Row> rows = results.all();
-               List<Pair<String, String>> res = new ArrayList<Pair<String, String>>();
+               Map<String, String[]> res = new HashMap<String, String[]>();
                System.out.println("Query time is " + (queryTime - startTime) + " msec");
                System.out.println(" rows analysed,  " + rows.size());
                int c = 0;
                for (Row r : rows) {
                        if (r.getString("FinalStatus").equals("OK")) { 
-                               Pair<String, String> pair = new Pair<String, String>(r.getString("JobID"), r.getString("Protein"));
-                               System.out.println(pair.getElement0());
-                               System.out.println(pair.getElement1());
-                               res.add(pair);
+                               String date = r.getString("DataBegin");
+                               res.put(r.getString("JobID"), new String[] {date.substring(0, date.indexOf(":")), r.getString("Protein")});
                                ++c;
                        }
                }
@@ -232,12 +225,12 @@ public class CassandraReader {
                Map<String, Integer> res = new HashMap<String, Integer>();
                int c = 0;
                for (Row r : rows) {
-                       String protein = r.getString("ip");
+                       String ip = r.getString("ip");
                        String id = r.getString("JobID");
-                       if (res.containsKey(protein))
-                               res.put(protein, res.get(protein) + 1);
+                       if (res.containsKey(ip))
+                               res.put(ip, res.get(ip) + 1);
                        else
-                               res.put(protein, 1);
+                               res.put(ip, 1);
                }
                final long endTime = System.currentTimeMillis();
                System.out.println(c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
@@ -247,7 +240,7 @@ public class CassandraReader {
        /*
         * getting log info for jobid
         */
-       public StructureJobLog ReadJobLog(String jobid) {
+       public JobBean ReadJobLog(String jobid) {
                final long startTime = System.currentTimeMillis();
                String com = "SELECT * FROM ProteinLog WHERE JobID = '" + jobid + "';";
                System.out.println("Command: " + com);
@@ -262,7 +255,7 @@ public class CassandraReader {
                if (results1.isExhausted())
                        return null;
                Row row1 = results1.one();
-               StructureJobLog res = new StructureJobLog(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"),
+               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));
                System.out.println("Query time is " + (queryTime - startTime) + " msec");
                final long endTime = System.currentTimeMillis();