Author: sgoeschl
Date: Mon Oct 10 02:33:10 2005
New Revision: 312591
URL: http://svn.apache.org/viewcvs?rev=312591&view=rev
Log:
Updating the HSQLDB service
+) Removing the access to the Avalon context
+) Using HSQLDB 1.8.0.1 which also fixes GUMP
+) Got rid of the cast to the service implementation class to stop the database
since the cast fails when using dynamic proxies
Modified:
jakarta/turbine/fulcrum/trunk/hsqldb/project.xml
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLService.java
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLServiceImpl.java
jakarta/turbine/fulcrum/trunk/hsqldb/src/test/TestComponentConfig.xml
jakarta/turbine/fulcrum/trunk/hsqldb/src/test/org/apache/fulcrum/hsqldb/HSQLServiceTest.java
jakarta/turbine/fulcrum/trunk/hsqldb/xdocs/changes.xml
Modified: jakarta/turbine/fulcrum/trunk/hsqldb/project.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/hsqldb/project.xml?rev=312591&r1=312590&r2=312591&view=diff
==============================================================================
--- jakarta/turbine/fulcrum/trunk/hsqldb/project.xml (original)
+++ jakarta/turbine/fulcrum/trunk/hsqldb/project.xml Mon Oct 10 02:33:10 2005
@@ -8,10 +8,10 @@
<dependencies>
<dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>1.7.2.2</version>
- <url>http://hsqldb.sourceforge.net/</url>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.1</version>
+ <url>http://hsqldb.sourceforge.net/</url>
</dependency>
<!-- Needed only for testing -->
Modified:
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLService.java
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLService.java?rev=312591&r1=312590&r2=312591&view=diff
==============================================================================
---
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLService.java
(original)
+++
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLService.java
Mon Oct 10 02:33:10 2005
@@ -1,5 +1,7 @@
package org.apache.fulcrum.hsqldb;
+import org.apache.avalon.framework.activity.Startable;
+
/*
* Copyright 2004 Apache Software Foundation
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,8 +26,27 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Tillemans</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Siegfried Goeschl</a>
*/
-public interface HSQLService
+public interface HSQLService extends Startable
{
+ /**
+ * Starts the HSQLDB server. The implementation polls to ensure
+ * that the HSQLDB server is fully initialized otherwise we get
+ * spurious connection exceptions. If the HSQLDB server is not
+ * upand running within 10 seconds we throw an exception.
+ *
+ * @see org.apache.avalon.framework.activity.Startable#start()
+ */
+ public void start() throws Exception;
+
+ /**
+ * Stop the HSQLDB server. The implementation polls to ensure
+ * that the HSQLDB server has terminated otherwise someone
+ * could call System.exit() and break the database.
+ *
+ * @see org.apache.avalon.framework.activity.Startable#stop()
+ */
+ public void stop() throws Exception;
+
/**
* Check if the server is running
*
Modified:
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLServiceImpl.java
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLServiceImpl.java?rev=312591&r1=312590&r2=312591&view=diff
==============================================================================
---
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLServiceImpl.java
(original)
+++
jakarta/turbine/fulcrum/trunk/hsqldb/src/java/org/apache/fulcrum/hsqldb/HSQLServiceImpl.java
Mon Oct 10 02:33:10 2005
@@ -17,22 +17,16 @@
* limitations under the License.
*/
-import java.io.File;
-
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.activity.Startable;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
-
-import org.hsqldb.HsqlProperties;
import org.hsqldb.Server;
import org.hsqldb.ServerConstants;
+import org.hsqldb.persist.HsqlProperties;
/**
* The originial implementation was taken from
@@ -71,17 +65,14 @@
*/
public class HSQLServiceImpl
extends AbstractLogEnabled
- implements HSQLService, Configurable, Initializable, Contextualizable,
Startable, Disposable
+ implements HSQLService, Configurable, Initializable, Startable,
Disposable
{
/** the HSQLDB server instance */
private Server server;
/** the configuration properties */
private HsqlProperties serverProperties;
-
- /** the application directory */
- private File applicationDir;
-
+
/////////////////////////////////////////////////////////////////////////
// Avalon Service Lifecycle Implementation
/////////////////////////////////////////////////////////////////////////
@@ -91,6 +82,7 @@
*/
public HSQLServiceImpl()
{
+ // nothing to do
}
public boolean isRunning() {
@@ -99,14 +91,6 @@
}
/**
- * @see
org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
- */
- public void contextualize(Context context) throws ContextException
- {
- this.applicationDir = (File) context.get("urn:avalon:home");
- }
-
- /**
* @see
org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
*/
public void configure(Configuration cfg) throws ConfigurationException
@@ -124,6 +108,7 @@
this.serverProperties.setProperty("server.trace",
cfg.getAttributeAsBoolean("trace"));
this.serverProperties.setProperty("server.silent",
cfg.getAttributeAsBoolean("silent"));
this.serverProperties.setProperty("server.port",
cfg.getAttribute("port"));
+ this.serverProperties.setProperty("server.tls",
cfg.getAttribute("tls","false"));
}
/**
@@ -181,7 +166,6 @@
{
this.server = null;
this.serverProperties = null;
- this.applicationDir = null;
}
/**
Modified: jakarta/turbine/fulcrum/trunk/hsqldb/src/test/TestComponentConfig.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/hsqldb/src/test/TestComponentConfig.xml?rev=312591&r1=312590&r2=312591&view=diff
==============================================================================
--- jakarta/turbine/fulcrum/trunk/hsqldb/src/test/TestComponentConfig.xml
(original)
+++ jakarta/turbine/fulcrum/trunk/hsqldb/src/test/TestComponentConfig.xml Mon
Oct 10 02:33:10 2005
@@ -1,3 +1,3 @@
<componentConfig>
- <HSQLService database="./src/test/test" dbname="test" trace="true"
silent="false" port="9001"/>
+ <HSQLService database="./src/test/test" dbname="test" trace="true"
silent="false" port="9001" tls="false"/>
</componentConfig>
Modified:
jakarta/turbine/fulcrum/trunk/hsqldb/src/test/org/apache/fulcrum/hsqldb/HSQLServiceTest.java
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/hsqldb/src/test/org/apache/fulcrum/hsqldb/HSQLServiceTest.java?rev=312591&r1=312590&r2=312591&view=diff
==============================================================================
---
jakarta/turbine/fulcrum/trunk/hsqldb/src/test/org/apache/fulcrum/hsqldb/HSQLServiceTest.java
(original)
+++
jakarta/turbine/fulcrum/trunk/hsqldb/src/test/org/apache/fulcrum/hsqldb/HSQLServiceTest.java
Mon Oct 10 02:33:10 2005
@@ -108,9 +108,15 @@
public void testIsRunning() throws Exception {
assertTrue("Server was not started", service.isRunning());
- ((HSQLServiceImpl)service).stop();
+ service.stop();
+ assertFalse("Server is still running", service.isRunning());
+ }
+
+ public void testShutdown() throws Exception {
+
+ Connection conn = this.getConnection("test");
+ Statement stmt = conn.createStatement();
+ stmt.execute("SHUTDOWN;");
assertFalse("Server is still running", service.isRunning());
-
}
-
}
Modified: jakarta/turbine/fulcrum/trunk/hsqldb/xdocs/changes.xml
URL:
http://svn.apache.org/viewcvs/jakarta/turbine/fulcrum/trunk/hsqldb/xdocs/changes.xml?rev=312591&r1=312590&r2=312591&view=diff
==============================================================================
--- jakarta/turbine/fulcrum/trunk/hsqldb/xdocs/changes.xml (original)
+++ jakarta/turbine/fulcrum/trunk/hsqldb/xdocs/changes.xml Mon Oct 10 02:33:10
2005
@@ -4,17 +4,33 @@
<title>Fulcrum HSQLDB Service</title>
<author email="[EMAIL PROTECTED]">Siegfried Goeschl</author>
</properties>
-
<body>
+ <release version="1.0.1-dev" date="as in SVN">
+ <action dev="sgoeschl" type="update">
+ Removing the access to the Avalon context since it was never used.
+ </action>
+ <action dev="sgoeschl" type="update">
+ Using HSQLDB 1.8.0.1 which also fixes the GUMP spam about broken
+ builds.
+ </action>
+ <action dev="sgoeschl" type="add">
+ Using org.apache.avalon.framework.activity.Startable in the
+ service interface to start/stop the service.
+ </action>
+ <action dev="sgoeschl" type="update">
+ Got rid of the cast to the service implementation class to
+ stop the database since the cast fails when using dynamic
+ proxies
+ </action>
+ </release>
<release version="1.0.0" date="as in CVS">
- <action dev="epugh" type="update">
+ <action dev="epugh" type="update">
Add additional tests submitted by Peter Tillemans in Scarab version of
this service.
- </action>
- <action dev="goeschsi" type="update">
+ </action>
+ <action dev="sgoeschl" type="update">
Initial release
- </action>
- </release>
+ </action>
+ </release>
</body>
</document>
-
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]