List:Commits« Previous MessageNext Message »
From:eherman Date:April 3 2008 6:13pm
Subject:Connector/MXJ commit: r122 - in trunk/connector-mxj: . src/com/mysql/management src/com/mysql/management/util
View as plain text  
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/utileherman3 Apr