Author: painter Date: Sat Oct 6 01:51:49 2018 New Revision: 1842994 URL: http://svn.apache.org/viewvc?rev=1842994&view=rev Log: Add better method to parse SQL files, clean up interface to HsqlDb call for simpler code - single sample db reference
Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/HsqlDB.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueGroupManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorquePermissionManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueRoleManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/basic/TorqueBasicModelManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerDefaultPeerLazyTest.java turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/HsqlDB.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/HsqlDB.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/HsqlDB.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/HsqlDB.java Sat Oct 6 01:51:49 2018 @@ -20,121 +20,119 @@ package org.apache.fulcrum.security.torq */ import java.io.File; -import java.io.FileReader; +import java.io.FileInputStream; +import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; import org.apache.commons.lang.StringUtils; import org.hsqldb.jdbcDriver; /** - * This Class provides a nice Setup for a Hypersonic SQL Server, - * which will only be held in Memory. + * This Class provides a nice Setup for a Hypersonic SQL Server, which will only + * be held in Memory. * * It allows loading of .sql Files, to setup Tests easily. * * @author <a href="j...@byteaction.de">Jürgen Hoffmann</a> */ -public class HsqlDB -{ - private Connection connection = null; - - public HsqlDB(String uri, String loadFile) throws Exception - { - Class.forName(jdbcDriver.class.getName()); - - this.connection = DriverManager.getConnection(uri, "sa", ""); - - if(StringUtils.isNotEmpty(loadFile)) - { - loadSqlFile(loadFile); - } - } - - public HsqlDB(String uri, File loadFile) throws Exception - { - this(uri, loadFile.getAbsolutePath()); - } - - public Connection getConnection() - { - return connection; - } - - public void close() - { - try - { - connection.close(); - } - catch (Exception e) - { - } - } - - private void loadSqlFile(String fileName) throws Exception - { - Statement statement = null; - try - { - statement = connection.createStatement(); - String commands = getFileContents(fileName); - statement.execute(commands); - -/* - for (int targetPos = commands.indexOf(';'); targetPos > -1; targetPos = commands.indexOf(';')) - { - String cmd = commands.substring(0, targetPos + 1); - try - { - statement.execute(cmd); - } - catch (SQLException sqle) - { - log.warn("Statement: " + cmd + ": " + sqle.getMessage()); - } - - commands = commands.substring(targetPos + 2); - } -*/ - } - finally - { - if(statement != null) - { - statement.close(); - } - } - } - - private String getFileContents(String fileName) throws Exception - { - System.out.println(fileName); - FileReader fr = new FileReader(fileName); - - char fileBuf[] = new char[1024]; - StringBuilder sb = new StringBuilder(1000); - int res = -1; - - while ((res = fr.read(fileBuf, 0, 1024)) > -1) - { - sb.append(fileBuf, 0, res); - } - fr.close(); - return sb.toString(); - } - - public void addSQL(String sqlFile) throws Exception - { - if(StringUtils.isNotEmpty(sqlFile)) - { - loadSqlFile(sqlFile); - } - } - - public void addSQL(File sqlFile) throws Exception - { - this.addSQL(sqlFile.getAbsolutePath()); - } +public class HsqlDB { + private Connection connection = null; + private static String URI = "jdbc:hsqldb:."; + + public HsqlDB(String loadFile) throws Exception { + Class.forName(jdbcDriver.class.getName()); + this.connection = DriverManager.getConnection(URI, "SA", ""); + if (StringUtils.isNotEmpty(loadFile)) { + loadSqlFile(loadFile); + } + } + + public HsqlDB(File loadFile) throws Exception { + this(loadFile.getAbsolutePath()); + } + + public Connection getConnection() { + return connection; + } + + public void close() { + try { + connection.close(); + } catch (Exception e) { + } + } + + /** + * Load a sql file and process its statements + */ + private void loadSqlFile(String fileName) throws Exception { + Statement statement = null; + try { + statement = connection.createStatement(); + // execute each statement on its own + List<String> commands = getFileContents(fileName); + for (String cmd : commands) + statement.executeUpdate(cmd); + + } finally { + if (statement != null) { + statement.close(); + } + } + } + + private List<String> getFileContents(String fileName) throws Exception { + + StringBuilder sb = new StringBuilder(1000); + Scanner s = null; + try { + InputStream is = new FileInputStream(new File(fileName)); + s = new Scanner(is); + s.useDelimiter("(\r?\n)"); + + boolean inComment = false; + while (s.hasNext()) { + String line = s.next(); + + if (inComment == true) { + if (line.endsWith("*/")) + inComment = false; + } else { + // test for comments + if (!line.startsWith("--")) { + if (line.trim().length() > 0) { + sb.append(line); + } + } + } + } + } finally { + if (s != null) + s.close(); + } + + String sql = sb.toString(); + sb = new StringBuilder(); + String[] commands = sql.split(";"); + List<String> sqlCmds = new ArrayList<>(); + for (String cmd : commands) + sqlCmds.add(cmd + ";\n"); + + return sqlCmds; + } + + public void addSQL(String sqlFile) throws Exception { + if (StringUtils.isNotEmpty(sqlFile)) { + loadSqlFile(sqlFile); + } + } + + public void addSQL(File sqlFile) throws Exception { + this.addSQL(sqlFile.getAbsolutePath()); + } } Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueGroupManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueGroupManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueGroupManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueGroupManagerTest.java Sat Oct 6 01:51:49 2018 @@ -38,7 +38,7 @@ public class TorqueGroupManagerTest exte { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-basic-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-basic-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-dynamic-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-turbine-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorquePermissionManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorquePermissionManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorquePermissionManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorquePermissionManagerTest.java Sat Oct 6 01:51:49 2018 @@ -35,7 +35,7 @@ public class TorquePermissionManagerTest @Before public void setUp() throws Exception { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-dynamic-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-dynamic-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-turbine-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-dynamic-schema-idtable-init.sql"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueRoleManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueRoleManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueRoleManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueRoleManagerTest.java Sat Oct 6 01:51:49 2018 @@ -40,7 +40,7 @@ public class TorqueRoleManagerTest exten { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-dynamic-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-dynamic-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-turbine-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-dynamic-schema-idtable-init.sql"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java Sat Oct 6 01:51:49 2018 @@ -39,7 +39,7 @@ public class TorqueUserManagerTest exten { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-basic-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-basic-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-dynamic-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-turbine-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/basic/TorqueBasicModelManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/basic/TorqueBasicModelManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/basic/TorqueBasicModelManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/basic/TorqueBasicModelManagerTest.java Sat Oct 6 01:51:49 2018 @@ -51,7 +51,7 @@ public class TorqueBasicModelManagerTest { if(hsqlDB == null) { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-basic-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-basic-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-basic-schema-idtable-init.sql"); } Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerTest.java Sat Oct 6 01:51:49 2018 @@ -53,7 +53,7 @@ public class TorqueDynamicModelManagerTe { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-dynamic-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-dynamic-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-dynamic-schema-idtable-init.sql"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java Sat Oct 6 01:51:49 2018 @@ -60,7 +60,7 @@ public class TorquePeerTurbineModelManag { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-turbine-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-turbine-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-turbine-schema-idtable-init.sql"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java Sat Oct 6 01:51:49 2018 @@ -51,7 +51,7 @@ public class TorqueTurbineModelManagerTe { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-turbine-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-turbine-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-turbine-schema-idtable-init.sql"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java Sat Oct 6 01:51:49 2018 @@ -55,7 +55,7 @@ public class TurbineDefaultModelManagerL try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-turbine-default-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-turbine-default-schema.sql"); // we do not need id-broker,set native in schema and added identity in hsql // same for both flavors this.setRoleFileName("src/test/TurbineTorqueRoleConfig.xml"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java Sat Oct 6 01:51:49 2018 @@ -55,7 +55,7 @@ public class TurbineDefaultModelManagerT try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-turbine-default-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-turbine-default-schema.sql"); // we do not need id-broker,set native in schema and added identity in hsql // same for both flavors this.setRoleFileName("src/test/TurbineTorqueRoleConfig.xml"); Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerDefaultPeerLazyTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerDefaultPeerLazyTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerDefaultPeerLazyTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerDefaultPeerLazyTest.java Sat Oct 6 01:51:49 2018 @@ -54,7 +54,7 @@ public class TurbineUserManagerDefaultPe { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-turbine-default-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-turbine-default-schema.sql"); this.setRoleFileName("src/test/TurbineTorqueRoleConfig.xml"); // we have to use declared peers Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java?rev=1842994&r1=1842993&r2=1842994&view=diff ============================================================================== --- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java (original) +++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java Sat Oct 6 01:51:49 2018 @@ -52,7 +52,7 @@ public class TurbineUserManagerTest exte { try { - hsqlDB = new HsqlDB("jdbc:hsqldb:.", "src/test/fulcrum-turbine-schema.sql"); + hsqlDB = new HsqlDB("src/test/fulcrum-turbine-schema.sql"); hsqlDB.addSQL("src/test/id-table-schema.sql"); hsqlDB.addSQL("src/test/fulcrum-turbine-schema-idtable-init.sql");