I committed the second patch to HEAD of jakarta-turbine-torque, but
not the first. Sometimes you need to live with the problem for a
while so that some one gets irritated enough to fix it. ;-)
- Dan
"Stephen Haberman" <[EMAIL PROTECTED]> writes:
> I could never run the test bed more than once because bookstore-data.sql
> for some is put in the src/sqldb.map just as "bookstore-data.sql" not
> "../bookstore-data.sql" as it should be (it
>
> Instead of tracking this down, perhaps I'll get to later as I
> investigate what exactly these datadump/datadtd/datasql tasks do, I put
> a delete call in the build-test.xml file that deletes the rttest/src dir
> with each invocation of "ant test".
>
> Also, while tracking down the bug, I cleaned up a method of
> TorqueSQLExec.java. None of the logic changed, but I renamed the
> variables to meaning things. E.g. instead of "h" representing a hash
> table of databases and "x" representing a list of files throughout a
> fairly lengthy method, I choose databases and files, respectively.
>
> Thanks,
> Stephen
>
>
> Index: build-test.xml
> ===================================================================
> RCS file: /home/cvspublic/jakarta-turbine-torque/build-test.xml,v
> retrieving revision 1.32
> diff -u -r1.32 build-test.xml
> --- build-test.xml 11 Jul 2002 18:09:26 -0000 1.32
> +++ build-test.xml 15 Jul 2002 06:23:24 -0000
> @@ -22,6 +22,8 @@
> name="test-prepare"
> depends="filterTokens,test-libs,test-templates">
>
> + <delete dir="${build.test}/rttest/src"/>
> +
> <!-- Use the profile as the build.properties file
> in the dist directory so that it is customizable
> by each tester. -->
>
>
> Index: TorqueSQLExec.java
> ===================================================================
> RCS file:
>/home/cvspublic/jakarta-turbine-torque/src/java/org/apache/torque/task/TorqueSQLExec.java,v
> retrieving revision 1.9
> diff -u -r1.9 TorqueSQLExec.java
> --- TorqueSQLExec.java 7 May 2002 18:24:43 -0000 1.9
> +++ TorqueSQLExec.java 15 Jul 2002 05:51:25 -0000
> @@ -466,12 +466,12 @@
> throw new BuildException("Url attribute must be set!", location);
> }
>
> - Properties p = new Properties();
> + Properties map = new Properties();
>
> try
> {
> FileInputStream fis = new FileInputStream(getSqlDbMap());
> - p.load(fis);
> + map.load(fis);
> fis.close();
> }
> catch (IOException ioe)
> @@ -479,51 +479,59 @@
> throw new BuildException("Cannot open and process the sqldbmap!");
> }
>
> - Hashtable h = new Hashtable();
> - TreeSet keys = new TreeSet(p.keySet());
> + Hashtable databases = new Hashtable();
>
> - for (Iterator e = keys.iterator(); e.hasNext(); )
> + for (Iterator eachProperty = map.keySet().iterator();
>eachProperty.hasNext(); )
> {
> - String sqlfile = (String) e.next();
> - String database = p.getProperty(sqlfile);
> + String sqlfile = (String) eachProperty.next();
> + String database = map.getProperty(sqlfile);
>
> - ArrayList x = (ArrayList) h.get(database);
> + ArrayList files = (ArrayList) databases.get(database);
>
> - if (x == null)
> + if (files == null)
> {
> - x = new ArrayList();
> - h.put(database, x);
> + files = new ArrayList();
> + databases.put(database, files);
> }
>
> // We want to make sure that the base schemas
> // are inserted first.
> if (sqlfile.indexOf("schema.sql") != -1)
> {
> - x.add(0, sqlfile);
> + files.add(0, sqlfile);
> }
> else
> {
> - x.add(sqlfile);
> + files.add(sqlfile);
> }
> }
>
> - Iterator k = h.keySet().iterator();
> -
> - while (k.hasNext())
> + Iterator eachDatabase = databases.keySet().iterator();
> + while (eachDatabase.hasNext())
> {
> - String db = (String) k.next();
> - ArrayList l = (ArrayList) h.get(db);
> - Iterator j = l.iterator();
> - List ts = new ArrayList();
> - while (j.hasNext())
> + String db = (String) eachDatabase.next();
> + ArrayList files = (ArrayList) databases.get(db);
> +
> + Iterator eachFile = files.iterator();
> + List transactions = new ArrayList();
> + while (eachFile.hasNext())
> {
> - String s = (String) j.next();
> - Transaction t = new Transaction();
> - t.setSrc(new File(srcDir, s));
> - ts.add(t);
> + String fileName = (String) eachFile.next();
> + File file = new File(srcDir, fileName);
> +
> + if (file.exists())
> + {
> + Transaction transaction = new Transaction();
> + transaction.setSrc(file);
> + transactions.add(transaction);
> + }
> + else
> + {
> + super.log("File '" + fileName + "' in sqldbmap does not exist,
>so skipping it.");
> + }
> }
>
> - insertDatabaseSqlFiles(url, db, ts);
> + insertDatabaseSqlFiles(url, db, transactions);
> }
> }
>
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>