|
From: <mwl...@us...> - 2009-12-23 17:48:20
|
Revision: 998
http://cishell.svn.sourceforge.net/cishell/?rev=998&view=rev
Author: mwlinnem
Date: 2009-12-23 17:48:13 +0000 (Wed, 23 Dec 2009)
Log Message:
-----------
Minor changes based on Patrick's suggestions. Reviewed by Patrick.
Modified Paths:
--------------
trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java
trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/ExternalDatabase.java
trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/InternalDerbyDatabase.java
Modified: trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java
===================================================================
--- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java 2009-12-23 16:07:47 UTC (rev 997)
+++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java 2009-12-23 17:48:13 UTC (rev 998)
@@ -3,10 +3,10 @@
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
+import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Hashtable;
-import java.util.Iterator;
import java.util.List;
import javax.sql.DataSource;
@@ -45,7 +45,7 @@
* internal databases are created when requested by outside services,
* and are cleaned and shut down when this service is stopped.
*/
- private List internalDatabases = new ArrayList();
+ private List<InternalDerbyDatabase> internalDatabases = new ArrayList<InternalDerbyDatabase>();
public final void start(BundleContext context) throws Exception {
@@ -55,7 +55,7 @@
*/
System.setProperty("derby.system.home", DATABASE_DIRECTORY);
- //allow the database service to be found by other services/plugins
+ //Allow the database service to be found by other services/plugins
databaseServiceRegistration = context.registerService(
DatabaseService.class.getName(), this, new Hashtable());
}
@@ -64,10 +64,9 @@
//disallow the database service to be found by other services/plugins
this.databaseServiceRegistration.unregister();
- //try to clean out the internal databases and shut them down.
+ //Clean out the internal databases and shut them down.
try {
- for (Iterator it = internalDatabases.iterator(); it.hasNext();) {
- InternalDerbyDatabase internalDatabase = (InternalDerbyDatabase) it.next();
+ for (InternalDerbyDatabase internalDatabase : internalDatabases) {
Connection internalDatabaseConnection = internalDatabase.getConnection();
removeAllNonSystemDatabaseTables(internalDatabaseConnection);
internalDatabase.shutdown();
@@ -90,7 +89,7 @@
try {
//connect to and create a 'new' database
String databaseName = INTERNAL_DB_NAME_PREFIX + id;
- Database db = new InternalDerbyDatabase(createNewInternalDataSource(databaseName));
+ InternalDerbyDatabase db = new InternalDerbyDatabase(createNewInternalDataSource(databaseName));
//if this database existed on disk from a previous session, clean it to be like new
removeAllNonSystemDatabaseTables(db.getConnection());
@@ -160,7 +159,8 @@
private static final int TABLE_NAME_INDEX = 3;
private static final String NONSYSTEM_SCHEMA_NAME = "APP";
- private void removeAllNonSystemDatabaseTables(Connection dbConnection) throws Exception {
+ //(removes all non-system tables from the provided databases)
+ private void removeAllNonSystemDatabaseTables(Connection dbConnection) throws SQLException {
DatabaseMetaData dbMetadata = dbConnection.getMetaData();
ResultSet allTableNames = dbMetadata.getTables(null, null, null, null);
@@ -168,10 +168,8 @@
while (allTableNames.next()) {
if (!hasSystemSchema(allTableNames.getString(SCHEMA_NAME_INDEX))) {
- String removeTableSQL =
- "DROP TABLE "
- + NONSYSTEM_SCHEMA_NAME + "." + allTableNames.getString(TABLE_NAME_INDEX);
- removeTables.addBatch(removeTableSQL);
+ String dropTableQuery = allTableNames.getString(TABLE_NAME_INDEX);
+ removeTables.addBatch(dropTableQuery);
}
}
@@ -181,4 +179,11 @@
private boolean hasSystemSchema(String tableSchemaName) {
return tableSchemaName.indexOf(NONSYSTEM_SCHEMA_NAME) == -1;
}
+
+ private String formDropTableQuery(String tableName) {
+ String removeTableSQL =
+ "DROP TABLE "
+ + NONSYSTEM_SCHEMA_NAME + "." + tableName;
+ return removeTableSQL;
+ }
}
Modified: trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/ExternalDatabase.java
===================================================================
--- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/ExternalDatabase.java 2009-12-23 16:07:47 UTC (rev 997)
+++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/ExternalDatabase.java 2009-12-23 17:48:13 UTC (rev 998)
@@ -24,7 +24,7 @@
* Will want to discuss security implications here.
*/
public Connection getConnection(String username, String password)
- throws SQLException {
+ throws SQLException {
return dataSource.getConnection(username, password);
}
}
Modified: trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/InternalDerbyDatabase.java
===================================================================
--- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/InternalDerbyDatabase.java 2009-12-23 16:07:47 UTC (rev 997)
+++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/InternalDerbyDatabase.java 2009-12-23 17:48:13 UTC (rev 998)
@@ -26,7 +26,5 @@
DerbyDatabaseService.DERBY_PROTOCOL
+ DerbyDatabaseService.DEFAULT_SHUTDOWN_CONNECTION_STRING;
DriverManager.getConnection(shutdownDatabaseCommand);
-
-
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|