hammant 01/11/04 11:00:19
Modified: apps/db/src/java/org/apache/avalon/db/actions Action.java
apps/db/src/java/org/apache/avalon/db/bcel/actions
AbstractBCELAction.java BCELCreateTable.java
apps/db/src/java/org/apache/avalon/db/bcel/parser
LXSQLParser.java
apps/db/src/java/org/apache/avalon/db/server
AbstractDatabaseManager.java
apps/db/src/java/org/apache/avalon/db/test Tester.java
Log:
LXSQL parsing works now.
Revision Changes Path
1.5 +3 -1
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/Action.java
Index: Action.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/Action.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Action.java 2001/10/30 23:15:47 1.4
+++ Action.java 2001/11/04 19:00:19 1.5
@@ -9,6 +9,7 @@
package org.apache.avalon.db.actions;
import org.apache.avalon.db.services.DatabasePersistor;
+import org.apache.avalon.db.services.SQLParser;
/**
@@ -16,7 +17,8 @@
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version * $Revision: 1.4 $
+ * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
+ * @version * $Revision: 1.5 $
*/
public interface Action {
void execute() throws ActionException;
1.2 +4 -4
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/actions/AbstractBCELAction.java
Index: AbstractBCELAction.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/actions/AbstractBCELAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractBCELAction.java 2001/10/31 12:43:23 1.1
+++ AbstractBCELAction.java 2001/11/04 19:00:19 1.2
@@ -9,18 +9,18 @@
import org.apache.avalon.db.services.DatabasePersistor;
import org.apache.avalon.db.bcel.parser.GeneratedObjectClassLoader;
-import org.apache.avalon.db.bcel.parser.BCELSQLParser;
+import org.apache.avalon.db.bcel.parser.BaseBCELParser;
public class AbstractBCELAction {
protected DatabasePersistor mDatabasePersistor;
- protected BCELSQLParser mBCELSQLParser;
+ protected BaseBCELParser mBCELParser;
public void setDatabasePersistor(DatabasePersistor databasePersistor) {
mDatabasePersistor = databasePersistor;
}
- public void setBCELSQLParser(BCELSQLParser bcelSQLParser) {
- mBCELSQLParser = bcelSQLParser;
+ public void setBCELParser(BaseBCELParser bcelParser) {
+ mBCELParser = bcelParser;
}
}
1.3 +8 -5
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/actions/BCELCreateTable.java
Index: BCELCreateTable.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/actions/BCELCreateTable.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BCELCreateTable.java 2001/10/31 14:42:14 1.2
+++ BCELCreateTable.java 2001/11/04 19:00:19 1.3
@@ -27,7 +27,7 @@
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class BCELCreateTable extends AbstractBCELAction implements
CreateTable {
@@ -58,15 +58,18 @@
*
*/
public void execute() throws ActionException {
+ /*
if (mDatabasePersistor.tableExists(mTableName)) {
throw new ActionException("Table " + mTableName + " Already
Exists");
}
+ */
byte[] bytes = mPendingRowClass.getBytes();
- mBCELSQLParser.addGeneratedClass(mTableName, bytes);
- Class rowClass = mBCELSQLParser.getGeneratedClass(mTableName);
- Table table = new BCELTable(mTableName, (Column[])
mColumns.toArray(), rowClass);
- mDatabasePersistor.addTable(mTableName, table);
+ System.out.println("here 1");
+ mBCELParser.addGeneratedClass(mTableName, bytes);
+ //Class rowClass = mBCELSQLParser.getGeneratedClass(mTableName);
+ //Table table = new BCELTable(mTableName, (Column[])
mColumns.toArray(), rowClass);
+ //mDatabasePersistor.addTable(mTableName, table);
}
public int getRecordCount() {
1.4 +12 -12
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/LXSQLParser.java
Index: LXSQLParser.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/LXSQLParser.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- LXSQLParser.java 2001/11/04 11:26:14 1.3
+++ LXSQLParser.java 2001/11/04 19:00:19 1.4
@@ -21,6 +21,7 @@
import org.apache.avalon.db.transport.InsertRequest;
import org.apache.avalon.db.bcel.actions.BCELCreateTable;
import org.apache.avalon.db.bcel.actions.BCELInsertSingleValue;
+import org.apache.avalon.db.bcel.actions.AbstractBCELAction;
import org.apache.avalon.db.bcel.data.BCELTable;
import org.apache.avalon.db.data.Table;
import org.apache.avalon.db.data.Column;
@@ -52,11 +53,13 @@
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;
+
import java.util.StringTokenizer;
import java.util.Vector;
import java.util.HashMap;
@@ -71,7 +74,7 @@
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class LXSQLParser extends BaseBCELParser {
@@ -136,21 +139,17 @@
String docStr = XMLHDR + request.getSql();
System.out.println("docStr=" + docStr);
- //StringReader sr = new StringReader(XMLHDR + request.getSql());
- //InputSource is = new InputSource(sr);
- //StringReader sr2 = new StringReader(XMLHDR + request.getSql());
- ByteArrayInputStream bais = new
ByteArrayInputStream(docStr.getBytes());
+ StringReader sr = new StringReader(docStr);
+ InputSource is = new InputSource(sr);
try
{
- Document doc = mDocumentBuilder.parse(bais);
+ Document doc = mDocumentBuilder.parse(is);
+
+ Element rootElement = doc.getDocumentElement();
+ getLogger().debug("rootElement=" + rootElement.getTagName());
- System.out.println("doc" + doc);
- NamedNodeMap nnm = doc.getAttributes();
- System.out.println("nnm= " + nnm);
- Node n = nnm.getNamedItem("name");
- System.out.println("n=" + n);
- String tableName = n.getNodeValue();
+ String tableName = rootElement.getAttribute("name");
NodeList columnNodes =
doc.getElementsByTagName("columns/column");
@@ -184,6 +183,7 @@
CreateTable action = new BCELCreateTable(cg.getJavaClass(),
tableName, columns);
action.setDatabasePersistor(mDatabasePersistor);
+ ((AbstractBCELAction) action).setBCELParser(this);
return action;
}
catch (SAXException se)
1.10 +6 -2
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/AbstractDatabaseManager.java
Index: AbstractDatabaseManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/AbstractDatabaseManager.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- AbstractDatabaseManager.java 2001/11/03 15:02:07 1.9
+++ AbstractDatabaseManager.java 2001/11/04 19:00:19 1.10
@@ -37,7 +37,7 @@
*
*
* @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
*/
public abstract class AbstractDatabaseManager extends AbstractLoggable
implements Composable {
@@ -87,6 +87,7 @@
break;
}
} catch (ActionException ae) {
+ getLogger().error("processRequest(): Exception",ae);
return new ExceptionReply(ae.getMessage());
}
@@ -94,9 +95,12 @@
}
public Reply processSelectRequest(SelectRequest selectRequest) throws
ActionException {
+ getLogger().debug("mSQLParser=" + mSQLParser);
+ /*
SelectRequest optimizedSelectRequest =
mSQLOptimizer.optimizeSelectRequest(selectRequest);
- Select select =
mSQLParser.createSelectAction(optimizedSelectRequest);
+ */
+ Select select = mSQLParser.createSelectAction(selectRequest);
//optimizedSelectRequest);
select.execute();
return new ResultSetReply(select.getRowSet());
}
1.4 +1 -1
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/test/Tester.java
Index: Tester.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/test/Tester.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Tester.java 2001/11/04 11:26:14 1.3
+++ Tester.java 2001/11/04 19:00:19 1.4
@@ -25,7 +25,7 @@
private void test() throws Exception {
Statement st = mCon.createStatement();
- st.executeUpdate("<create-table><table
name=\"Fred\"/><columns><column name=\"wilma\" type=\"varchar\"
max=\"20\"/><column name=\"barney\" type=\"varchar\"
max=\"20\"/></columns></create-table>");
+ st.executeUpdate("<create-table name=\"Fred\"><columns><column
name=\"wilma\" type=\"varchar\" max=\"20\"/><column name=\"barney\"
type=\"varchar\" max=\"20\"/></columns></create-table>");
}
private void close() throws Exception {
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>