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/23 15:41:08 UTC

cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server CMDConnectionHandler.java

hammant     01/11/23 06:41:08

  Modified:    apps/db/src/java/org/apache/avalon/db/basic/handlers
                        BasicCloseResultSetHandler.java
               apps/db/src/java/org/apache/avalon/db/basic/parser
                        BasicLXSQLParser.java
               apps/db/src/java/org/apache/avalon/db/basic/results
                        BasicRowSet.java
               apps/db/src/java/org/apache/avalon/db/driver
                        AbstractDriver.java AvalonDBCallableStatement.java
                        AvalonDBConnection.java
                        AvalonDBPreparedStatement.java
                        AvalonDBResultSet.java AvalonDBStatement.java
               apps/db/src/java/org/apache/avalon/db/persistence/inmemory
                        NoPersistence.java
               apps/db/src/java/org/apache/avalon/db/results RowSet.java
               apps/db/src/java/org/apache/avalon/db/server
                        AbstractParser.java
               apps/db/src/java/org/apache/avalon/db/services
                        DatabasePersistor.java
               apps/db/src/java/org/apache/avalon/db/transport Reply.java
                        Request.java
               apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server
                        CMDConnectionHandler.java
  Added:       apps/db/src/java/org/apache/avalon/db/server
                        DBStatement.java DefaultDBStatement.java
               apps/db/src/java/org/apache/avalon/db/server/stdhandlers
                        MakeStatementHandler.java
               apps/db/src/java/org/apache/avalon/db/transport
                        CloseConnectionRequest.java
                        CloseResultSetRequest.java
                        CloseStatementRequest.java MakeStatementReply.java
                        MakeStatementRequest.java
  Removed:     apps/db/src/java/org/apache/avalon/db/transport
                        CloseRequest.java
  Log:
  separate close requests, make statement logic
  
  Revision  Changes    Path
  1.2       +3 -3      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/BasicCloseResultSetHandler.java
  
  Index: BasicCloseResultSetHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/BasicCloseResultSetHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BasicCloseResultSetHandler.java	2001/11/23 12:06:56	1.1
  +++ BasicCloseResultSetHandler.java	2001/11/23 14:41:07	1.2
  @@ -13,7 +13,7 @@
   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.CloseRequest;
  +import org.apache.avalon.db.transport.CloseResultSetRequest;
   import org.apache.avalon.db.transport.CloseReply;
   import org.apache.avalon.db.actions.ActionException;
   
  @@ -23,7 +23,7 @@
    *
    *
    * @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 BasicCloseResultSetHandler extends AbstractRequestHandler {
   
  @@ -50,7 +50,7 @@
        *
        */
       public Reply handleRequest(DBRequestContext context, Request request) throws ActionException {
  -        CloseRequest cr = (CloseRequest) request;
  +        CloseResultSetRequest cr = (CloseResultSetRequest) request;
           //TODO find and close the "open" result set
           return new CloseReply();
       }
  
  
  
  1.22      +1 -1      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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- BasicLXSQLParser.java	2001/11/23 12:06:57	1.21
  +++ BasicLXSQLParser.java	2001/11/23 14:41:07	1.22
  @@ -50,7 +50,7 @@
           handlers[Request.DROPTABLE] = new BasicLXSQLDropTableHandler(this,mDatabasePersistor);
           handlers[Request.DROPVIEW] = new BasicLXSQLDropViewHandler(this,mDatabasePersistor);
           handlers[Request.DROPINDEX] = new BasicLXSQLDropIndexHandler(this,mDatabasePersistor);
  -        handlers[Request.RESULTSETCLOSE] = new BasicCloseResultSetHandler(mDatabasePersistor);
  +        handlers[Request.CLOSERESULTSET] = new BasicCloseResultSetHandler(mDatabasePersistor);
       }
   
       public void initializeAction(Action action) throws ActionException {
  
  
  
  1.4       +7 -0      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/results/BasicRowSet.java
  
  Index: BasicRowSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/results/BasicRowSet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BasicRowSet.java	2001/11/11 14:48:49	1.3
  +++ BasicRowSet.java	2001/11/23 14:41:07	1.4
  @@ -22,12 +22,19 @@
       private Columns mColumns;
       private Vector mRows;
       private int mRowCount;
  +    private static int ROWSETID;
  +    private String mRowSetID;
   
   
       public BasicRowSet(Columns columns, Vector selectedRows) {
           mRows = selectedRows;
           mColumns = columns;
           mRowCount = mRows.size();
  +        mRowSetID = "RS:" + ROWSETID++ + Math.random();
  +    }
  +
  +    public String getRowSetID() {
  +        return mRowSetID;
       }
   
       public Columns getColumns() {
  
  
  
  1.4       +4 -3      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AbstractDriver.java
  
  Index: AbstractDriver.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AbstractDriver.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbstractDriver.java	2001/11/01 08:19:28	1.3
  +++ AbstractDriver.java	2001/11/23 14:41:07	1.4
  @@ -24,7 +24,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    */
   public class AbstractDriver {
   
  @@ -51,7 +51,8 @@
                   int ix0 = str.indexOf("at ", 0);
                   int ix1 = str.indexOf("at ", ix0 + 1);
                   int ix2 = str.indexOf("at ", ix1 + 1);
  -                String str2 = str.substring(ix1 + 3, ix2).trim();
  +                int ix3 = str.indexOf("at ", ix2 + 1);
  +                String str2 = str.substring(ix2 + 3, ix3).trim();
   
                   return str2;
               } catch (IOException ioe) {
  @@ -72,7 +73,7 @@
        *
        *
        * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  -     * @version $Revision: 1.3 $
  +     * @version $Revision: 1.4 $
        */
       private class StackTraceException extends Exception {}
   }
  
  
  
  1.4       +4 -3      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBCallableStatement.java
  
  Index: AvalonDBCallableStatement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBCallableStatement.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AvalonDBCallableStatement.java	2001/11/01 08:19:28	1.3
  +++ AvalonDBCallableStatement.java	2001/11/23 14:41:07	1.4
  @@ -42,17 +42,18 @@
    *
    * @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.3 $
  + * @version $Revision: 1.4 $
    */
   public class AvalonDBCallableStatement extends AvalonDBStatement implements CallableStatement {
   
       private String mSQL;
   
  -    public AvalonDBCallableStatement(AvalonDBConnection avalonDBConnection, String sql) {
  +    public AvalonDBCallableStatement(AvalonDBConnection avalonDBConnection, String sql) throws SQLException {
           super(avalonDBConnection);
           mSQL = sql;
       }
  -    public AvalonDBCallableStatement(AvalonDBConnection avalonDBConnection, String sql, int resultSetType, int resultSetConcurrency) {
  +
  +    public AvalonDBCallableStatement(AvalonDBConnection avalonDBConnection, String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
           super(avalonDBConnection,resultSetType,resultSetConcurrency);
                   mSQL = sql;
       }
  
  
  
  1.8       +3 -3      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBConnection.java
  
  Index: AvalonDBConnection.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBConnection.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AvalonDBConnection.java	2001/11/14 03:26:06	1.7
  +++ AvalonDBConnection.java	2001/11/23 14:41:07	1.8
  @@ -16,7 +16,7 @@
   import org.apache.avalon.db.transport.Request;
   import org.apache.avalon.db.transport.AutoCommitRequest;
   import org.apache.avalon.db.transport.AutoCommitReply;
  -import org.apache.avalon.db.transport.CloseRequest;
  +import org.apache.avalon.db.transport.CloseConnectionRequest;
   import org.apache.avalon.db.transport.ReadOnlyRequest;
   import org.apache.avalon.db.transport.ReadOnlyReply;
   import org.apache.avalon.db.transport.TransactionIsolationRequest;
  @@ -42,7 +42,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 abstract class AvalonDBConnection extends AbstractDriver implements Connection {
   
  @@ -242,7 +242,7 @@
        * @exception SQLException if a database access error occurs
        */
       public void close() throws SQLException {
  -        Reply reply = sendRequest(new CloseRequest());
  +        Reply reply = sendRequest(new CloseConnectionRequest());
           handleSQLException(reply);
           closeConnection();
           closed = true;
  
  
  
  1.6       +3 -3      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBPreparedStatement.java
  
  Index: AvalonDBPreparedStatement.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBPreparedStatement.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AvalonDBPreparedStatement.java	2001/11/09 00:26:23	1.5
  +++ AvalonDBPreparedStatement.java	2001/11/23 14:41:07	1.6
  @@ -38,7 +38,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.5 $
  + * @version $Revision: 1.6 $
    */
   public class AvalonDBPreparedStatement extends AvalonDBStatement implements PreparedStatement {
   
  @@ -47,11 +47,11 @@
       private int mParamterCountPrep = 0;
       private int mParamterCountVal = 0;
   
  -    public AvalonDBPreparedStatement(AvalonDBConnection avalonDBConnection, String sql) {
  +    public AvalonDBPreparedStatement(AvalonDBConnection avalonDBConnection, String sql) throws SQLException {
           super(avalonDBConnection);
           mSQL = sql;
       }
  -    public AvalonDBPreparedStatement(AvalonDBConnection avalonDBConnection, String sql, int resultSetType, int resultSetConcurrency) {
  +    public AvalonDBPreparedStatement(AvalonDBConnection avalonDBConnection, String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
           super(avalonDBConnection,resultSetType,resultSetConcurrency);
           mSQL = sql;
       }
  
  
  
  1.8       +13 -18    jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBResultSet.java
  
  Index: AvalonDBResultSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBResultSet.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AvalonDBResultSet.java	2001/11/23 13:32:32	1.7
  +++ AvalonDBResultSet.java	2001/11/23 14:41:07	1.8
  @@ -8,22 +8,12 @@
    */
   package org.apache.avalon.db.driver;
   
  -
  -
  -import org.apache.avalon.db.common.FeatureNotImplemented;
  -import org.apache.avalon.db.transport.ResultSetReply;
   import org.apache.avalon.db.results.RowSet;
   import org.apache.avalon.db.results.Columns;
  -import org.apache.avalon.db.data.Row;
  -
  -
  -import java.math.BigDecimal;
  -
  -import java.io.InputStream;
  -import java.io.Reader;
  +import org.apache.avalon.db.transport.CloseResultSetRequest;
  +import org.apache.avalon.db.transport.Reply;
  +import org.apache.avalon.db.common.FeatureNotImplemented;
   
  -import java.util.Map;
  -import java.util.Calendar;
   import java.sql.ResultSet;
   import java.sql.SQLException;
   import java.sql.Date;
  @@ -31,11 +21,16 @@
   import java.sql.Timestamp;
   import java.sql.SQLWarning;
   import java.sql.ResultSetMetaData;
  -import java.sql.Statement;
  -import java.sql.Ref;
   import java.sql.Blob;
  -import java.sql.Array;
   import java.sql.Clob;
  +import java.sql.Array;
  +import java.sql.Ref;
  +import java.sql.Statement;
  +import java.math.BigDecimal;
  +import java.io.InputStream;
  +import java.io.Reader;
  +import java.util.Map;
  +import java.util.Calendar;
   
   
   /**
  @@ -44,7 +39,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 AvalonDBResultSet extends AbstractDriver implements ResultSet {
   
  @@ -106,7 +101,7 @@
        * @exception SQLException if a database access error occurs
        */
       public void close() throws SQLException {
  -        debug();
  +        Reply reply = mAvalonDBConnection.sendRequest(new CloseResultSetRequest(mRowSet.getRowSetID()));
       }
   
       /**
  
  
  
  1.10      +17 -5     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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AvalonDBStatement.java	2001/11/23 12:40:20	1.9
  +++ AvalonDBStatement.java	2001/11/23 14:41:07	1.10
  @@ -15,10 +15,13 @@
   import org.apache.avalon.db.transport.Request;
   import org.apache.avalon.db.transport.WriteRequest;
   import org.apache.avalon.db.transport.WriteReply;
  -import org.apache.avalon.db.transport.CloseRequest;
  +import org.apache.avalon.db.transport.CloseConnectionRequest;
   import org.apache.avalon.db.transport.InsertRowsRequest;
   import org.apache.avalon.db.transport.UpdateRowsRequest;
   import org.apache.avalon.db.transport.DeleteRowsRequest;
  +import org.apache.avalon.db.transport.CloseStatementRequest;
  +import org.apache.avalon.db.transport.MakeStatementRequest;
  +import org.apache.avalon.db.transport.MakeStatementReply;
   
   import java.sql.Statement;
   import java.sql.ResultSet;
  @@ -33,7 +36,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.9 $
  + * @version $Revision: 1.10 $
    */
   public class AvalonDBStatement extends AbstractDriver implements Statement {
   
  @@ -43,19 +46,28 @@
       protected RowSet mRowSet;
       protected AvalonDBResultSet mResultSet;
       protected int mUpdateCount;
  +    protected String mStatementID;
   
       public AvalonDBStatement() {}
   
  -    public AvalonDBStatement(AvalonDBConnection avalonDBConnection) {
  +    public AvalonDBStatement(AvalonDBConnection avalonDBConnection) throws SQLException {
           mAvalonDBConnection = avalonDBConnection;
  +        initialize();
       }
   
  -    public AvalonDBStatement(AvalonDBConnection avalonDBConnection, int resultSetType, int resultSetConcurrency) {
  +    public AvalonDBStatement(AvalonDBConnection avalonDBConnection, int resultSetType, int resultSetConcurrency) throws SQLException {
           mAvalonDBConnection = avalonDBConnection;
           mResultSetType = resultSetType;
           mResultSetConcurrency = resultSetConcurrency;
  +        initialize();
       }
   
  +    public void initialize() throws SQLException {
  +        MakeStatementReply reply = (MakeStatementReply) mAvalonDBConnection.sendRequest(new MakeStatementRequest(mStatementID));
  +        mStatementID = reply.getStatementID();
  +    }
  +
  +
       /**
        * Executes an SQL statement that returns a single <code>ResultSet</code> object.
        *
  @@ -116,7 +128,7 @@
        */
       public void close() throws SQLException {
           try {
  -          Reply reply = mAvalonDBConnection.sendRequest(new CloseRequest(mRowSet));
  +          Reply reply = mAvalonDBConnection.sendRequest(new CloseStatementRequest(mStatementID));
             handleSQLException(reply);
           } finally {
               mAvalonDBConnection = null;
  
  
  
  1.12      +10 -1     jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/persistence/inmemory/NoPersistence.java
  
  Index: NoPersistence.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/persistence/inmemory/NoPersistence.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- NoPersistence.java	2001/11/19 12:11:54	1.11
  +++ NoPersistence.java	2001/11/23 14:41:08	1.12
  @@ -19,6 +19,8 @@
   import org.apache.avalon.db.data.impl.DefaultUser;
   import org.apache.avalon.db.server.DBRequestContext;
   import org.apache.avalon.db.server.DefaultDBRequestContext;
  +import org.apache.avalon.db.server.DBStatement;
  +import org.apache.avalon.db.server.DefaultDBStatement;
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.avalon.framework.context.Contextualizable;
   import org.apache.avalon.framework.context.Context;
  @@ -40,7 +42,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.11 $
  + * @version $Revision: 1.12 $
    */
   public class NoPersistence extends AbstractLogEnabled
           implements DatabasePersistor, Block, Contextualizable, Composable, Configurable,
  @@ -48,6 +50,7 @@
   
       private HashMap mAddressableObjects = new HashMap();
       private DefaultDBRequestContext mDefaultDBRequestContext;
  +    private DefaultDBStatement mDefaultDBStatement;
   
       /**
        * Method contextualize
  @@ -91,6 +94,7 @@
        */
       public void initialize() throws Exception {
           mDefaultDBRequestContext = new DefaultDBRequestContext(this,new DefaultUser("Hello Ho Are You?", "hello"));
  +        mDefaultDBStatement = new DefaultDBStatement(this);
       }
   
       /**
  @@ -121,4 +125,9 @@
       public DBRequestContext getDBRequestContext(String requestContextID) {
           return mDefaultDBRequestContext;
       }
  +
  +    public DBStatement getDBStatement(String statementID) {
  +        return mDefaultDBStatement;
  +    }
  +
   }
  
  
  
  1.6       +2 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/results/RowSet.java
  
  Index: RowSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/results/RowSet.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RowSet.java	2001/11/12 22:14:29	1.5
  +++ RowSet.java	2001/11/23 14:41:08	1.6
  @@ -14,9 +14,10 @@
    *
    *
    * @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 RowSet extends Result {
  +    String getRowSetID();
       Columns getColumns();
       int getRowCount();
       int getPageNumber();
  
  
  
  1.9       +4 -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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AbstractParser.java	2001/11/23 12:06:57	1.8
  +++ AbstractParser.java	2001/11/23 14:41:08	1.9
  @@ -29,6 +29,7 @@
   import org.apache.avalon.db.server.stdhandlers.CatalogHandler;
   import org.apache.avalon.db.server.stdhandlers.EstablishConnectionHandler;
   import org.apache.avalon.db.server.stdhandlers.CloseHandler;
  +import org.apache.avalon.db.server.stdhandlers.MakeStatementHandler;
   
   import java.util.HashMap;
   
  @@ -98,7 +99,9 @@
           handlers[Request.SETCATALOG] = new CatalogHandler(mDatabasePersistor);
           handlers[Request.CATALOGREQUEST] = new CatalogHandler(mDatabasePersistor);
           handlers[Request.ESTABLISHCONNECTION] = new EstablishConnectionHandler(mDatabasePersistor);
  -        handlers[Request.CLOSE] = new CloseHandler(mDatabasePersistor);
  +        handlers[Request.CLOSECONNECTION] = new CloseHandler(mDatabasePersistor); //TODO
  +        handlers[Request.CLOSESTATEMENT] = new CloseHandler(mDatabasePersistor); //TODO
  +        handlers[Request.MAKESTATEMENT] = new MakeStatementHandler(mDatabasePersistor);
   
           // custom
           getCustomRequestHandlers(handlers);
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/DBStatement.java
  
  Index: DBStatement.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;
  
  public interface DBStatement  {
  
      String getStatementID();
  
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/DefaultDBStatement.java
  
  Index: DefaultDBStatement.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;
  
  import org.apache.avalon.db.services.DatabasePersistor;
  
  public class DefaultDBStatement implements DBStatement {
  
      private DatabasePersistor mDatabasePersistor;
      private static int IDSEQ;
      private String mStatementID;
  
      public DefaultDBStatement(DatabasePersistor databasePersistor) {
          mDatabasePersistor = databasePersistor;
          mStatementID = "STID:" + IDSEQ++ + ":" + Math.random();
      }
  
      public String getStatementID() {
          return mStatementID;
      }
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/server/stdhandlers/MakeStatementHandler.java
  
  Index: MakeStatementHandler.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.MakeStatementRequest;
  import org.apache.avalon.db.transport.MakeStatementReply;
  import org.apache.avalon.db.actions.ActionException;
  import org.apache.avalon.db.services.DatabasePersistor;
  
  
  /**
   * Class MakeStatementHandler
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class MakeStatementHandler extends AbstractRequestHandler {
  
      /**
       * Constructor MakeStatementHandler
       *
       *
       * @param databasePersistor
       *
       */
      public MakeStatementHandler(DatabasePersistor databasePersistor) {
          super(databasePersistor);
      }
  
      /**
       * Method handleRequest
       *
       *
       * @param context
       * @param request
       *
       * @return
       *
       * @throws ActionException
       *
       */
      public Reply handleRequest(DBRequestContext context, Request request) throws ActionException {
  
          MakeStatementRequest msr = (MakeStatementRequest) request;
  
          return new MakeStatementReply(mDatabasePersistor.getDBStatement("TODO")
              .getStatementID());
      }
  }
  
  
  
  1.10      +4 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/services/DatabasePersistor.java
  
  Index: DatabasePersistor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/services/DatabasePersistor.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DatabasePersistor.java	2001/11/19 12:11:54	1.9
  +++ DatabasePersistor.java	2001/11/23 14:41:08	1.10
  @@ -15,6 +15,7 @@
   import org.apache.avalon.db.data.Index;
   import org.apache.avalon.db.data.Queryable;
   import org.apache.avalon.db.server.DBRequestContext;
  +import org.apache.avalon.db.server.DBStatement;
   
   
   /**
  @@ -22,7 +23,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version * $Revision: 1.9 $
  + * @version * $Revision: 1.10 $
    */
   public interface DatabasePersistor {
   
  @@ -35,5 +36,7 @@
       void removeQueryable(String queryableName);
   
       DBRequestContext getDBRequestContext(String requestContextID);
  +
  +    DBStatement getDBStatement(String statementID);
   
   }
  
  
  
  1.12      +2 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/Reply.java
  
  Index: Reply.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/Reply.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Reply.java	2001/11/23 12:06:57	1.11
  +++ Reply.java	2001/11/23 14:41:08	1.12
  @@ -17,7 +17,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.11 $
  + * @version $Revision: 1.12 $
    */
   public abstract class Reply implements Serializable {
   
  @@ -35,6 +35,7 @@
       public static final int PINGREPLY = 21;
       public static final int ESTABLISHCONNECTIONREPLY = 22;
       public static final int CLOSEREPLY = 23;
  +    public static final int MAKESTATEMENTREPLY = 24;
   
   
       private int mReplyCode;
  
  
  
  1.14      +5 -3      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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Request.java	2001/11/19 12:11:54	1.13
  +++ Request.java	2001/11/23 14:41:08	1.14
  @@ -18,7 +18,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.13 $
  + * @version $Revision: 1.14 $
    */
   public abstract class Request implements Serializable {
   
  @@ -30,7 +30,7 @@
       public static final int AUTOCOMMITQUERY = 115;
       public static final int COMMIT = 116;
       public static final int ROLLBACK = 117;
  -    public static final int CLOSE = 118;
  +    public static final int CLOSECONNECTION = 118;
       public static final int READONLYCHANGE = 119;
       public static final int READONLYQUERY = 120;
       public static final int TRANSACTIONISOLATIONCHANGE = 121;
  @@ -39,7 +39,7 @@
       public static final int CATALOGREQUEST = 124;
       public static final int DELETEROWS = 125;
       public static final int UPDATEROWS = 126;
  -    public static final int RESULTSETCLOSE = 127;
  +    public static final int CLOSERESULTSET = 127;
       public static final int ALTER = 128;
       public static final int GRANT = 129;
       public static final int CREATEVIEW = 130;
  @@ -49,6 +49,8 @@
       public static final int DROPVIEW = 134;
       public static final int DROPINDEX = 135;
       public static final int ESTABLISHCONNECTION = 136;
  +    public static final int CLOSESTATEMENT = 137;
  +    public static final int MAKESTATEMENT = 138;
   
       private int mRequestCode;
       private String mRequestContextID;
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/CloseConnectionRequest.java
  
  Index: CloseConnectionRequest.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;
  
  import org.apache.avalon.db.results.RowSet;
  
  
  /**
   * Class CloseConnectionRequest
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class CloseConnectionRequest extends Request {
  
      public CloseConnectionRequest() {
          // for connections
          super(Request.CLOSECONNECTION);
      }
  
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/CloseResultSetRequest.java
  
  Index: CloseResultSetRequest.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;
  
  import org.apache.avalon.db.results.RowSet;
  
  
  /**
   * Class CloseResultSetRequest
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class CloseResultSetRequest extends Request {
  
      private String mRowSetID;
  
      public CloseResultSetRequest(String rowSetID) {
          // for result sets
          super(Request.CLOSERESULTSET);
          mRowSetID = rowSetID;
      }
  
  
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/CloseStatementRequest.java
  
  Index: CloseStatementRequest.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 CloseStatementRequest
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class CloseStatementRequest extends Request {
  
      private String mStatementID;
  
      public CloseStatementRequest(String statementID) {
          super(Request.CLOSESTATEMENT);
          mStatementID = statementID;
      }
  
      public String getStatementID() {
          return mStatementID;
      }
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/MakeStatementReply.java
  
  Index: MakeStatementReply.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;
  
  
  
  import org.apache.avalon.db.results.RowSet;
  
  /**
   * Class ResultSetReply
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class MakeStatementReply extends Reply {
  
      private String mStatementID;
  
      /**
       * Constructor ResultSetReply
       *
       *
       * @param rowSet
       *
       */
      public MakeStatementReply(String statementID) {
  
          super(Reply.MAKESTATEMENTREPLY);
          this.mStatementID = statementID;
      }
  
      public String getStatementID() {
          return mStatementID;
      }
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/MakeStatementRequest.java
  
  Index: MakeStatementRequest.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 MakeStatementRequest
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class MakeStatementRequest extends Request {
  
      private String mStatementID;
  
      public MakeStatementRequest(String statementID) {
          super(Request.MAKESTATEMENT);
          mStatementID = statementID;
      }
  
      public String getStatementID() {
          return mStatementID;
      }
  }
  
  
  
  1.4       +1 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server/CMDConnectionHandler.java
  
  Index: CMDConnectionHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server/CMDConnectionHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CMDConnectionHandler.java	2001/11/13 14:49:40	1.3
  +++ CMDConnectionHandler.java	2001/11/23 14:41:08	1.4
  @@ -80,7 +80,7 @@
                  mObjectOutputStream.writeObject(mDatabaseManager.processRequest(request));
               }
   
  -            if (request.getRequestCode() == Request.CLOSE) {
  +            if (request.getRequestCode() == Request.CLOSECONNECTION) {
                   more = false;
               }
   
  
  
  

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