| 1 6 7 package org.contineo.setup; 8 9 import java.io.BufferedReader ; 10 import java.io.FileInputStream ; 11 import java.io.InputStream ; 12 import java.io.InputStreamReader ; 13 import java.io.Reader ; 14 import java.util.ArrayList ; 15 import java.util.Iterator ; 16 import java.util.List ; 17 18 22 public class DBInit { 23 24 30 private DBCon con; 31 32 36 private List <String > list = new ArrayList <String >(); 37 38 39 40 public DBInit(String sqlfile) { 41 try { 42 ClassLoader loader = Thread.currentThread().getContextClassLoader(); 43 InputStream is = new FileInputStream (loader.getResource(sqlfile).toURI().getPath()); 44 BufferedReader reader = new BufferedReader (new InputStreamReader (is)); 45 con = new DBCon(); 46 parse(reader); 47 } catch (Exception e) { 48 e.printStackTrace(); 49 } 50 } 51 52 protected void parse(Reader reader) { 53 try { 54 int letter = 0; 55 StringBuffer stmt = new StringBuffer (); 56 while((letter = reader.read()) != -1) { 57 if (letter != 59) { 58 if (letter != 10 && letter != 13) 59 stmt.append((char)letter); 60 } else { 61 list.add(stmt.toString()); 62 stmt = new StringBuffer (); 63 } 64 } 65 } catch (Exception e) { 66 e.printStackTrace(); 67 } 68 } 69 70 public boolean testConnection() { 71 return con.testConnection(); 72 } 73 74 public String generate() { 75 StringBuffer result = new StringBuffer (); 76 try { 77 Iterator iter = list.iterator(); 78 while(iter.hasNext()) { 79 String query = (String )iter.next(); 80 int space1 = query.indexOf(" "); 81 int space2 = query.indexOf(" ", space1 + 1); 82 int space3 = query.indexOf(" ", space2 + 1); 83 result.append(query.substring(0, space3)); 84 try { 85 int updated = con.executeUpdate(query); 86 if (updated != 1 && query.toLowerCase().startsWith("insert")) 87 result.append(" ... Failed\n"); 88 else 89 result.append(" ... OK\n"); 90 } catch (UpdateException ue) { 91 result.append(" ... Failed\n"); 92 } 93 } 94 } catch (Exception e) { 95 e.printStackTrace(); 96 } 97 return result.toString(); 98 } 99 } 100 | Popular Tags |