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>