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/16 07:15:00 UTC
cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport UpdateRowsRequest.java Request.java WriteRequest.java UpdateRequest.java
hammant 01/11/15 22:15:00
Modified: apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql
BasicLXSQLCreateIndexHandler.java
BasicLXSQLCreateTableHandler.java
BasicLXSQLCreateViewHandler.java
BasicLXSQLDeleteRowsHandler.java
BasicLXSQLHandler.java
BasicLXSQLInsertRowsHandler.java
BasicLXSQLSelectSimpleHandler.java
apps/db/src/java/org/apache/avalon/db/basic/parser
BasicLXSQLParser.java
apps/db/src/java/org/apache/avalon/db/driver
AvalonDBStatement.java
apps/db/src/java/org/apache/avalon/db/driver/lxsql
LXSQLParserHelper.java
apps/db/src/java/org/apache/avalon/db/driver/sql
SQLParserHelper.java
apps/db/src/java/org/apache/avalon/db/transport Request.java
WriteRequest.java
Added: apps/db/src/java/org/apache/avalon/db/actions
UpdateRows.java
apps/db/src/java/org/apache/avalon/db/basic/actions
BasicUpdateRows.java
apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql
BasicLXSQLUpdateRowsHandler.java
apps/db/src/java/org/apache/avalon/db/transport
UpdateRowsRequest.java
Removed: apps/db/src/java/org/apache/avalon/db/actions Update.java
apps/db/src/java/org/apache/avalon/db/transport
UpdateRequest.java
Log:
Update handler & skeleton action
Revision Changes Path
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/UpdateRows.java
Index: UpdateRows.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 UpdateRows
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version * $Revision: 1.1 $
*/
public interface UpdateRows extends WriteAction {}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicUpdateRows.java
Index: BasicUpdateRows.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.UpdateRows;
import org.apache.avalon.db.data.Queryable;
import org.apache.avalon.framework.logger.LogEnabled;
import org.w3c.dom.Document;
/**
* Class BasicUpdateRows
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class BasicUpdateRows extends AbstractAction implements UpdateRows ,LogEnabled {
private Document mDocument;
private Queryable mQueryable;
private int mRecordCount;
/**
* Constructor BasicUpdateRows
*
*
* @param table
* @param document
*
*/
public BasicUpdateRows(Queryable queryable, Document document) {
mQueryable = queryable;
mDocument = document;
}
public void initialize() throws ActionException {
getLogger().debug("BasicUpdateRows.initialize()");
}
/**
* Method execute
*
*
*/
public void execute() throws ActionException {
//TODO
}
public int getRecordCount() {
return mRecordCount;
}
}
1.2 +35 -6 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateIndexHandler.java
Index: BasicLXSQLCreateIndexHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateIndexHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicLXSQLCreateIndexHandler.java 2001/11/15 14:29:56 1.1
+++ BasicLXSQLCreateIndexHandler.java 2001/11/16 06:14:59 1.2
@@ -6,9 +6,10 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-
package org.apache.avalon.db.basic.handlers.lxsql;
+
+
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.basic.actions.BasicCreateIndex;
import org.apache.avalon.db.services.DatabasePersistor;
@@ -18,32 +19,60 @@
import org.apache.avalon.db.transport.UpdateReply;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.CreateIndex;
+
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+/**
+ * Class BasicLXSQLCreateIndexHandler
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version $Revision: 1.2 $
+ */
public class BasicLXSQLCreateIndexHandler extends BasicLXSQLHandler {
- public BasicLXSQLCreateIndexHandler(BasicLXSQLParser parser, DatabasePersistor databasePersistor) {
+ /**
+ * Constructor BasicLXSQLCreateIndexHandler
+ *
+ *
+ * @param parser
+ * @param databasePersistor
+ *
+ */
+ public BasicLXSQLCreateIndexHandler(BasicLXSQLParser parser,
+ DatabasePersistor databasePersistor) {
super(parser, databasePersistor);
}
+ /**
+ * Method handleRequest
+ *
+ *
+ * @param request
+ *
+ * @return
+ *
+ * @throws ActionException
+ *
+ */
public Reply handleRequest(Request request) throws ActionException {
- CreateIndexRequest cir = (CreateIndexRequest) request;
+ CreateIndexRequest cir = (CreateIndexRequest) request;
Document doc = mParser.parseLXSQLString(cir.getSql());
-
Element rootElement = doc.getDocumentElement();
String indexName = rootElement.getAttribute("name");
- if(mDatabasePersistor.queryableExists(indexName)) {
+ if (mDatabasePersistor.queryableExists(indexName)) {
throw new ActionException("Table/View/Index exists already");
} else {
CreateIndex action = new BasicCreateIndex(indexName, doc);
+
mParser.initializeAction(action);
action.execute();
+
return new UpdateReply(action.getRecordCount());
}
-
}
}
1.2 +35 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateTableHandler.java
Index: BasicLXSQLCreateTableHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateTableHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicLXSQLCreateTableHandler.java 2001/11/15 14:29:56 1.1
+++ BasicLXSQLCreateTableHandler.java 2001/11/16 06:14:59 1.2
@@ -6,9 +6,10 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-
package org.apache.avalon.db.basic.handlers.lxsql;
+
+
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.basic.actions.BasicCreateTable;
import org.apache.avalon.db.services.DatabasePersistor;
@@ -18,29 +19,59 @@
import org.apache.avalon.db.transport.UpdateReply;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.CreateTable;
+
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+/**
+ * Class BasicLXSQLCreateTableHandler
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version $Revision: 1.2 $
+ */
public class BasicLXSQLCreateTableHandler extends BasicLXSQLHandler {
- public BasicLXSQLCreateTableHandler(BasicLXSQLParser parser, DatabasePersistor databasePersistor) {
+ /**
+ * Constructor BasicLXSQLCreateTableHandler
+ *
+ *
+ * @param parser
+ * @param databasePersistor
+ *
+ */
+ public BasicLXSQLCreateTableHandler(BasicLXSQLParser parser,
+ DatabasePersistor databasePersistor) {
super(parser, databasePersistor);
}
+ /**
+ * Method handleRequest
+ *
+ *
+ * @param request
+ *
+ * @return
+ *
+ * @throws ActionException
+ *
+ */
public Reply handleRequest(Request request) throws ActionException {
+
CreateTableRequest ctr = (CreateTableRequest) request;
Document doc = mParser.parseLXSQLString(ctr.getSql());
-
Element rootElement = doc.getDocumentElement();
String tableName = rootElement.getAttribute("name");
- if(mDatabasePersistor.queryableExists(tableName)) {
+ if (mDatabasePersistor.queryableExists(tableName)) {
throw new ActionException("Table/View/Index exists already");
} else {
CreateTable action = new BasicCreateTable(tableName, rootElement);
+
mParser.initializeAction(action);
action.execute();
+
return new UpdateReply(action.getRecordCount());
}
}
1.2 +35 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateViewHandler.java
Index: BasicLXSQLCreateViewHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateViewHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicLXSQLCreateViewHandler.java 2001/11/15 14:29:56 1.1
+++ BasicLXSQLCreateViewHandler.java 2001/11/16 06:14:59 1.2
@@ -6,9 +6,10 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-
package org.apache.avalon.db.basic.handlers.lxsql;
+
+
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.basic.actions.BasicCreateView;
import org.apache.avalon.db.services.DatabasePersistor;
@@ -18,29 +19,59 @@
import org.apache.avalon.db.transport.UpdateReply;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.CreateView;
+
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+/**
+ * Class BasicLXSQLCreateViewHandler
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version $Revision: 1.2 $
+ */
public class BasicLXSQLCreateViewHandler extends BasicLXSQLHandler {
- public BasicLXSQLCreateViewHandler(BasicLXSQLParser parser, DatabasePersistor databasePersistor) {
+ /**
+ * Constructor BasicLXSQLCreateViewHandler
+ *
+ *
+ * @param parser
+ * @param databasePersistor
+ *
+ */
+ public BasicLXSQLCreateViewHandler(BasicLXSQLParser parser,
+ DatabasePersistor databasePersistor) {
super(parser, databasePersistor);
}
+ /**
+ * Method handleRequest
+ *
+ *
+ * @param request
+ *
+ * @return
+ *
+ * @throws ActionException
+ *
+ */
public Reply handleRequest(Request request) throws ActionException {
+
CreateViewRequest cvr = (CreateViewRequest) request;
Document doc = mParser.parseLXSQLString(cvr.getSql());
-
Element rootElement = doc.getDocumentElement();
String tableName = rootElement.getAttribute("name");
- if(mDatabasePersistor.queryableExists(tableName)) {
+ if (mDatabasePersistor.queryableExists(tableName)) {
throw new ActionException("Table/View/Index exists already");
} else {
CreateView action = new BasicCreateView(tableName, rootElement);
+
mParser.initializeAction(action);
action.execute();
+
return new UpdateReply(action.getRecordCount());
}
}
1.2 +34 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLDeleteRowsHandler.java
Index: BasicLXSQLDeleteRowsHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLDeleteRowsHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicLXSQLDeleteRowsHandler.java 2001/11/15 14:29:56 1.1
+++ BasicLXSQLDeleteRowsHandler.java 2001/11/16 06:14:59 1.2
@@ -6,9 +6,10 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-
package org.apache.avalon.db.basic.handlers.lxsql;
+
+
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.basic.actions.BasicDeleteRows;
import org.apache.avalon.db.services.DatabasePersistor;
@@ -19,27 +20,56 @@
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.DeleteRows;
import org.apache.avalon.db.data.Queryable;
+
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+/**
+ * Class BasicLXSQLDeleteRowsHandler
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version $Revision: 1.2 $
+ */
public class BasicLXSQLDeleteRowsHandler extends BasicLXSQLHandler {
- public BasicLXSQLDeleteRowsHandler(BasicLXSQLParser parser, DatabasePersistor databasePersistor) {
+ /**
+ * Constructor BasicLXSQLDeleteRowsHandler
+ *
+ *
+ * @param parser
+ * @param databasePersistor
+ *
+ */
+ public BasicLXSQLDeleteRowsHandler(BasicLXSQLParser parser,
+ DatabasePersistor databasePersistor) {
super(parser, databasePersistor);
}
+ /**
+ * Method handleRequest
+ *
+ *
+ * @param request
+ *
+ * @return
+ *
+ * @throws ActionException
+ *
+ */
public Reply handleRequest(Request request) throws ActionException {
+
DeleteRowsRequest cvr = (DeleteRowsRequest) request;
Document doc = mParser.parseLXSQLString(cvr.getSql());
-
Element rootElement = doc.getDocumentElement();
String queryableStr = rootElement.getAttribute("from");
Queryable queryable = (Queryable) mDatabasePersistor.getQueryable(queryableStr);
-
DeleteRows action = new BasicDeleteRows(queryable, doc);
+
mParser.initializeAction(action);
action.execute();
+
return new UpdateReply(action.getRecordCount());
}
}
1.2 +18 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLHandler.java
Index: BasicLXSQLHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicLXSQLHandler.java 2001/11/15 14:29:56 1.1
+++ BasicLXSQLHandler.java 2001/11/16 06:14:59 1.2
@@ -6,21 +6,37 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-
package org.apache.avalon.db.basic.handlers.lxsql;
+
+
import org.apache.avalon.db.server.AbstractRequestHandler;
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.services.DatabasePersistor;
+
+/**
+ * Class BasicLXSQLHandler
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version $Revision: 1.2 $
+ */
public abstract class BasicLXSQLHandler extends AbstractRequestHandler {
protected final BasicLXSQLParser mParser;
protected final DatabasePersistor mDatabasePersistor;
+ /**
+ * Constructor BasicLXSQLHandler
+ *
+ *
+ * @param parser
+ * @param databasePersistor
+ *
+ */
public BasicLXSQLHandler(BasicLXSQLParser parser, DatabasePersistor databasePersistor) {
mParser = parser;
mDatabasePersistor = databasePersistor;
}
-
}
1.2 +34 -3 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLInsertRowsHandler.java
Index: BasicLXSQLInsertRowsHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLInsertRowsHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicLXSQLInsertRowsHandler.java 2001/11/15 14:29:56 1.1
+++ BasicLXSQLInsertRowsHandler.java 2001/11/16 06:14:59 1.2
@@ -6,9 +6,10 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-
package org.apache.avalon.db.basic.handlers.lxsql;
+
+
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.basic.data.BasicTable;
import org.apache.avalon.db.basic.actions.BasicInsertRows;
@@ -20,28 +21,58 @@
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.InsertRows;
import org.apache.avalon.db.data.Queryable;
+
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+/**
+ * Class BasicLXSQLInsertRowsHandler
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version $Revision: 1.2 $
+ */
public class BasicLXSQLInsertRowsHandler extends BasicLXSQLHandler {
- public BasicLXSQLInsertRowsHandler(BasicLXSQLParser parser, DatabasePersistor databasePersistor) {
+ /**
+ * Constructor BasicLXSQLInsertRowsHandler
+ *
+ *
+ * @param parser
+ * @param databasePersistor
+ *
+ */
+ public BasicLXSQLInsertRowsHandler(BasicLXSQLParser parser,
+ DatabasePersistor databasePersistor) {
super(parser, databasePersistor);
}
+ /**
+ * Method handleRequest
+ *
+ *
+ * @param request
+ *
+ * @return
+ *
+ * @throws ActionException
+ *
+ */
public Reply handleRequest(Request request) throws ActionException {
+
InsertRowsRequest cvr = (InsertRowsRequest) request;
Document doc = mParser.parseLXSQLString(cvr.getSql());
-
Element rootElement = doc.getDocumentElement();
String queryableStr = rootElement.getAttribute("table-name");
Queryable queryable = (Queryable) mDatabasePersistor.getQueryable(queryableStr);
//TOTO should be able to work with views and indexes.
InsertRows action = new BasicInsertRows((BasicTable) queryable, doc);
+
mParser.initializeAction(action);
action.execute();
+
return new UpdateReply(action.getRecordCount());
}
}
1.2 +35 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLSelectSimpleHandler.java
Index: BasicLXSQLSelectSimpleHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLSelectSimpleHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicLXSQLSelectSimpleHandler.java 2001/11/15 14:29:56 1.1
+++ BasicLXSQLSelectSimpleHandler.java 2001/11/16 06:14:59 1.2
@@ -6,9 +6,10 @@
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
-
package org.apache.avalon.db.basic.handlers.lxsql;
+
+
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.basic.actions.BasicSelect;
import org.apache.avalon.db.services.DatabasePersistor;
@@ -18,24 +19,54 @@
import org.apache.avalon.db.transport.ResultSetReply;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.Select;
+
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+
+/**
+ * Class BasicLXSQLSelectSimpleHandler
+ *
+ *
+ * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
+ * @version $Revision: 1.2 $
+ */
public class BasicLXSQLSelectSimpleHandler extends BasicLXSQLHandler {
- public BasicLXSQLSelectSimpleHandler(BasicLXSQLParser parser, DatabasePersistor databasePersistor) {
+ /**
+ * Constructor BasicLXSQLSelectSimpleHandler
+ *
+ *
+ * @param parser
+ * @param databasePersistor
+ *
+ */
+ public BasicLXSQLSelectSimpleHandler(BasicLXSQLParser parser,
+ DatabasePersistor databasePersistor) {
super(parser, databasePersistor);
}
+ /**
+ * Method handleRequest
+ *
+ *
+ * @param request
+ *
+ * @return
+ *
+ * @throws ActionException
+ *
+ */
public Reply handleRequest(Request request) throws ActionException {
+
SelectRequest cvr = (SelectRequest) request;
Document doc = mParser.parseLXSQLString(cvr.getSql());
-
Element rootElement = doc.getDocumentElement();
-
Select action = new BasicSelect(rootElement);
+
mParser.initializeAction(action);
action.execute();
+
return new ResultSetReply(action.getRowSet());
}
}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLUpdateRowsHandler.java
Index: BasicLXSQLUpdateRowsHandler.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.handlers.lxsql;
import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
import org.apache.avalon.db.basic.actions.BasicUpdateRows;
import org.apache.avalon.db.services.DatabasePersistor;
import org.apache.avalon.db.transport.Reply;
import org.apache.avalon.db.transport.Request;
import org.apache.avalon.db.transport.UpdateReply;
import org.apache.avalon.db.transport.UpdateRowsRequest;
import org.apache.avalon.db.actions.ActionException;
import org.apache.avalon.db.actions.UpdateRows;
import org.apache.avalon.db.data.Queryable;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
* Class BasicLXSQLUpdateRowsHandler
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class BasicLXSQLUpdateRowsHandler extends BasicLXSQLHandler {
/**
* Constructor BasicLXSQLUpdateRowsHandler
*
*
* @param parser
* @param databasePersistor
*
*/
public BasicLXSQLUpdateRowsHandler(BasicLXSQLParser parser,
DatabasePersistor databasePersistor) {
super(parser, databasePersistor);
}
/**
* Method handleRequest
*
*
* @param request
*
* @return
*
* @throws ActionException
*
*/
public Reply handleRequest(Request request) throws ActionException {
UpdateRowsRequest urr = (UpdateRowsRequest) request;
Document doc = mParser.parseLXSQLString(urr.getSql());
Element rootElement = doc.getDocumentElement();
String queryableStr = rootElement.getAttribute("from");
Queryable queryable = (Queryable) mDatabasePersistor.getQueryable(queryableStr);
UpdateRows action = new BasicUpdateRows(queryable, doc);
mParser.initializeAction(action);
action.execute();
return new UpdateReply(action.getRecordCount());
}
}
1.15 +3 -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.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- BasicLXSQLParser.java 2001/11/15 14:29:57 1.14
+++ BasicLXSQLParser.java 2001/11/16 06:14:59 1.15
@@ -18,6 +18,7 @@
import org.apache.avalon.db.basic.handlers.lxsql.BasicLXSQLDeleteRowsHandler;
import org.apache.avalon.db.basic.handlers.lxsql.BasicLXSQLInsertRowsHandler;
import org.apache.avalon.db.basic.handlers.lxsql.BasicLXSQLSelectSimpleHandler;
+import org.apache.avalon.db.basic.handlers.lxsql.BasicLXSQLUpdateRowsHandler;
import org.apache.avalon.db.actions.Action;
import org.apache.avalon.db.actions.ActionException;
@@ -46,6 +47,8 @@
handlers[Request.DELETEROWS] = new BasicLXSQLDeleteRowsHandler(this,mDatabasePersistor);
handlers[Request.INSERTROWS] = new BasicLXSQLInsertRowsHandler(this,mDatabasePersistor);
handlers[Request.SELECTSIMPLE] = new BasicLXSQLSelectSimpleHandler(this,mDatabasePersistor);
+ handlers[Request.UPDATEROWS] = new BasicLXSQLUpdateRowsHandler(this,mDatabasePersistor);
+
//TODO more
return handlers;
}
1.8 +2 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBStatement.java
Index: AvalonDBStatement.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBStatement.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- AvalonDBStatement.java 2001/11/15 14:29:57 1.7
+++ AvalonDBStatement.java 2001/11/16 06:14:59 1.8
@@ -17,7 +17,7 @@
import org.apache.avalon.db.transport.UpdateReply;
import org.apache.avalon.db.transport.CloseRequest;
import org.apache.avalon.db.transport.InsertRowsRequest;
-import org.apache.avalon.db.transport.UpdateRequest;
+import org.apache.avalon.db.transport.UpdateRowsRequest;
import org.apache.avalon.db.transport.DeleteRowsRequest;
import java.sql.Statement;
@@ -33,7 +33,7 @@
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @author Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">g-froehlich@gmx.de</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public class AvalonDBStatement extends AbstractDriver implements Statement {
1.7 +2 -2 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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- LXSQLParserHelper.java 2001/11/15 14:29:57 1.6
+++ LXSQLParserHelper.java 2001/11/16 06:14:59 1.7
@@ -11,7 +11,7 @@
import org.apache.avalon.db.driver.AbstractParserHelper;
import org.apache.avalon.db.transport.Request;
import org.apache.avalon.db.transport.InsertRowsRequest;
-import org.apache.avalon.db.transport.UpdateRequest;
+import org.apache.avalon.db.transport.UpdateRowsRequest;
import org.apache.avalon.db.transport.DeleteRowsRequest;
import org.apache.avalon.db.transport.SelectRequest;
import org.apache.avalon.db.transport.CreateTableRequest;
@@ -26,7 +26,7 @@
if (sql.startsWith("<insert-into")) {
request = new InsertRowsRequest(sql);
} else if (sql.startsWith("<update")) {
- request = new UpdateRequest(sql);
+ request = new UpdateRowsRequest(sql);
} else if (sql.startsWith("<delete")) {
request = new DeleteRowsRequest(sql);
} else if (sql.startsWith("<select")) {
1.3 +2 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/sql/SQLParserHelper.java
Index: SQLParserHelper.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/sql/SQLParserHelper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SQLParserHelper.java 2001/11/15 14:29:57 1.2
+++ SQLParserHelper.java 2001/11/16 06:14:59 1.3
@@ -11,7 +11,7 @@
import org.apache.avalon.db.driver.AbstractParserHelper;
import org.apache.avalon.db.transport.Request;
import org.apache.avalon.db.transport.InsertRowsRequest;
-import org.apache.avalon.db.transport.UpdateRequest;
+import org.apache.avalon.db.transport.UpdateRowsRequest;
import org.apache.avalon.db.transport.DeleteRowsRequest;
import org.apache.avalon.db.transport.SelectRequest;
import org.apache.avalon.db.transport.CreateTableRequest;
@@ -24,7 +24,7 @@
if (sql.startsWith("INSERT")) {
request = new InsertRowsRequest(sql);
} else if (sql.startsWith("UPDATE")) {
- request = new UpdateRequest(sql);
+ request = new UpdateRowsRequest(sql);
} else if (sql.startsWith("DELETE")) {
request = new DeleteRowsRequest(sql);
} else if (sql.startsWith("SELECT")) {
1.11 +2 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/Request.java
Index: Request.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/Request.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Request.java 2001/11/15 14:29:57 1.10
+++ Request.java 2001/11/16 06:14:59 1.11
@@ -18,7 +18,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 abstract class Request implements Serializable {
@@ -38,7 +38,7 @@
public static final int SETCATALOG = 123;
public static final int CATALOGREQUEST = 124;
public static final int DELETEROWS = 125;
- public static final int UPDATE = 126;
+ public static final int UPDATEROWS = 126;
public static final int RESULTSETCLOSE = 127;
public static final int ALTER = 128;
public static final int GRANT = 129;
1.2 +2 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/WriteRequest.java
Index: WriteRequest.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/WriteRequest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WriteRequest.java 2001/10/29 15:18:16 1.1
+++ WriteRequest.java 2001/11/16 06:14:59 1.2
@@ -11,16 +11,16 @@
/**
- * Class UpdateRequest
+ * Class UpdateRowsRequest
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class WriteRequest extends SQLRequest {
/**
- * Constructor UpdateRequest
+ * Constructor UpdateRowsRequest
*
*
* @param sql
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/UpdateRowsRequest.java
Index: UpdateRowsRequest.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.transport;
/**
* Class UpdateRowsRequest
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class UpdateRowsRequest extends WriteRequest {
/**
* Constructor UpdateRowsRequest
*
*
* @param sql
*
*/
public UpdateRowsRequest(String sql) {
super(Request.UPDATEROWS, sql);
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>