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>