froehlich 01/11/08 15:47:02
Modified: apps/db/src/java/org/apache/avalon/db/test TestGUI.java
Log:
add XML parser to gui, for further LXSQL usage
Revision Changes Path
1.4 +71 -12
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/test/TestGUI.java
Index: TestGUI.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/test/TestGUI.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- TestGUI.java 2001/11/04 08:31:54 1.3
+++ TestGUI.java 2001/11/08 23:47:02 1.4
@@ -6,21 +6,32 @@
* the LICENSE file.
*/
package org.apache.avalon.db.test;
-
-import javax.swing.*;
-
+
+import java.awt.*;
+import java.awt.event.*;
+import java.io.StringReader;
+import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Driver;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
-
-import java.awt.*;
-import java.awt.event.*;
-import org.apache.avalon.db.driver.AvalonDBDriver;
+import javax.swing.*;
+import org.w3c.dom.Document;
+
+import org.w3c.dom.DocumentType;
+
+import org.w3c.dom.Element;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.avalon.db.driver.AvalonDBDriver;
/**
* TestGUI for testing the AvalonDB.
*
@@ -37,9 +48,19 @@
private final JTextField connectField = new JTextField();
private final JScrollPane inputAreaScrollPane = new JScrollPane();
private final JScrollPane outputAreaScrollPane = new JScrollPane();
+ private final String XMLHDR = "<?xml version=\"1.0\"
encoding=\"UTF-8\"?>\n";
+ private boolean isconnected = false;
+ protected DocumentBuilderFactory docBuilderFactory;
+ protected DocumentBuilder docBuilder;
public TestGUI() {
setupDBDriver();
+ try {
+ docBuilderFactory = DocumentBuilderFactory.newInstance();
+ docBuilder = docBuilderFactory.newDocumentBuilder();
+ } catch (ParserConfigurationException e) {
+ handleException(e);
+ }
}
public Component createComponents() {
@@ -52,9 +73,18 @@
public void actionPerformed(ActionEvent e) {
try {
if(!connectField.getText().equals("")) {
- System.out.println("Fired JDBC connect!");
- con =
DriverManager.getConnection(connectField.getText(),null);
- outputArea.setText("Connection established!");
+ if(!isconnected){
+ System.out.println("Fired JDBC connect!");
+ con =
DriverManager.getConnection(connectField.getText(),null);
+ outputArea.setText("Connection established!");
+ connect.setText("Re-Connect");
+ isconnected = true;
+ } else {
+ con.close();
+ con =
DriverManager.getConnection(connectField.getText(),null);
+ outputArea.setText("Reconnected!");
+ isconnected = true;
+ }
} else {
outputArea.setText("Please insert JDBC URL!");
}
@@ -68,9 +98,20 @@
execute.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(con != null) {
+ Statement statement = null;
try {
- Statement statement = con.createStatement();
- ResultSet rs =
statement.executeQuery(inputArea.getText());
+ statement = con.createStatement();
+ String action = parseInput(inputArea.getText());
+ if(action.equals("create-table")) {
+ outputArea.setText("Table created!");
+ int returnUpdate =
statement.executeUpdate(inputArea.getText());
+ } else if (action.equals("insert-into")) {
+ outputArea.setText("Row inserted!");
+ int returnUpdate =
statement.executeUpdate(inputArea.getText());
+ } else {
+ outputArea.setText("Query not implemented yet!");
+ }
+ statement.close();
} catch (SQLException slqe) {
handleException(slqe);
}
@@ -175,5 +216,23 @@
outputArea.setText("--------- UNCAUGHT EXCEPTION ---------" + "\n"
+ exception
+ "\n" + exception.getMessage());
+ }
+
+ private String parseInput(String str) {
+ StringReader sr = new StringReader(XMLHDR + str);
+ InputSource is = new InputSource(sr);
+
+ try {
+ Document doc = docBuilder.parse(is);
+ Element rootElement = doc.getDocumentElement();
+ System.out.println("rootElement=" + rootElement.getTagName());
+ return rootElement.getTagName();
+ } catch(SAXException sae) {
+ handleException(sae);
+ return "";
+ } catch(IOException ioe) {
+ handleException(ioe);
+ return "";
+ }
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>