KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > prefuse > data > io > sql > MySQLConnectionTest


1 package test.prefuse.data.io.sql;
2
3 import java.util.logging.Logger JavaDoc;
4
5 import javax.swing.JFrame JavaDoc;
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     // logger
17
private static final Logger JavaDoc s_logger
18         = Logger.getLogger(MySQLConnectionTest.class.getName());
19     
20     private Table m_table;
21     
22     public void testLoadFromMySQLDatabase() {
23         String JavaDoc host = "localhost";
24         String JavaDoc database = "friendster";
25         String JavaDoc user = "anonymous";
26         String JavaDoc password = "";
27         
28         String JavaDoc keyField = "uid";
29         String JavaDoc query1 = "SELECT profiles.* FROM profiles, graph WHERE " +
30             "(graph.uid1 = 186297 AND profiles.uid = graph.uid2)";
31         String JavaDoc query2 = "SELECT profiles.* FROM profiles, graph WHERE " +
32             "(graph.uid1 = 21721 AND profiles.uid = graph.uid2)";
33         
34         //String query = "SELECT gender, age, COUNT(*) FROM profiles GROUP BY gender,age";
35

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 JavaDoc e ) {
49             e.printStackTrace();
50             fail("Error connecting to database");
51         }
52         
53         // text-dump
54
StringBuffer JavaDoc sbuf = new StringBuffer JavaDoc('\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 JavaDoc 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 JavaDoc[] args) {
72         MySQLConnectionTest test = new MySQLConnectionTest();
73         test.testLoadFromMySQLDatabase();
74         
75         JFrame JavaDoc f = JPrefuseTable.showTableWindow(test.m_table);
76         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
77     }
78     
79 }
80
Popular Tags