-
Notifications
You must be signed in to change notification settings - Fork 1
/
XMLRead.java
101 lines (90 loc) · 3.06 KB
/
XMLRead.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package com.fr.data;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.io.StringBufferInputStream;
public class XMLRead extends AbstractTableData {
// the column names
private String[] columnNames = { "id", "name", "MemoryFreeSize",
"MemoryTotalSize", "MemoryUsage" };
// to save the data
private ArrayList valueList = null;
public int getColumnCount() {
return 5;
}
public String getColumnName(int columnIndex) {
return columnNames[columnIndex];
}
public int getRowCount() {
init();
return valueList.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
init();
return ((Object[]) valueList.get(rowIndex))[columnIndex];
}
private void init() {
// make sure no more repeated running
if (valueList != null) {
return;
}
valueList = new ArrayList();
String sql = "select * from xmltest";
String[] name = { "MemoryFreeSize", "MemoryTotalSize", "MemoryUsage" };
Connection conn = this.getConncetion();
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// store data with objects
Object[] objArray = null;
while (rs.next()) {
objArray = new Object[5];
String[] xmldata = null;
// ID
objArray[0] = rs.getObject(1);
// NAME
objArray[1] = rs.getObject(2);
// add a parent node
InputStream in = new StringBufferInputStream("<demo>"
+ rs.getObject(3).toString() + "</demo>");
GetXmlData getxmldata = new GetXmlData();
// read the xml stream and return the value array
xmldata = getxmldata.readerXMLSource(in, name);
// store the value in valueList
objArray[2] = xmldata[0];
objArray[3] = xmldata[1];
objArray[4] = xmldata[2];
valueList.add(objArray);
}
// release the data source
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public Connection getConncetion() {
// change to your own connection configuration
String driverName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/joe";
String username = "joe";
String password = "123456";
Connection con = null;
try {
Class.forName(driverName);
con = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return con;
}
public void release() throws Exception {
super.release();
this.valueList = null;
}
}