| 1 package test.prefuse.data.io.sql; 2 3 import java.util.logging.Logger ; 4 5 import javax.swing.JFrame ; 6 7 import junit.framework.TestCase; 8 import prefuse.data.Table; 9 import prefuse.data.io.sql.ConnectionFactory; 10 import prefuse.data.io.sql.DatabaseDataSource; 11 import prefuse.util.ui.JPrefuseTable; 12 import test.prefuse.TestConfig; 13 14 public class MySQLConnectionTest extends TestCase { 15 16 private static final Logger s_logger 18 = Logger.getLogger(MySQLConnectionTest.class.getName()); 19 20 private Table m_table; 21 22 public void testLoadFromMySQLDatabase() { 23 String host = "localhost"; 24 String database = "friendster"; 25 String user = "anonymous"; 26 String password = ""; 27 28 String keyField = "uid"; 29 String query1 = "SELECT profiles.* FROM profiles, graph WHERE " + 30 "(graph.uid1 = 186297 AND profiles.uid = graph.uid2)"; 31 String query2 = "SELECT profiles.* FROM profiles, graph WHERE " + 32 "(graph.uid1 = 21721 AND profiles.uid = graph.uid2)"; 33 34 36 s_logger.info(TestConfig.memUse()); 37 38 Table t = null; 39 try { 40 DatabaseDataSource db = ConnectionFactory.getMySQLConnection( 41 host, database, user, password); 42 43 s_logger.info(TestConfig.memUse()); 44 45 t = db.getData(t, query1, keyField); 46 db.loadData(t, query2, keyField); 47 48 } catch ( Exception e ) { 49 e.printStackTrace(); 50 fail("Error connecting to database"); 51 } 52 53 StringBuffer sbuf = new StringBuffer ('\n'); 55 sbuf.append("--[Table: ").append(t.getRowCount()).append(" rows, ") 56 .append(t.getColumnCount()).append(" cols]--\n"); 57 for (int c = 0, idx = -1; c < t.getColumnCount(); ++c) { 58 String name = t.getColumnType(c).getName(); 59 if ( (idx=name.lastIndexOf('.')) >= 0 ) 60 name = name.substring(idx+1); 61 sbuf.append(c).append("\t").append(name).append("\t") 62 .append(t.getColumnName(c)).append('\n'); 63 } 64 sbuf.append('\n'); 65 sbuf.append(TestConfig.memUse()).append('\n'); 66 s_logger.info(sbuf.toString()); 67 68 m_table = t; 69 } 70 71 public static void main(String [] args) { 72 MySQLConnectionTest test = new MySQLConnectionTest(); 73 test.testLoadFromMySQLDatabase(); 74 75 JFrame f = JPrefuseTable.showTableWindow(test.m_table); 76 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 77 } 78 79 } 80 | Popular Tags |