mev-4.0.01/source/org/tigr/microarray/mev/cluster/clusterUtil/submit/lola/connLOLA.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /************************
2 26 Feb 07 jari 2  *
2 26 Feb 07 jari 3  * Class connLOLA
2 26 Feb 07 jari 4  *
2 26 Feb 07 jari 5  * communicates with LOLA
2 26 Feb 07 jari 6  * www.lola.gwu.edu/
2 26 Feb 07 jari 7  *
2 26 Feb 07 jari 8  * Patrick Cahan
2 26 Feb 07 jari 9  * pcahan1@gwu.edu
2 26 Feb 07 jari 10  *
2 26 Feb 07 jari 11  *************************/
2 26 Feb 07 jari 12
2 26 Feb 07 jari 13 package org.tigr.microarray.mev.cluster.clusterUtil.submit.lola;
2 26 Feb 07 jari 14
2 26 Feb 07 jari 15 //package classes;
2 26 Feb 07 jari 16
2 26 Feb 07 jari 17 //import java.io.File;
2 26 Feb 07 jari 18 //import java.io.PrintWriter;
2 26 Feb 07 jari 19 //import java.io.FileOutputStream;
2 26 Feb 07 jari 20 import java.io.BufferedReader;
2 26 Feb 07 jari 21 import java.io.InputStreamReader;
2 26 Feb 07 jari 22 import java.io.OutputStreamWriter;
2 26 Feb 07 jari 23 import java.net.URL;
2 26 Feb 07 jari 24 import java.net.URLConnection;
2 26 Feb 07 jari 25 import java.net.URLEncoder;
2 26 Feb 07 jari 26
2 26 Feb 07 jari 27 //import java.net.URL;
2 26 Feb 07 jari 28 //import java.net.URLConnection;
2 26 Feb 07 jari 29 //import java.net.HttpURLConnection;
2 26 Feb 07 jari 30
2 26 Feb 07 jari 31
2 26 Feb 07 jari 32 public class connLOLA {
2 26 Feb 07 jari 33
2 26 Feb 07 jari 34     //public static final String URL_LOLA = "http://www.lola.gwu.edu/test_lola/";
2 26 Feb 07 jari 35     public static final String URL_LOLA = "http://www.lola.gwu.edu/";
2 26 Feb 07 jari 36     public static final String FILE_LOGIN = "login.php";
2 26 Feb 07 jari 37     public static final String FILE_CONFIRM_LIST = "confirm_list.php";
2 26 Feb 07 jari 38     public static final String FILE_CREATE_LIST = "create_list.php";
2 26 Feb 07 jari 39     public static final String FILE_LOGOUT = "logout.php";
2 26 Feb 07 jari 40
2 26 Feb 07 jari 41     private String email, pw, filename, list_name, list_desc, session;
2 26 Feb 07 jari 42
2 26 Feb 07 jari 43     public connLOLA(String email, String pw){
2 26 Feb 07 jari 44   this(email, pw, "", "", "" );
2 26 Feb 07 jari 45     }
2 26 Feb 07 jari 46
2 26 Feb 07 jari 47     public connLOLA(String email, String pw, String filename, String list_name, String list_desc){
2 26 Feb 07 jari 48         set_email(email);
2 26 Feb 07 jari 49   set_pw(pw);
2 26 Feb 07 jari 50   set_filename(filename);
2 26 Feb 07 jari 51   set_list_name(list_name);
2 26 Feb 07 jari 52   set_list_desc(list_desc);
2 26 Feb 07 jari 53     }
2 26 Feb 07 jari 54
2 26 Feb 07 jari 55     // sets
2 26 Feb 07 jari 56     public void set_email( String email ){
2 26 Feb 07 jari 57   this.email = email;
2 26 Feb 07 jari 58     }
2 26 Feb 07 jari 59     public void set_pw( String pw ){
2 26 Feb 07 jari 60   this.pw = pw;
2 26 Feb 07 jari 61     }
2 26 Feb 07 jari 62     public void set_filename( String filename ){
2 26 Feb 07 jari 63   this.filename = filename;
2 26 Feb 07 jari 64     }
2 26 Feb 07 jari 65     public void set_list_name( String list_name ){
2 26 Feb 07 jari 66   this.list_name = list_name;
2 26 Feb 07 jari 67     }
2 26 Feb 07 jari 68     public void set_list_desc( String list_desc ){
2 26 Feb 07 jari 69   this.list_desc = list_desc;
2 26 Feb 07 jari 70     }
2 26 Feb 07 jari 71     public void set_session( String session ){
2 26 Feb 07 jari 72   this.session = session;
2 26 Feb 07 jari 73     }
2 26 Feb 07 jari 74
2 26 Feb 07 jari 75     //gets
2 26 Feb 07 jari 76     public String get_email(){
2 26 Feb 07 jari 77   return this.email;
2 26 Feb 07 jari 78     }
2 26 Feb 07 jari 79     public String get_pw( ){
2 26 Feb 07 jari 80   return this.pw;
2 26 Feb 07 jari 81     }
2 26 Feb 07 jari 82     public String get_filename( ){
2 26 Feb 07 jari 83   return this.filename;
2 26 Feb 07 jari 84     }
2 26 Feb 07 jari 85     public String get_list_name(){
2 26 Feb 07 jari 86   return this.list_name;
2 26 Feb 07 jari 87     }
2 26 Feb 07 jari 88     public String get_list_desc(){
2 26 Feb 07 jari 89   return this.list_desc;
2 26 Feb 07 jari 90     }
2 26 Feb 07 jari 91     public String get_session(){
2 26 Feb 07 jari 92   return this.session;
2 26 Feb 07 jari 93     }
2 26 Feb 07 jari 94
2 26 Feb 07 jari 95     public String login(){
2 26 Feb 07 jari 96         System.out.println("Logging in to LOLA"); //Display the string.
2 26 Feb 07 jari 97   try {
2 26 Feb 07 jari 98       // Construct data
2 26 Feb 07 jari 99       String data = URLEncoder.encode("email", "UTF-8") + "=" + URLEncoder.encode(get_email(), "UTF-8");
2 26 Feb 07 jari 100       data += "&" + URLEncoder.encode("pw", "UTF-8") + "=" + URLEncoder.encode(get_pw(), "UTF-8");
2 26 Feb 07 jari 101
2 26 Feb 07 jari 102       // Send data
2 26 Feb 07 jari 103       URL url = new URL(URL_LOLA + FILE_LOGIN);
2 26 Feb 07 jari 104        
2 26 Feb 07 jari 105             URLConnection conn = url.openConnection();
2 26 Feb 07 jari 106       conn.setDoOutput(true);
2 26 Feb 07 jari 107       OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
2 26 Feb 07 jari 108       wr.write(data);
2 26 Feb 07 jari 109       wr.flush();
2 26 Feb 07 jari 110                
2 26 Feb 07 jari 111             // Get the response
2 26 Feb 07 jari 112       BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
2 26 Feb 07 jari 113
2 26 Feb 07 jari 114             String line, sessid;
2 26 Feb 07 jari 115
2 26 Feb 07 jari 116       // first line contains PHPSESSIONID
2 26 Feb 07 jari 117       line = rd.readLine();
2 26 Feb 07 jari 118       sessid = get_sessid(line);
2 26 Feb 07 jari 119       this.set_session( sessid );
2 26 Feb 07 jari 120       //      System.out.println("Session id: " + sessid);
2 26 Feb 07 jari 121       /*
2 26 Feb 07 jari 122       while ((line = rd.readLine()) != null) {
2 26 Feb 07 jari 123     System.out.println(line);
2 26 Feb 07 jari 124     // Process line...
2 26 Feb 07 jari 125       }
2 26 Feb 07 jari 126       */
2 26 Feb 07 jari 127       wr.close();
2 26 Feb 07 jari 128       rd.close();
2 26 Feb 07 jari 129       return sessid;
2 26 Feb 07 jari 130   } catch (Exception e) {
2 26 Feb 07 jari 131             System.out.println("Login Error");
2 26 Feb 07 jari 132             //e.printStackTrace();
2 26 Feb 07 jari 133       return "";
2 26 Feb 07 jari 134   }
2 26 Feb 07 jari 135     }
2 26 Feb 07 jari 136
2 26 Feb 07 jari 137     public void logout(){
2 26 Feb 07 jari 138   try {
2 26 Feb 07 jari 139
2 26 Feb 07 jari 140       String data = URLEncoder.encode("PHPSESSID", "UTF-8") + "=" + URLEncoder.encode(this.get_session(), "UTF-8");
2 26 Feb 07 jari 141       //System.out.println("URL: " + URL_LOLA + FILE_LOGOUT);
2 26 Feb 07 jari 142       // Send data
2 26 Feb 07 jari 143       URL url = new URL(URL_LOLA + FILE_LOGOUT);
2 26 Feb 07 jari 144       URLConnection conn = url.openConnection();
2 26 Feb 07 jari 145       conn.setDoOutput(true);
2 26 Feb 07 jari 146       OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
2 26 Feb 07 jari 147       wr.write(data);
2 26 Feb 07 jari 148       wr.flush();
2 26 Feb 07 jari 149       System.out.println("Logged out");
2 26 Feb 07 jari 150   }
2 26 Feb 07 jari 151   catch (Exception e) {
2 26 Feb 07 jari 152   }
2 26 Feb 07 jari 153     }
2 26 Feb 07 jari 154
2 26 Feb 07 jari 155     public boolean submit_list( String gl_name, String gl_desc, /*String species, */String gl_list ){
2 26 Feb 07 jari 156
2 26 Feb 07 jari 157   // get species code from string
2 26 Feb 07 jari 158
2 26 Feb 07 jari 159   // submit list
2 26 Feb 07 jari 160
2 26 Feb 07 jari 161   try{
2 26 Feb 07 jari 162       String data = URLEncoder.encode("PHPSESSID", "UTF-8") + "=" + URLEncoder.encode(this.get_session(), "UTF-8");
2 26 Feb 07 jari 163       data += "&" + URLEncoder.encode("gl_name", "UTF-8") + "=" + URLEncoder.encode(gl_name, "UTF-8");
2 26 Feb 07 jari 164       data += "&" + URLEncoder.encode("gl_desc", "UTF-8") + "=" + URLEncoder.encode(gl_desc, "UTF-8");
2 26 Feb 07 jari 165
2 26 Feb 07 jari 166       // hard coded -- species id
2 26 Feb 07 jari 167             // from NCBI taxonomy database
2 26 Feb 07 jari 168             // rat = 10116
2 26 Feb 07 jari 169             // human = 9606
2 26 Feb 07 jari 170             // mouse = 10090
2 26 Feb 07 jari 171       data += "&" + URLEncoder.encode("genome_id", "UTF-8") + "=" + URLEncoder.encode("9606", "UTF-8");
2 26 Feb 07 jari 172
2 26 Feb 07 jari 173       // hard coded gene id type -- AFFY
2 26 Feb 07 jari 174       data += "&" + URLEncoder.encode("gene_id_type", "UTF-8") + "=" + URLEncoder.encode("2", "UTF-8");
2 26 Feb 07 jari 175       data += "&" + URLEncoder.encode("gl_list", "UTF-8") + "=" + URLEncoder.encode(gl_list, "UTF-8");
2 26 Feb 07 jari 176
2 26 Feb 07 jari 177
2 26 Feb 07 jari 178       System.out.println("URL: " + URL_LOLA + FILE_CONFIRM_LIST);
2 26 Feb 07 jari 179       // Send data
2 26 Feb 07 jari 180       URL url = new URL(URL_LOLA + FILE_CONFIRM_LIST);
2 26 Feb 07 jari 181       URLConnection conn = url.openConnection();
2 26 Feb 07 jari 182       conn.setDoOutput(true);
2 26 Feb 07 jari 183       OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
2 26 Feb 07 jari 184       //System.out.println(data);
2 26 Feb 07 jari 185       wr.write(data);
2 26 Feb 07 jari 186       wr.flush();
2 26 Feb 07 jari 187       //System.out.println("list confirmed?");
2 26 Feb 07 jari 188
2 26 Feb 07 jari 189
2 26 Feb 07 jari 190       // Get the response
2 26 Feb 07 jari 191       BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
2 26 Feb 07 jari 192       String line;
2 26 Feb 07 jari 193
2 26 Feb 07 jari 194       //line = rd.readLine();
2 26 Feb 07 jari 195       //sessid = get_sessid(line);
2 26 Feb 07 jari 196       //this.set_session( sessid );
2 26 Feb 07 jari 197       //System.out.println("Session id: " + this.get_session());
2 26 Feb 07 jari 198 /*
2 26 Feb 07 jari 199       while ((line = rd.readLine()) != null) {
2 26 Feb 07 jari 200     System.out.println(line);
2 26 Feb 07 jari 201     // Process line...
2 26 Feb 07 jari 202       }
2 26 Feb 07 jari 203 */
2 26 Feb 07 jari 204       wr.close();
2 26 Feb 07 jari 205       rd.close();
2 26 Feb 07 jari 206
2 26 Feb 07 jari 207   }
2 26 Feb 07 jari 208   catch (Exception e) {
2 26 Feb 07 jari 209             System.out.println("error in list submission");
2 26 Feb 07 jari 210             e.printStackTrace();
2 26 Feb 07 jari 211         }
2 26 Feb 07 jari 212   return true;
2 26 Feb 07 jari 213     }
2 26 Feb 07 jari 214
2 26 Feb 07 jari 215 public void create_list(){
2 26 Feb 07 jari 216   try {
2 26 Feb 07 jari 217
2 26 Feb 07 jari 218       String data = URLEncoder.encode("PHPSESSID", "UTF-8") + "=" + URLEncoder.encode(this.get_session(), "UTF-8");
2 26 Feb 07 jari 219       //System.out.println("URL: " + URL_LOLA + FILE_CREATE_LIST);
2 26 Feb 07 jari 220       // Send data
2 26 Feb 07 jari 221       URL url = new URL(URL_LOLA + FILE_CREATE_LIST);
2 26 Feb 07 jari 222       //HttpURLConnection conn = (HttpURLConnection) url.openConnection();
2 26 Feb 07 jari 223       URLConnection conn = url.openConnection();
2 26 Feb 07 jari 224       //conn.setFollowRedirects(true);
2 26 Feb 07 jari 225       conn.setDoOutput(true);
2 26 Feb 07 jari 226       OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
2 26 Feb 07 jari 227       wr.write(data);
2 26 Feb 07 jari 228       wr.flush();
2 26 Feb 07 jari 229
2 26 Feb 07 jari 230       BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
2 26 Feb 07 jari 231       String line;
2 26 Feb 07 jari 232
2 26 Feb 07 jari 233       line = rd.readLine();
2 26 Feb 07 jari 234       //sessid = get_sessid(line);
2 26 Feb 07 jari 235       //this.set_session( sessid );
2 26 Feb 07 jari 236       //System.out.println(line);
2 26 Feb 07 jari 237 /*
2 26 Feb 07 jari 238       while ((line = rd.readLine()) != null) {
2 26 Feb 07 jari 239     System.out.println(line);
2 26 Feb 07 jari 240     // Process line...
2 26 Feb 07 jari 241       }
2 26 Feb 07 jari 242 */
2 26 Feb 07 jari 243       wr.close();
2 26 Feb 07 jari 244       rd.close();
2 26 Feb 07 jari 245       System.out.println("Gene list saved in LOLA");
2 26 Feb 07 jari 246   }
2 26 Feb 07 jari 247   catch (Exception e) {
2 26 Feb 07 jari 248             System.out.println("error in createList()");
2 26 Feb 07 jari 249             e.printStackTrace();
2 26 Feb 07 jari 250   }
2 26 Feb 07 jari 251     }
2 26 Feb 07 jari 252
2 26 Feb 07 jari 253     private String get_sessid(String line){
2 26 Feb 07 jari 254   int start_name, end_name, end_sess;
2 26 Feb 07 jari 255   String sess_name = "PHPSESSID=";
2 26 Feb 07 jari 256   String sess_end = "-->";
2 26 Feb 07 jari 257
2 26 Feb 07 jari 258   start_name = line.indexOf(sess_name);
2 26 Feb 07 jari 259   end_name = start_name + sess_name.length();
2 26 Feb 07 jari 260   end_sess = line.indexOf(sess_end);
2 26 Feb 07 jari 261
2 26 Feb 07 jari 262   return line.substring(end_name, end_sess);
2 26 Feb 07 jari 263     }
2 26 Feb 07 jari 264 }
2 26 Feb 07 jari 265
2 26 Feb 07 jari 266