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/19 12:13:41 UTC

cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/stdhandlers CatalogHandler.java

hammant     01/11/19 03:13:41

  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/server
                        AbstractParser.java DBRequestContext.java
  Added:       apps/db/src/java/org/apache/avalon/db/server/stdhandlers
                        CatalogHandler.java
  Log:
  Catalog requests
  
  Revision  Changes    Path
  1.18      +2 -19     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.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- BasicLXSQLParser.java	2001/11/19 08:39:17	1.17
  +++ BasicLXSQLParser.java	2001/11/19 11:13:41	1.18
  @@ -11,6 +11,7 @@
   import org.apache.avalon.db.server.AbstractLXSQLParser;
   import org.apache.avalon.db.server.AbstractRequestHandler;
   import org.apache.avalon.db.server.stdhandlers.PingHandler;
  +import org.apache.avalon.db.server.stdhandlers.CatalogHandler;
   import org.apache.avalon.db.transport.Request;
   import org.apache.avalon.db.basic.handlers.lxsql.BasicLXSQLCreateTableHandler;
   import org.apache.avalon.db.basic.handlers.lxsql.BasicLXSQLCreateViewHandler;
  @@ -35,15 +36,8 @@
    */
   public class BasicLXSQLParser extends AbstractLXSQLParser {
   
  -    public AbstractRequestHandler[] getRequestHandlers() {
  -        AbstractRequestHandler[] handlers = new AbstractRequestHandler[1000];
  +    protected void getCustomRequestHandlers(AbstractRequestHandler[] handlers) {
   
  -        // standard
  -
  -        handlers[Request.PING] = new PingHandler();
  -
  -        // cusom basic / LXSQL
  -
           handlers[Request.CREATETABLE] = new BasicLXSQLCreateTableHandler(this,mDatabasePersistor);
           handlers[Request.CREATEVIEW] = new BasicLXSQLCreateViewHandler(this,mDatabasePersistor);
           handlers[Request.CREATEINDEX] = new BasicLXSQLCreateIndexHandler(this,mDatabasePersistor);
  @@ -54,17 +48,6 @@
           handlers[Request.DROPTABLE] = new BasicLXSQLDropTableHandler(this,mDatabasePersistor);
           handlers[Request.DROPVIEW] = new BasicLXSQLDropViewHandler(this,mDatabasePersistor);
           handlers[Request.DROPINDEX] = new BasicLXSQLDropIndexHandler(this,mDatabasePersistor);
  -
  -        // decorate them with logging capability.
  -        for (int i = 0; i < handlers.length; i++) {
  -            if (handlers[i] != null) {
  -                handlers[i].enableLogging(super.getLogger());
  -            }
  -        }
  -
  -
  -        //TODO more
  -        return handlers;
       }
   
       public void initializeAction(Action action) throws ActionException {
  
  
  
  1.8       +5 -7      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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- BCELLXSQLParser.java	2001/11/19 10:59:09	1.7
  +++ BCELLXSQLParser.java	2001/11/19 11:13:41	1.8
  @@ -58,13 +58,11 @@
       public void compose(ComponentManager componentManager) throws ComponentException {
           super.compose(componentManager);
           bcelHelper.setDatabasePersistor(mDatabasePersistor);
  -    }
  -
  -    public AbstractRequestHandler[] getRequestHandlers() {
  -        //TODO
  -        return new AbstractRequestHandler[0];
  -    }
  -
  +    }
  +
  +    protected void getCustomRequestHandlers(AbstractRequestHandler[] handlers) {
  +    }
  +
       public void initializeAction(Action action) throws ActionException {
           //TODO
       }
  
  
  
  1.13      +2 -5      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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- BCELSQLParser.java	2001/11/15 14:29:57	1.12
  +++ BCELSQLParser.java	2001/11/19 11:13:41	1.13
  @@ -44,7 +44,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.12 $
  + * @version $Revision: 1.13 $
    */
   public class BCELSQLParser extends AbstractSQLParser {
   
  @@ -55,10 +55,7 @@
           bcelHelper.setDatabasePersistor(mDatabasePersistor);
       }
   
  -
  -    public AbstractRequestHandler[] getRequestHandlers() {
  -        //TODO
  -        return new AbstractRequestHandler[0];
  +    protected void getCustomRequestHandlers(AbstractRequestHandler[] handlers) {
       }
   
       public void initializeAction(Action action) throws ActionException {
  
  
  
  1.4       +24 -1     jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/AbstractParser.java
  
  Index: AbstractParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/AbstractParser.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbstractParser.java	2001/11/10 21:45:03	1.3
  +++ AbstractParser.java	2001/11/19 11:13:41	1.4
  @@ -24,6 +24,9 @@
   import org.apache.avalon.db.services.DatabasePersistor;
   import org.apache.avalon.db.bcel.parser.GeneratedObjectClassLoader;
   import org.apache.avalon.db.actions.ActionException;
  +import org.apache.avalon.db.transport.Request;
  +import org.apache.avalon.db.server.stdhandlers.PingHandler;
  +import org.apache.avalon.db.server.stdhandlers.CatalogHandler;
   
   import java.util.HashMap;
   
  @@ -85,7 +88,27 @@
       }
   
   
  -    protected Class getJavaType(String sqlType) throws ActionException {
  +    public AbstractRequestHandler[] getRequestHandlers() {
  +
  +        AbstractRequestHandler[] handlers = new AbstractRequestHandler[1000];
  +        // standard
  +        handlers[Request.PING] = new PingHandler();
  +        handlers[Request.SETCATALOG] = new CatalogHandler();
  +        handlers[Request.CATALOGREQUEST] = new CatalogHandler();
  +
  +        // decorate them with logging capability.
  +        for (int i = 0; i < handlers.length; i++) {
  +            if (handlers[i] != null) {
  +                handlers[i].enableLogging(super.getLogger());
  +            }
  +        }
  +        return handlers;
  +    }
  +
  +    protected abstract void getCustomRequestHandlers(AbstractRequestHandler[] handlers);
  +
  +
  +    protected Class ggetJavaType(String sqlType) throws ActionException {
   
           System.out.println("Type=(" + sqlType + ")");
   
  
  
  
  1.3       +3 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/DBRequestContext.java
  
  Index: DBRequestContext.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/DBRequestContext.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DBRequestContext.java	2001/11/19 10:20:25	1.2
  +++ DBRequestContext.java	2001/11/19 11:13:41	1.3
  @@ -9,10 +9,12 @@
   package org.apache.avalon.db.server;
   
   import org.apache.avalon.db.data.User;
  +import org.apache.avalon.db.data.Catalog;
   
   public interface DBRequestContext  {
   
       User getUser();
  -    String getCurrentCatalog();
  +    Catalog getCurrentCatalog();
  +    void setCurrentCatalog(String catalogName);
   
   }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/stdhandlers/CatalogHandler.java
  
  Index: CatalogHandler.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.server.stdhandlers;
  
  import org.apache.avalon.db.server.AbstractRequestHandler;
  import org.apache.avalon.db.server.DBRequestContext;
  import org.apache.avalon.db.transport.Reply;
  import org.apache.avalon.db.transport.Request;
  import org.apache.avalon.db.transport.PingReply;
  import org.apache.avalon.db.transport.CatalogRequest;
  import org.apache.avalon.db.transport.CatalogReply;
  import org.apache.avalon.db.actions.ActionException;
  import org.apache.avalon.db.services.DatabasePersistor;
  
  public class CatalogHandler extends AbstractRequestHandler {
  
      public Reply handleRequest(DBRequestContext context, Request request) throws ActionException {
          CatalogRequest cr = (CatalogRequest) request;
          if (request.getRequestCode() == Request.CATALOGREQUEST) {
              context.setCurrentCatalog(cr.getCatalog());
          } else { // SETCATALOG
          }
          return new CatalogReply(context.getCurrentCatalog().getName());
      }
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>