Fix problem with new table column names: ProgrammeName -> ProgramName, Version -...
authorSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Mon, 20 Jan 2014 16:03:46 +0000 (16:03 +0000)
committerSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Mon, 20 Jan 2014 16:03:46 +0000 (16:03 +0000)
datadb/compbio/beans/JobBean.java
datadb/compbio/cassandra/CassandraNativeConnector.java
datadb/compbio/cassandra/CassandraNewTableWriter.java
datadb/compbio/cassandra/CassandraReaderOld.java
datadb/compbio/cassandra/CassandraWriter.java
datadb/compbio/cassandra/JpredParserHTTP.java
datadb/compbio/cassandra/readers/JobReader.java
engine/compbio/engine/Job.java
webapp/view/reports/Job.jsp

index 05c798a..ec1f030 100644 (file)
@@ -11,14 +11,14 @@ public class JobBean implements PredictionIndex {
        private String dateEnd;
        private String sequence;
        private String ip;
        private String dateEnd;
        private String sequence;
        private String ip;
-       private String programmeName;
-       private String version;
+       private String ProgramName;
+       private String ProgramVersion;
        private LinkedHashMap<String, String> predictions;
 
        private LinkedHashMap<String, String> predictions;
 
-       public JobBean(String seq, String id, String dateStart, String dateEnd, String ip, Map<String, String> pred, String prog, String version) {
+       public JobBean(String seq, String id, String dateStart, String dateEnd, String ip, Map<String, String> pred, String program, String version) {
                this.sequence = seq;
                this.sequence = seq;
-               this.programmeName = prog;
-               this.version = version;
+               this.ProgramName = program;
+               this.ProgramVersion = version;
                this.jobid = id;
                this.dateStart = dateStart;
                this.dateEnd = dateEnd;
                this.jobid = id;
                this.dateStart = dateStart;
                this.dateEnd = dateEnd;
@@ -55,12 +55,12 @@ public class JobBean implements PredictionIndex {
                return ip;
        }
        
                return ip;
        }
        
-       public String getProgrammeName() {
-               return programmeName;
+       public String getProgramName() {
+               return ProgramName;
        }
        
        }
        
-       public String getVersion() {
-               return version;
+       public String getProgramVersion() {
+               return ProgramVersion;
        }
 
        public Map<String, String> getPrediction() {
        }
 
        public Map<String, String> getPrediction() {
index beb83c4..3360ad1 100644 (file)
@@ -73,7 +73,7 @@ public class CassandraNativeConnector {
 
                session.execute("CREATE TABLE IF NOT EXISTS ProteinLog "
                                + "(JobID ascii, DataBegin ascii, DataEnd ascii, ip ascii, FinalStatus ascii, "
 
                session.execute("CREATE TABLE IF NOT EXISTS ProteinLog "
                                + "(JobID ascii, DataBegin ascii, DataEnd ascii, ip ascii, FinalStatus ascii, "
-                               + "ExecutionStatus ascii, Protein ascii, ProgrammeName ascii, Version ascii, PRIMARY KEY(JobID));");
+                               + "ExecutionStatus ascii, Protein ascii, ProgramName ascii, ProgramVersion ascii, PRIMARY KEY(JobID));");
 
                session.execute("CREATE TABLE IF NOT EXISTS ProteinData "
                                + "(jobtime bigint, JobID ascii, ExecTime int, Protein ascii, PRIMARY KEY(jobtime, JobID));");
 
                session.execute("CREATE TABLE IF NOT EXISTS ProteinData "
                                + "(jobtime bigint, JobID ascii, ExecTime int, Protein ascii, PRIMARY KEY(jobtime, JobID));");
@@ -83,7 +83,7 @@ public class CassandraNativeConnector {
 
                session.execute("CREATE TABLE IF NOT EXISTS JpredArchive "
                                + "(JobID ascii, Protein varchar, IP ascii, StartTime bigint, ExecTime int, FinalStatus ascii, ExecutionStatus ascii, alignment map<ascii,ascii>, "
 
                session.execute("CREATE TABLE IF NOT EXISTS JpredArchive "
                                + "(JobID ascii, Protein varchar, IP ascii, StartTime bigint, ExecTime int, FinalStatus ascii, ExecutionStatus ascii, alignment map<ascii,ascii>, "
-                               + "predictions map<ascii,ascii>, ArchiveLink varchar, LOG varchar, ProgrammeName ascii, Version ascii, PRIMARY KEY(JobID));");
+                               + "predictions map<ascii,ascii>, ArchiveLink varchar, LOG varchar, ProgramName ascii, ProgramVersion ascii, PRIMARY KEY(JobID));");
 
                session.execute("CREATE TABLE IF NOT EXISTS JobDateInfo "
                                + "(jobday bigint, Total bigint,  TotalOK bigint, TotalStopped bigint, TotalError bigint, TotalTimeOut bigint, Program varchar, Version varchar, PRIMARY KEY(jobday));");
 
                session.execute("CREATE TABLE IF NOT EXISTS JobDateInfo "
                                + "(jobday bigint, Total bigint,  TotalOK bigint, TotalStopped bigint, TotalError bigint, TotalTimeOut bigint, Program varchar, Version varchar, PRIMARY KEY(jobday));");
@@ -91,13 +91,11 @@ public class CassandraNativeConnector {
                String com = "CREATE TABLE IF NOT EXISTS Users "
                                + "(name varchar, id bigint, email varchar, password varchar, organisation varchar, position varchar, signedtolist boolean, registrationdate bigint, PRIMARY KEY(id));";
 
                String com = "CREATE TABLE IF NOT EXISTS Users "
                                + "(name varchar, id bigint, email varchar, password varchar, organisation varchar, position varchar, signedtolist boolean, registrationdate bigint, PRIMARY KEY(id));";
 
-               
-       
-       //      session.execute("ALTER TABLE ProteinLog ADD ProgrammeName ascii;");
-       //      session.execute("ALTER TABLE ProteinLog ADD Version ascii;");
-       //      session.execute("ALTER TABLE JpredArchive ADD ProgrammeName ascii;");
-       //      session.execute("ALTER TABLE JpredArchive ADD Version ascii;");
-               
+               // session.execute("ALTER TABLE ProteinLog ADD ProgramName ascii;");
+               // session.execute("ALTER TABLE ProteinLog ADD ProgramVersion ascii;");
+               // session.execute("ALTER TABLE JpredArchive ADD ProgramName ascii;");
+               // session.execute("ALTER TABLE JpredArchive ADD ProgramVersion ascii;");
+
                session.execute("CREATE INDEX IF NOT EXISTS ProteinSeq ON ProteinRow (protein);");
                session.execute("CREATE INDEX IF NOT EXISTS ProteinIp ON ProteinLog (ip);");
                session.execute("CREATE INDEX IF NOT EXISTS ON ProteinLog (ExecutionStatus);");
                session.execute("CREATE INDEX IF NOT EXISTS ProteinSeq ON ProteinRow (protein);");
                session.execute("CREATE INDEX IF NOT EXISTS ProteinIp ON ProteinLog (ip);");
                session.execute("CREATE INDEX IF NOT EXISTS ON ProteinLog (ExecutionStatus);");
index 6cb9c98..4ee10c8 100644 (file)
@@ -45,7 +45,7 @@ public class CassandraNewTableWriter {
                }
                return false;
        }
                }
                return false;
        }
-       
+
        /*
         * update programme name and version
         */
        /*
         * update programme name and version
         */
@@ -68,8 +68,10 @@ public class CassandraNewTableWriter {
                                List<Row> rows = results.all();
                                System.out.println(rows.size());
                                for (Row r : rows) {
                                List<Row> rows = results.all();
                                System.out.println(rows.size());
                                for (Row r : rows) {
-                                       session.execute("UPDATE  ProteinLog SET ProgrammeName = 'Jpred', Version = '3.0.1' WHERE JobID = '" + r.getString("JobID") + "';");
-                                       session.execute("UPDATE  JpredArchive SET ProgrammeName = 'Jpred', Version = '3.0.1' WHERE JobID = '" + r.getString("JobID") + "';");                                   
+                                       session.execute("UPDATE  ProteinLog SET ProgramName = 'Jpred', ProgramVersion = '3.0.1' WHERE JobID = '"
+                                                       + r.getString("JobID") + "';");
+                                       session.execute("UPDATE  JpredArchive SET ProgramName = 'Jpred', ProgramVersion = '3.0.1' WHERE JobID = '"
+                                                       + r.getString("JobID") + "';");
                                }
                        } catch (QueryExecutionException e) {
                                e.printStackTrace();
                                }
                        } catch (QueryExecutionException e) {
                                e.printStackTrace();
@@ -78,7 +80,6 @@ public class CassandraNewTableWriter {
                System.out.println("Table ProteinLog filled: total time is " + (System.currentTimeMillis() - StartTime) + " msec");
        }
 
                System.out.println("Table ProteinLog filled: total time is " + (System.currentTimeMillis() - StartTime) + " msec");
        }
 
-
        /*
         * fill new table
         */
        /*
         * fill new table
         */
index 62979ad..e08b39c 100644 (file)
@@ -314,7 +314,8 @@ public class CassandraReaderOld {
                        return null;
                Row row1 = results1.one();
                JobBean res = new JobBean(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"), row.getString("DataEnd"),
                        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("ProgrammeName"), row.getString("Version"));
+                               row.getString("ip"), row1.getMap("Predictions", String.class, String.class), row.getString("ProgramName"),
+                               row.getString("ProgramVersion"));
                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");
                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");
index 05a03f0..b12f59e 100644 (file)
@@ -74,12 +74,20 @@ public class CassandraWriter {
                        String protein = job.getProtein();
                        String finalstatus = job.getFinalStatus();
                        String execstatus = job.getExecutionStatus();
                        String protein = job.getProtein();
                        String finalstatus = job.getFinalStatus();
                        String execstatus = job.getExecutionStatus();
-                       String programmeName = job.getProgrammeName();
-                       String version = job.getVersion();
+                       String ProgramName = job.getProgramName();
+                       String ProgramVersion = job.getProgramVersion();
 
 
-                       String com1 = "INSERT INTO ProteinLog (JobID, IP, DataBegin, DataEnd, FinalStatus, ExecutionStatus, Protein, ProgrammeName, Version) VALUES ('" + id
-                                       + "','" + job.getIP() + "','" + job.getStartingTimeStr() + "','" + job.getEndTimeStr() + "','" + finalstatus + "','"
-                                       + execstatus + "','" + protein + "','" + programmeName + "','" + version + "');";
+                       String com1 = "INSERT INTO ProteinLog (JobID, IP, DataBegin, DataEnd, FinalStatus, ExecutionStatus, Protein, ProgramName, ProgramVersion) VALUES ('"
+                                       + id
+                                       + "','"
+                                       + job.getIP()
+                                       + "','"
+                                       + job.getStartingTimeStr()
+                                       + "','"
+                                       + job.getEndTimeStr()
+                                       + "','"
+                                       + finalstatus
+                                       + "','" + execstatus + "','" + protein + "','" + ProgramName + "','" + ProgramVersion + "');";
                        ResultSet insert = execute(com1);
                        if (null == insert) {
                                System.out.println("CassandraWriter.FormQueryTables: couldn't insert into ProteinLog");
                        ResultSet insert = execute(com1);
                        if (null == insert) {
                                System.out.println("CassandraWriter.FormQueryTables: couldn't insert into ProteinLog");
@@ -193,7 +201,7 @@ public class CassandraWriter {
                if (JobisNotArchived(job.getJobID())) {
                        String id = job.getJobID();
                        String log = job.getLog().replaceAll("'", "");
                if (JobisNotArchived(job.getJobID())) {
                        String id = job.getJobID();
                        String log = job.getLog().replaceAll("'", "");
-                       String com = "INSERT INTO JpredArchive (JobID, Protein, IP, StartTime, ExecTime, FinalStatus, ExecutionStatus, LOG, ArchiveLink, ProgrammeName, Version) VALUES ('"
+                       String com = "INSERT INTO JpredArchive (JobID, Protein, IP, StartTime, ExecTime, FinalStatus, ExecutionStatus, LOG, ArchiveLink, ProgramName, ProgramVersion) VALUES ('"
                                        + id
                                        + "','"
                                        + job.getProtein()
                                        + id
                                        + "','"
                                        + job.getProtein()
@@ -203,7 +211,16 @@ public class CassandraWriter {
                                        + job.getStartingTime()
                                        + ","
                                        + job.getExecutionTime()
                                        + job.getStartingTime()
                                        + ","
                                        + job.getExecutionTime()
-                                       + ",'" + job.getFinalStatus() + "','" + job.getExecutionStatus() + "','" + log + "','" + archivepath + "','" + job.getProgrammeName() + "','" + job.getVersion() + "');";
+                                       + ",'"
+                                       + job.getFinalStatus()
+                                       + "','"
+                                       + job.getExecutionStatus()
+                                       + "','"
+                                       + log
+                                       + "','"
+                                       + archivepath
+                                       + "','"
+                                       + job.getProgramName() + "','" + job.getProgramVersion() + "');";
                        if (null == execute(com)) {
                                System.out.println("CassandraWriter.ArchiveData: couldn't insert into JpredArchive");
                        }
                        if (null == execute(com)) {
                                System.out.println("CassandraWriter.ArchiveData: couldn't insert into JpredArchive");
                        }
index 1d888e4..825689e 100644 (file)
@@ -115,7 +115,7 @@ public class JpredParserHTTP implements JpredParser {
                if (null != (out = buffer.readLine()) && (out.contains("version"))) {
                        Matcher matcher = Pattern.compile("((\\d|\\.)+)").matcher(out);
                        if (matcher.find())
                if (null != (out = buffer.readLine()) && (out.contains("version"))) {
                        Matcher matcher = Pattern.compile("((\\d|\\.)+)").matcher(out);
                        if (matcher.find())
-                               job.setVersion(matcher.group(0));
+                               job.setProgramVersion(matcher.group(0));
                }
                while (null != (line = buffer.readLine())) {
                        out += line;            
                }
                while (null != (line = buffer.readLine())) {
                        out += line;            
@@ -131,6 +131,7 @@ public class JpredParserHTTP implements JpredParser {
                boolean LogfileExists = false;
                JpredJob job = new JpredJob(jobinfo[jobinfo.length - 1], jobinfo[0], jobinfo[1]);
                job.setIP(jobinfo[2]);
                boolean LogfileExists = false;
                JpredJob job = new JpredJob(jobinfo[jobinfo.length - 1], jobinfo[0], jobinfo[1]);
                job.setIP(jobinfo[2]);
+               job.setProgramName("Jpred");
                Date currDate = new Date();
                String maindir = dirprefix + "/" + job.getJobID() + "/";
 
                Date currDate = new Date();
                String maindir = dirprefix + "/" + job.getJobID() + "/";
 
@@ -158,7 +159,6 @@ public class JpredParserHTTP implements JpredParser {
                        }
                        if (199 < httpConnection_logurl.getResponseCode() && httpConnection_logurl.getResponseCode() < 300) {
                                LogfileExists = true;
                        }
                        if (199 < httpConnection_logurl.getResponseCode() && httpConnection_logurl.getResponseCode() < 300) {
                                LogfileExists = true;
-                               job.setProgrammeName("Jpred");
                                job.setLog(parseLogFile(logurl.openStream(), job));
                        } else {
                                // The job has not been started at all...
                                job.setLog(parseLogFile(logurl.openStream(), job));
                        } else {
                                // The job has not been started at all...
index c632542..a525a56 100644 (file)
@@ -29,7 +29,8 @@ public class JobReader extends CassandraReader {
                        return null;
                Row row1 = results1.one();
                JobBean res = new JobBean(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"), row.getString("DataEnd"),
                        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("ProgrammeName"), row.getString("Version"));
+                               row.getString("ip"), row1.getMap("Predictions", String.class, String.class), row.getString("ProgramName"),
+                               row.getString("ProgramVersion"));
                return res;
        }
 }
                return res;
        }
 }
index 162a246..31309e5 100644 (file)
@@ -10,8 +10,8 @@ public class Job {
        private String FinalStatus;
        private String IP;
        private String Email;
        private String FinalStatus;
        private String IP;
        private String Email;
-       private String programmeName;
-       private String version;
+       private String ProgramName;
+       private String ProgramVersion;
 
        private String StartingDateStr;
        private long StartingDate;
 
        private String StartingDateStr;
        private long StartingDate;
@@ -29,8 +29,8 @@ public class Job {
                ExecutionStatus = "OK";
                FinalStatus = "OK";
                jobid = "";
                ExecutionStatus = "OK";
                FinalStatus = "OK";
                jobid = "";
-               programmeName ="";
-               version = "";
+               ProgramName ="";
+               ProgramVersion = "";
 
                StartingDateStr = "1970/1/1";
                StartingTimeStr = "1970/1/1:0:0:0";
 
                StartingDateStr = "1970/1/1";
                StartingTimeStr = "1970/1/1:0:0:0";
@@ -172,19 +172,19 @@ public class Job {
                return jobid;
        }
        
                return jobid;
        }
        
-       public void setProgrammeName(String prog) {
-               this.programmeName = prog;
+       public void setProgramName(String prog) {
+               this.ProgramName = prog;
        }
 
        }
 
-       public String getProgrammeName() {
-               return programmeName;
+       public String getProgramName() {
+               return ProgramName;
        }
        
        }
        
-       public void setVersion(String ver) {
-               this.version = ver;
+       public void setProgramVersion(String ver) {
+               this.ProgramVersion = ver;
        }
 
        }
 
-       public String getVersion() {
-               return version;
+       public String getProgramVersion() {
+               return ProgramVersion;
        }
 }
        }
 }
index dd0b1dd..2dd4e82 100644 (file)
                <div class="panel-body">
                        <p>Start timestamp : ${result.dateStart}</p>
                        <p>End timestamp : ${result.dateEnd}</p>
                <div class="panel-body">
                        <p>Start timestamp : ${result.dateStart}</p>
                        <p>End timestamp : ${result.dateEnd}</p>
-                       <p>Run : ${result.programmeName} server</p>
-                       <p>Version : ${result.version}</p>
+                       <c:if test='${jobarchive != null}'>
+                               <p>Program name : ${result.programName}</p>
+                               <p>Program version : ${result.programVersion}</p>
+                       </c:if>
 <sec:authorize access="hasRole('ROLE_ADMIN')">
                        <p>IP: <a title="Click to view other jobs" href="${ip_query}?ip=${result.ip}">${result.ip}</a></p>
 </sec:authorize>
 <sec:authorize access="hasRole('ROLE_ADMIN')">
                        <p>IP: <a title="Click to view other jobs" href="${ip_query}?ip=${result.ip}">${result.ip}</a></p>
 </sec:authorize>