You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2001/11/15 13:40:30 UTC
cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/services SQLParser.java
hammant 01/11/15 04:40:30
Modified: apps/db/src/java/org/apache/avalon/db/basic/parser
BasicLXSQLParser.java
apps/db/src/java/org/apache/avalon/db/bcel/parser
BCELLXSQLParser.java BCELSQLParser.java
apps/db/src/java/org/apache/avalon/db/driver/lxsql
LXSQLParserHelper.java
apps/db/src/java/org/apache/avalon/db/server
AbstractDatabaseManager.java
apps/db/src/java/org/apache/avalon/db/services
SQLParser.java
Added: apps/db/src/java/org/apache/avalon/db/actions
DeleteRows.java
apps/db/src/java/org/apache/avalon/db/basic/actions
BasicDeleteRows.java
Removed: apps/db/src/java/org/apache/avalon/db/actions Delete.java
Log:
start of delete
Revision Changes Path
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DeleteRows.java
Index: DeleteRows.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.actions;
/**
* Interface DeleteRows
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version * $Revision: 1.1 $
*/
public interface DeleteRows extends WriteAction {}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicDeleteRows.java
Index: BasicDeleteRows.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.basic.actions;
import org.apache.avalon.db.actions.impl.AbstractAction;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.DeleteRows;
import org.apache.avalon.db.data.Queryable;
import org.apache.avalon.framework.logger.LogEnabled;
import org.w3c.dom.Document;
/**
* Class BasicDeleteRows
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class BasicDeleteRows extends AbstractAction implements DeleteRows ,LogEnabled {
private Document mDocument;
private Queryable mQueryable;
private int mRecordCount;
/**
* Constructor BasicDeleteRows
*
*
* @param table
* @param document
*
*/
public BasicDeleteRows(Queryable queryable, Document document) {
mQueryable = queryable;
mDocument = document;
}
public void initialize() throws ActionException {
getLogger().debug("BasicDeleteRows.initialize()");
}
/**
* Method execute
*
*
*/
public void execute() throws ActionException {
//TODO
}
public int getRecordCount() {
return mRecordCount;
}
}
1.13 +14 -0 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/parser/BasicLXSQLParser.java
Index: BasicLXSQLParser.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/parser/BasicLXSQLParser.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- BasicLXSQLParser.java 2001/11/15 12:03:51 1.12
+++ BasicLXSQLParser.java 2001/11/15 12:40:30 1.13
@@ -15,12 +15,15 @@
import org.apache.avalon.db.actions.Insert;
import org.apache.avalon.db.actions.CreateView;
import org.apache.avalon.db.actions.CreateIndex;
+import org.apache.avalon.db.actions.DeleteRows;
import org.apache.avalon.db.transport.SelectRequest;
import org.apache.avalon.db.transport.CreateTableRequest;
import org.apache.avalon.db.transport.InsertRequest;
import org.apache.avalon.db.transport.CreateViewRequest;
import org.apache.avalon.db.transport.CreateIndexRequest;
+import org.apache.avalon.db.transport.DeleteRequest;
import org.apache.avalon.db.data.Column;
+import org.apache.avalon.db.data.Queryable;
import org.apache.avalon.db.data.impl.AbstractColumn;
import org.apache.avalon.db.bcel.actions.AbstractBCELAction;
import org.apache.avalon.db.basic.actions.BasicCreateTable;
@@ -28,6 +31,7 @@
import org.apache.avalon.db.basic.actions.BasicSelect;
import org.apache.avalon.db.basic.actions.BasicCreateView;
import org.apache.avalon.db.basic.actions.BasicCreateIndex;
+import org.apache.avalon.db.basic.actions.BasicDeleteRows;
import org.apache.avalon.db.basic.data.BasicTable;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException;
@@ -161,4 +165,14 @@
}
+ public DeleteRows createDeleteRowsAction(DeleteRequest request) throws ActionException {
+ Document doc = parseLXSQLString(request.getSql());
+ Element rootElement = doc.getDocumentElement();
+ String queryableStr = rootElement.getAttribute("from");
+ Queryable queryable = (Queryable) mDatabasePersistor.getQueryable(queryableStr);
+ DeleteRows action = new BasicDeleteRows(queryable, doc);
+ action.setDatabasePersistor(mDatabasePersistor);
+
+ return action;
+ }
}
1.5 +5 -0 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELLXSQLParser.java
Index: BCELLXSQLParser.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELLXSQLParser.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- BCELLXSQLParser.java 2001/11/12 23:09:56 1.4
+++ BCELLXSQLParser.java 2001/11/15 12:40:30 1.5
@@ -19,10 +19,12 @@
import org.apache.avalon.db.actions.CreateTable;
import org.apache.avalon.db.actions.Insert;
import org.apache.avalon.db.actions.CreateView;
+import org.apache.avalon.db.actions.DeleteRows;
import org.apache.avalon.db.transport.SelectRequest;
import org.apache.avalon.db.transport.CreateTableRequest;
import org.apache.avalon.db.transport.InsertRequest;
import org.apache.avalon.db.transport.CreateViewRequest;
+import org.apache.avalon.db.transport.DeleteRequest;
import org.apache.avalon.db.data.Column;
import org.apache.avalon.db.data.impl.AbstractColumn;
import org.apache.avalon.framework.component.ComponentManager;
@@ -188,4 +190,7 @@
return null; //TODO
}
+ public DeleteRows createDeleteRowsAction(DeleteRequest request) throws ActionException {
+ return null;
+ }
}
1.11 +7 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELSQLParser.java
Index: BCELSQLParser.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELSQLParser.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- BCELSQLParser.java 2001/11/12 23:09:56 1.10
+++ BCELSQLParser.java 2001/11/15 12:40:30 1.11
@@ -14,10 +14,12 @@
import org.apache.avalon.db.actions.CreateTable;
import org.apache.avalon.db.actions.Insert;
import org.apache.avalon.db.actions.CreateView;
+import org.apache.avalon.db.actions.DeleteRows;
import org.apache.avalon.db.transport.SelectRequest;
import org.apache.avalon.db.transport.CreateTableRequest;
import org.apache.avalon.db.transport.InsertRequest;
import org.apache.avalon.db.transport.CreateViewRequest;
+import org.apache.avalon.db.transport.DeleteRequest;
import org.apache.avalon.db.utils.StringUtils;
import org.apache.avalon.db.data.impl.AbstractColumn;
import org.apache.avalon.db.data.Column;
@@ -40,7 +42,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public class BCELSQLParser extends AbstractSQLParser {
@@ -155,5 +157,9 @@
public CreateView createCreateViewAction(CreateViewRequest request) throws ActionException {
return null; //TODO
+ }
+
+ public DeleteRows createDeleteRowsAction(DeleteRequest request) throws ActionException {
+ return null;
}
}
1.5 +2 -0 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/lxsql/LXSQLParserHelper.java
Index: LXSQLParserHelper.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/lxsql/LXSQLParserHelper.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- LXSQLParserHelper.java 2001/11/09 15:03:20 1.4
+++ LXSQLParserHelper.java 2001/11/15 12:40:30 1.5
@@ -37,6 +37,8 @@
request = new CreateViewRequest(sql);
} else if (sql.startsWith("<create-index")) {
request = new CreateIndexRequest(sql);
+ } else if (sql.startsWith("<delete-rows")) {
+ request = new DeleteRequest(sql);
//TODO
} else {
throw new SQLException("Unknown SQL instruction (first term)");
1.20 +13 -1 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.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- AbstractDatabaseManager.java 2001/11/14 03:06:59 1.19
+++ AbstractDatabaseManager.java 2001/11/15 12:40:30 1.20
@@ -20,6 +20,7 @@
import org.apache.avalon.db.actions.CreateTable;
import org.apache.avalon.db.actions.Insert;
import org.apache.avalon.db.actions.CreateView;
+import org.apache.avalon.db.actions.DeleteRows;
import org.apache.avalon.db.transport.Request;
import org.apache.avalon.db.transport.Reply;
import org.apache.avalon.db.transport.SelectReply;
@@ -32,6 +33,7 @@
import org.apache.avalon.db.transport.InsertRequest;
import org.apache.avalon.db.transport.CreateViewRequest;
import org.apache.avalon.db.transport.PingReply;
+import org.apache.avalon.db.transport.DeleteRequest;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.ComponentException;
@@ -43,7 +45,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.19 $
+ * @version $Revision: 1.20 $
*/
public abstract class AbstractDatabaseManager extends AbstractLogEnabled implements Composable {
@@ -87,6 +89,8 @@
return processCreateTableRequest((CreateTableRequest) request);
case (Request.CREATEVIEW) :
return processCreateViewRequest((CreateViewRequest) request);
+ case (Request.DELETE) :
+ return processDeleteRequest((DeleteRequest) request);
case (Request.INSERT) :
return processInsertRequest((InsertRequest) request);
case (Request.PING) :
@@ -128,6 +132,14 @@
cv.initialize();
cv.execute();
return new UpdateReply(cv.getRecordCount());
+ }
+
+ public Reply processDeleteRequest(DeleteRequest deleteRequest) throws ActionException {
+ DeleteRows dr = mSQLParser.createDeleteRowsAction(deleteRequest);
+ this.setupLogger(dr);
+ dr.initialize();
+ dr.execute();
+ return new UpdateReply(dr.getRecordCount());
}
1.6 +5 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/services/SQLParser.java
Index: SQLParser.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/services/SQLParser.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SQLParser.java 2001/11/09 13:55:34 1.5
+++ SQLParser.java 2001/11/15 12:40:30 1.6
@@ -16,11 +16,13 @@
import org.apache.avalon.db.actions.Insert;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.CreateView;
+import org.apache.avalon.db.actions.DeleteRows;
import org.apache.avalon.db.transport.Request;
import org.apache.avalon.db.transport.SelectRequest;
import org.apache.avalon.db.transport.CreateTableRequest;
import org.apache.avalon.db.transport.InsertRequest;
import org.apache.avalon.db.transport.CreateViewRequest;
+import org.apache.avalon.db.transport.DeleteRequest;
/**
@@ -28,7 +30,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version * $Revision: 1.5 $
+ * @version * $Revision: 1.6 $
*/
public interface SQLParser {
@@ -68,4 +70,6 @@
Insert createInsertAction(InsertRequest request) throws ActionException;
CreateView createCreateViewAction(CreateViewRequest request) throws ActionException;
+
+ DeleteRows createDeleteRowsAction(DeleteRequest request) throws ActionException;
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>