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>