first nosql version
[jabaws.git] / webservices / compbio / nosql / src / combio / cassandra / DataParsing.java
diff --git a/webservices/compbio/nosql/src/combio/cassandra/DataParsing.java b/webservices/compbio/nosql/src/combio/cassandra/DataParsing.java
new file mode 100644 (file)
index 0000000..1a03ce4
--- /dev/null
@@ -0,0 +1,98 @@
+package combio.cassandra;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+public class DataParsing {
+       private CassandraCreate cc = new CassandraCreate();
+       
+       public void ParsingTest(String input) {
+               System.out.println("Inserting.....");
+               URL url, urltable;
+//             int count = 0;
+//             int countNotM = 0;
+//             int countEr = 0;
+//             int countEmp = 0;
+               Calendar cal = Calendar.getInstance();
+               String date = cal.get(Calendar.YEAR) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.DAY_OF_MONTH);     
+               try {
+                       url = new URL(input);
+                       URLConnection conn = url.openConnection();
+                       BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+                       String line;    
+                       
+                       while ((line = br.readLine()) != null) {
+                               if (line.matches(date + "(.*)jp_[^\\s]+")) {    
+                                       String[] table;
+                                       table = line.split("\\s+");
+       //                              count++;
+                                               if (!cc.CheckIP(table[table.length - 1])) {             
+       //                                              countNotM++;
+                                                       urltable = new URL("http://www.compbio.dundee.ac.uk/www-jpred/results/" +table[table.length - 1]+"/"+table[table.length - 1]+".concise.fasta");
+                                                       HttpURLConnection httpConnection = (HttpURLConnection) urltable.openConnection();
+                                                       if (httpConnection.getResponseCode() > 200) {
+//                                                             countEr++;
+                                                               continue;                                       
+                                                       }
+                                                       try {
+                                                               BufferedReader br1 = new BufferedReader(new InputStreamReader(httpConnection.getInputStream()));
+                                                               String lineNext;
+                                                               String newProt = "";
+                                                               String jnetpred = "";
+                                                               while ((lineNext = br1.readLine()) != null) {
+                                                                       if (lineNext.equals(">QUERY")) {
+                                                                               while (!(lineNext = br1.readLine()).matches(">[^\\s]+"))
+                                                                                       newProt += lineNext;
+                                                                       } else if (lineNext.equals(">jnetpred")) {
+                                                                               while (!(lineNext = br1.readLine()).matches(">[^\\s]+"))
+                                                                                       jnetpred += lineNext;
+                                                                       }                                                               
+                                                               }
+                                                               br1.close();
+                                                               if (newProt.length() <= 1) {            
+               //                                                      countEmp++;
+                                                                       continue;
+                                                               }
+                                                               
+                                                               SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
+                                               
+                                                               String dateInString1 = table[0].substring(0, table[0].indexOf(":"));
+                                                               
+                                                               long dateWork1 = 0;     
+                                                                       
+                                                               try {
+                                                                       Date dat1 = formatter.parse(dateInString1);
+                                                                       dateWork1 = dat1.getTime();
+                                                                       
+                                                               } catch (ParseException e) {
+                                                                       e.printStackTrace();
+                                                               }
+                                                               cc.InsertData(dateWork1, table[0], table[1], table[2], table[table.length - 1], "OK", "OK", newProt, jnetpred);
+                                                       } catch (IOException e) {
+                                                               //                      e.printStackTrace();
+                                                       }       
+                                       //      }       
+                                       }
+                               } 
+                       }
+                       br.close();     
+//                     System.out.println("Match " + count);
+//                     System.out.println("Not Match " + countNotM);
+//                     System.out.println("Error " + countEr);
+//                     System.out.println("No protein " + countEmp);
+               } catch (MalformedURLException e) {
+                       e.printStackTrace();
+               } catch (IOException e) {
+                       e.printStackTrace();
+               }
+       }
+}