You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by ha...@apache.org on 2001/11/14 04:26:06 UTC
cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/soap/client/glue GlueConnection.java
hammant 01/11/13 19:26:06
Modified: apps/db/src/java/org/apache/avalon/db/driver
AvalonDBConnection.java AvalonDBDriver.java
apps/db/src/java/org/apache/avalon/db/transport/cmdstream/client
CommandConnection.java
apps/db/src/java/org/apache/avalon/db/transport/soap/client/glue
GlueConnection.java
Added: apps/db/src/java/org/apache/avalon/db/driver
OptionsHelper.java
Log:
Ping stuff. For keep-alive
Revision Changes Path
1.7 +2 -2 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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AvalonDBConnection.java 2001/11/13 14:49:40 1.6
+++ AvalonDBConnection.java 2001/11/14 03:26:06 1.7
@@ -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.6 $
+ * @version $Revision: 1.7 $
*/
public abstract class AvalonDBConnection extends AbstractDriver implements Connection {
@@ -51,7 +51,7 @@
protected abstract Reply sendRequest(Request request) throws SQLException;
- protected abstract void initialize(String host, int port, String url) throws SQLException;
+ protected abstract void initialize(String host, int port, String url, String[] options) throws SQLException;
protected void setParserHelper(AbstractParserHelper parserHelper) {
mAbstractParserHelper = parserHelper;
1.10 +13 -8 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBDriver.java
Index: AvalonDBDriver.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBDriver.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- AvalonDBDriver.java 2001/11/04 11:41:25 1.9
+++ AvalonDBDriver.java 2001/11/14 03:26:06 1.10
@@ -29,7 +29,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 class
AvalonDBDriver extends AbstractDriver implements Driver {
@@ -63,24 +63,29 @@
*/
public Connection connect(String url, Properties info) throws SQLException {
- final String sampleTerms = "jdbc:avalondb:<transport>:<syntax>:<database>:<host>:<port>";
- // 0 1 2 3 4 5 6
+ final String sampleTerms = "jdbc:avalondb:<transport>:<syntax>:<database>:<host>:<port><options>";
+ // 0 1 2 3 4 5 6 7
String[] words = StringUtils.split(url,":");
if(words.length < 7) {
throw new SQLException("Invalid JDBC URL. Seven terms are needed - " + sampleTerms);
}
+ String[] options = new String[0];
+ if (words.length == 8) {
+ options = StringUtils.split(words[7],"&");
+ }
+
- String driver = null;
+ String connectionClass = null;
if (words[2].equals("cmds")) {
- driver = "org.apache.avalon.db.transport.cmdstream.client.CommandConnection";
+ connectionClass = "org.apache.avalon.db.transport.cmdstream.client.CommandConnection";
} else if (words[2].equals("glue")) {
- driver = "org.apache.avalon.db.transport.cmdstream.client.GlueConnection";
+ connectionClass = "org.apache.avalon.db.transport.cmdstream.client.GlueConnection";
}
AvalonDBConnection connection = null;
try {
- connection = (AvalonDBConnection) Class.forName(driver).newInstance();
+ connection = (AvalonDBConnection) Class.forName(connectionClass).newInstance();
} catch (ClassNotFoundException cnfe) {
throw new SQLException("JDBC Driver Class not found, check jars(s) in classpath");
} catch (InstantiationException ie) {
@@ -88,7 +93,7 @@
} catch (IllegalAccessException iae) {
throw new SQLException("Some problem accessing JDBC driver");
}
- connection.initialize(words[5], new Integer(words[6]).intValue(), url);
+ connection.initialize(words[5], new Integer(words[6]).intValue(), url, options);
AbstractParserHelper aph = null;
if (words[3].equals("sql")) {
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/OptionsHelper.java
Index: OptionsHelper.java
===================================================================
/*
* Copyright (C) The avalon Software Foundation. All rights reserved.
*
* This software is published under the terms of the avalon Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.driver;
import org.apache.avalon.db.utils.StringUtils;
public class OptionsHelper {
private String[] mOptions;
OptionsHelper(String[] options) {
mOptions = options;
}
private String getOption(String optName) {
for (int f =0; f < mOptions.length; f++) {
if (mOptions[f].startsWith("optName" + "=")) {
return StringUtils.split(mOptions[f],"=")[2];
}
}
return null;
}
}
1.9 +9 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/client/CommandConnection.java
Index: CommandConnection.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/client/CommandConnection.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- CommandConnection.java 2001/11/13 14:49:40 1.8
+++ CommandConnection.java 2001/11/14 03:26:06 1.9
@@ -32,18 +32,22 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
*/
public class CommandConnection extends AvalonDBConnection {
private String mHost;
private int mPort;
+ private String[] mOptions;
private ObjectOutputStream mObjectOutputStream;
private ObjectInputStream mObjectInputStream;
- protected void initialize(String host, int port, String url) throws SQLException {
- this.mHost = host;
- this.mPort = port;
+ protected void initialize(String host, int port, String url, String[] options) throws SQLException {
+ mHost = host;
+ mPort = port;
+ mOptions = options;
+ //TODO - instantiate thread for keepalive.
+ // only if keepAliveSecs=nnn where nnn is the seconds between pings
try {
Socket socket = new Socket(mHost, mPort);
@@ -62,6 +66,7 @@
protected void closeConnection() throws SQLException {
try {
+ //TODO - kill thread for keepalive if running
mObjectInputStream.close();
mObjectOutputStream.close();
} catch (IOException ioe) {
1.3 +4 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/soap/client/glue/GlueConnection.java
Index: GlueConnection.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/soap/client/glue/GlueConnection.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- GlueConnection.java 2001/11/14 02:57:55 1.2
+++ GlueConnection.java 2001/11/14 03:26:06 1.3
@@ -31,15 +31,17 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class GlueConnection extends AvalonDBConnection {
private DatabaseManager mDBManager;
+ private String[] mOptions;
- protected void initialize(String host, int port, String url) throws SQLException {
+ protected void initialize(String host, int port, String url, String[] options) throws SQLException {
+ mOptions = options;
//TODO big work needed here. See syntax from GlueDemo in Cornerstone.
String glueURL = "TODO"; // morph url (jdbc:avalondb:...) into Glue HTTP url
try {
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>