From: <mwl...@us...> - 2009-12-30 20:54:07
|
Revision: 1001 http://cishell.svn.sourceforge.net/cishell/?rev=1001&view=rev Author: mwlinnem Date: 2009-12-30 20:53:59 +0000 (Wed, 30 Dec 2009) Log Message: ----------- We now attempt to connect to the new data sources we create. This way if the connection is faulty we'll get an error immediately rather than when we try to use it later. Modified Paths: -------------- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.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-30 17:41:04 UTC (rev 1000) +++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java 2009-12-30 20:53:59 UTC (rev 1001) @@ -139,11 +139,17 @@ connectionFactory, connectionPool, stmtPool, null, false, true); DataSource dataSource = new PoolingDataSource(connectionPool); + //test the connection (this will throw an exception if the connection is faulty) + + dataSource.getConnection(); + //return that data source. return dataSource; } catch (ClassNotFoundException e) { throw new DatabaseCreationException( "Database driver '" + driver + "' could not be found", e); + } catch (SQLException e) { + throw new DatabaseCreationException(e.getMessage(), e); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2009-12-30 20:55:10
|
Revision: 1002 http://cishell.svn.sourceforge.net/cishell/?rev=1002&view=rev Author: mwlinnem Date: 2009-12-30 20:55:04 +0000 (Wed, 30 Dec 2009) Log Message: ----------- Whitespace correction. Modified Paths: -------------- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.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-30 20:53:59 UTC (rev 1001) +++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java 2009-12-30 20:55:04 UTC (rev 1002) @@ -140,7 +140,6 @@ DataSource dataSource = new PoolingDataSource(connectionPool); //test the connection (this will throw an exception if the connection is faulty) - dataSource.getConnection(); //return that data source. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2010-01-06 18:17:32
|
Revision: 1009 http://cishell.svn.sourceforge.net/cishell/?rev=1009&view=rev Author: mwlinnem Date: 2010-01-06 18:17:25 +0000 (Wed, 06 Jan 2010) Log Message: ----------- Fixed bad refactor (wasn't calling method to form "drop table" query) Modified Paths: -------------- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.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 2010-01-05 21:19:39 UTC (rev 1008) +++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java 2010-01-06 18:17:25 UTC (rev 1009) @@ -176,7 +176,7 @@ while (allTableNames.next()) { if (!hasSystemSchema(allTableNames.getString(SCHEMA_NAME_INDEX))) { - String dropTableQuery = allTableNames.getString(TABLE_NAME_INDEX); + String dropTableQuery = formDropTableQuery(allTableNames.getString(TABLE_NAME_INDEX)); removeTables.addBatch(dropTableQuery); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2010-01-06 21:21:52
|
Revision: 1012 http://cishell.svn.sourceforge.net/cishell/?rev=1012&view=rev Author: fugu13 Date: 2010-01-06 21:21:45 +0000 (Wed, 06 Jan 2010) Log Message: ----------- Make this truly delete all non-system tables. Modified Paths: -------------- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.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 2010-01-06 21:18:10 UTC (rev 1011) +++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java 2010-01-06 21:21:45 UTC (rev 1012) @@ -170,28 +170,28 @@ //(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); + //using the TABLE type means we get no system tables. + ResultSet allTableNames = dbMetadata.getTables(null, null, null, new String[]{"TABLE"}); Statement removeTables = dbConnection.createStatement(); while (allTableNames.next()) { - if (!hasSystemSchema(allTableNames.getString(SCHEMA_NAME_INDEX))) { - String dropTableQuery = formDropTableQuery(allTableNames.getString(TABLE_NAME_INDEX)); - removeTables.addBatch(dropTableQuery); - } + String dropTableQuery = formDropTableQuery(allTableNames.getString(SCHEMA_NAME_INDEX), + allTableNames.getString(TABLE_NAME_INDEX)); + removeTables.addBatch(dropTableQuery); } removeTables.executeBatch(); } - private boolean hasSystemSchema(String tableSchemaName) { - return tableSchemaName.indexOf(NONSYSTEM_SCHEMA_NAME) == -1; - } - - private String formDropTableQuery(String tableName) { + private String formDropTableQuery(String schema, String tableName) { + String schemaPrefix = ""; + if(schema != null && !"".equals(schema)) { + schemaPrefix = schema + "."; + } String removeTableSQL = "DROP TABLE " - + NONSYSTEM_SCHEMA_NAME + "." + tableName; + + schemaPrefix + "." + tableName; return removeTableSQL; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2010-03-25 22:46:17
|
Revision: 1059 http://cishell.svn.sourceforge.net/cishell/?rev=1059&view=rev Author: fugu13 Date: 2010-03-25 22:46:11 +0000 (Thu, 25 Mar 2010) Log Message: ----------- add TODO related to CME on startup Modified Paths: -------------- trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.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 2010-03-25 21:46:54 UTC (rev 1058) +++ trunk/core/org.cishell.reference.service.database/src/org/cishell/reference/service/database/DerbyDatabaseService.java 2010-03-25 22:46:11 UTC (rev 1059) @@ -60,6 +60,7 @@ System.setProperty("derby.system.home", DATABASE_DIRECTORY); //Allow the database service to be found by other services/plugins + //TODO: figure out why this throws a concurrentmodificationerror on startup databaseServiceRegistration = context.registerService( DatabaseService.class.getName(), this, new Hashtable()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |