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>