Modified:
trunk/connector-mxj/CHANGES
trunk/connector-mxj/src/com/mysql/management/MysqldResource.java
trunk/connector-mxj/src/com/mysql/management/MysqldResourceTest.java
trunk/connector-mxj/src/com/mysql/management/util/Files.java
trunk/connector-mxj/src/com/mysql/management/util/FilesTest.java
Log:
2008-04-03 - added fix for http://bugs.mysql.com/bug.php?id=35804
Modified: trunk/connector-mxj/CHANGES
===================================================================
--- trunk/connector-mxj/CHANGES 2008-02-21 15:01:11 UTC (rev 121)
+++ trunk/connector-mxj/CHANGES 2008-04-03 16:13:19 UTC (rev 122)
@@ -1,6 +1,8 @@
# Changelog
# $Id: CHANGES,v 1.14 2005/10/25 19:11:16 eherman Exp $
+2008-04-03 - added fix for http://bugs.mysql.com/bug.php?id=35804
+
5-0-9
2008-02-19 - added robustness in tests for differences in C/J
Modified: trunk/connector-mxj/src/com/mysql/management/MysqldResource.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/MysqldResource.java 2008-02-21 15:01:11
UTC (rev 121)
+++ trunk/connector-mxj/src/com/mysql/management/MysqldResource.java 2008-04-03 16:13:19
UTC (rev 122)
@@ -562,8 +562,11 @@
}
void ensureEssentialFilesExist() {
- utils.streams().expandResourceJar(dataDir,
- getVersionDir() + Streams.RESOURCE_SEPARATOR + "data_dir.jar");
+ if (utils.files().isEmpty(dataDir)) {
+ String data_jar = getVersionDir() + Streams.RESOURCE_SEPARATOR
+ + "data_dir.jar";
+ utils.streams().expandResourceJar(dataDir, data_jar);
+ }
utils.streams().expandResourceJar(baseDir,
getVersionDir() + Streams.RESOURCE_SEPARATOR + shareJar());
}
Modified: trunk/connector-mxj/src/com/mysql/management/MysqldResourceTest.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/MysqldResourceTest.java 2008-02-21
15:01:11 UTC (rev 121)
+++ trunk/connector-mxj/src/com/mysql/management/MysqldResourceTest.java 2008-04-03
16:13:19 UTC (rev 122)
@@ -232,7 +232,19 @@
assertTrue(host_frm.exists());
}
+
+ public void testBug35804() {
+ testCreateDbFiles();
+
+ File dbDataDir = new File(dataDir, "mysql");
+ File host_frm = new File(dbDataDir, "host.frm");
+ assertTrue(host_frm.delete());
+ assertFalse(host_frm.exists());
+ mysqldResource.ensureEssentialFilesExist();
+ assertFalse(host_frm.exists());
+ }
+
private void assertRunningThenShutdown() {
assertRunning();
mysqldResource.shutdown();
Modified: trunk/connector-mxj/src/com/mysql/management/util/Files.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/util/Files.java 2008-02-21 15:01:11 UTC
(rev 121)
+++ trunk/connector-mxj/src/com/mysql/management/util/Files.java 2008-04-03 16:13:19 UTC
(rev 122)
@@ -192,4 +192,15 @@
}
return cononical;
}
+
+ public boolean isEmpty(File dir) {
+ if (!dir.exists()) {
+ return true;
+ }
+ if (!dir.isDirectory()) {
+ return false;
+ }
+ return dir.listFiles().length == 0;
+ }
+
}
Modified: trunk/connector-mxj/src/com/mysql/management/util/FilesTest.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/util/FilesTest.java 2008-02-21 15:01:11
UTC (rev 121)
+++ trunk/connector-mxj/src/com/mysql/management/util/FilesTest.java 2008-04-03 16:13:19
UTC (rev 122)
@@ -61,6 +61,14 @@
assertEquals(javaTmp.getCanonicalFile(), testParent.getCanonicalFile());
}
+ private void writeToFile(File file, String text)
+ throws FileNotFoundException {
+ FileOutputStream fos = new FileOutputStream(file);
+ PrintWriter out = new PrintWriter(fos);
+ out.print(text);
+ out.close();
+ }
+
public void testDeleteTree() throws FileNotFoundException {
foo = new File(fileUtil.testDir(), "foo");
File bar = new File(foo, "bar");
@@ -68,10 +76,7 @@
assertEquals(true, bar.exists());
File baz = new File(foo, "baz");
- FileOutputStream fos = new FileOutputStream(baz);
- PrintWriter out = new PrintWriter(fos);
- out.print("baz");
- out.close();
+ writeToFile(baz, "baz");
assertEquals(true, baz.exists());
assertEquals(3, baz.length());
@@ -132,10 +137,7 @@
File bar = new File(fileUtil.testDir(), "junkFile.txt");
bar.deleteOnExit();
- FileOutputStream fos = new FileOutputStream(bar);
- PrintStream ps = new PrintStream(fos);
- ps.println("junk");
- ps.close();
+ writeToFile(bar, "junk");
Exception expected = null;
try {
@@ -155,5 +157,24 @@
assertNotNull(expected);
testUtil.assertContainsIgnoreCase(expected.getMessage(), "null");
}
+
+ public void testIsEmpty() throws Exception {
+ foo = fileUtil.tmp("foo");
+ assertEquals(false, foo.exists());
+ assertEquals(true, fileUtil.isEmpty(foo));
+ foo.mkdirs();
+ assertEquals(true, foo.exists());
+ assertEquals(true, foo.isDirectory());
+ assertEquals(true, fileUtil.isEmpty(foo));
+ File bar = new File(foo, "bar");
+ assertEquals(false, bar.exists());
+ assertEquals(true, fileUtil.isEmpty(bar));
+ writeToFile(bar, "stuff");
+ assertEquals(true, bar.exists());
+ assertEquals(false, fileUtil.isEmpty(bar));
+ assertEquals(false, fileUtil.isEmpty(foo));
+ assertEquals(true, bar.delete());
+ assertEquals(true, fileUtil.isEmpty(foo));
+ }
}
| Thread |
|---|
| • Connector/MXJ commit: r122 - in trunk/connector-mxj: . src/com/mysql/management src/com/mysql/management/util | eherman | 3 Apr |