List:Commits« Previous MessageNext Message »
From:eherman Date:May 4 2007 1:05pm
Subject:Connector/MXJ commit: r83 - in trunk/connector-mxj: . commercial commercial/5-0-40 resources resources/5-0-37 resources/5-1-15 src/com/mysql/managemen...
View as plain text  
Added:
   trunk/connector-mxj/commercial/platform-map.properties
   trunk/connector-mxj/resources/platform-map.properties
Removed:
   trunk/connector-mxj/commercial/5-0-40/platform-map.properties
   trunk/connector-mxj/resources/5-0-37/platform-map.properties
   trunk/connector-mxj/resources/5-1-15/platform-map.properties
Modified:
   trunk/connector-mxj/CHANGES
   trunk/connector-mxj/README.1st
   trunk/connector-mxj/_dev_notes.txt
   trunk/connector-mxj/build.xml
   trunk/connector-mxj/commercial/connector-mxj.properties
   trunk/connector-mxj/resources/connector-mxj.properties
   trunk/connector-mxj/src/com/mysql/management/MysqldFactory.java
   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/driverlaunched/ServerLauncherSocketFactory.java
   trunk/connector-mxj/src/com/mysql/management/driverlaunched/ServerLauncherSocketFactoryTest.java
   trunk/connector-mxj/src/com/mysql/management/jmx/SimpleMysqldDynamicMBean.java
   trunk/connector-mxj/src/com/mysql/management/jmx/TestFactory.java
   trunk/connector-mxj/src/com/mysql/management/util/CommandLineOptionsParser.java
   trunk/connector-mxj/src/com/mysql/management/util/Streams.java
Log:
2007-05-04 - removed "use-default-architecture" property replaced
           - moved "platform-map.properties" into db-files.jar
           - updated build.xml in preperation for next beta build


Modified: trunk/connector-mxj/CHANGES
===================================================================
--- trunk/connector-mxj/CHANGES	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/CHANGES	2007-05-04 13:05:34 UTC (rev 83)
@@ -1,6 +1,10 @@
 # Changelog
 # $Id: CHANGES,v 1.14 2005/10/25 19:11:16 eherman Exp $
 
+2007-05-04 - removed "use-default-architecture" property replaced
+           - moved "platform-map.properties" into db-files.jar
+           - updated build.xml in preperation for next beta build
+
 2007-05-03 - swapped out commercial binaries for v5.0.40
            - fixed port file to always be writen to datadir
 

Modified: trunk/connector-mxj/README.1st
===================================================================
--- trunk/connector-mxj/README.1st	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/README.1st	2007-05-04 13:05:34 UTC (rev 83)
@@ -49,7 +49,7 @@
 have only done significant testing on Linux.
 
 On some testing of Windows, the System started fine, but had trouble with 
-shutdown.
+shutdown. We believe this has been resolved as of version 5-0-5-beta.
 
 DOCUMENTATION
 

Modified: trunk/connector-mxj/_dev_notes.txt
===================================================================
--- trunk/connector-mxj/_dev_notes.txt	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/_dev_notes.txt	2007-05-04 13:05:34 UTC (rev 83)
@@ -5,7 +5,6 @@
 
 ---------
 TODO:
- * MysqldResource FIXME: Remove use of defaultArch and "Win" shortcuts. 
  * Replace option parsing with pre-parsed options table read from resources
 
 ---------

Modified: trunk/connector-mxj/build.xml
===================================================================
--- trunk/connector-mxj/build.xml	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/build.xml	2007-05-04 13:05:34 UTC (rev 83)
@@ -20,12 +20,12 @@
  version $Id: build.xml,v 1.22 2005/10/25 18:00:57 eherman Exp $
 -->
 <project name="MySQL JMX" basedir="." default="usage">
-	<description>A JMX Wrapper for MySQL</description>
+	<description>A Java Wrapper for MySQL</description>
 
-	<property name="mxj-version" value="5-0-5-beta" />
+	<property name="mxj-version" value="5-0-6-beta" />
 	<property name="gpl-mysqld-version" value="5-0-37" />
 	<!-- property name="gpl-mysqld-version" value="5-1-15" / -->
-	<property name="commercial-mysqld-version" value="5-0-36" />
+	<property name="commercial-mysqld-version" value="5-0-40" />
 
 	<property name="src" location="src" />
 	<property name="misc" location="misc" />

Deleted: trunk/connector-mxj/commercial/5-0-40/platform-map.properties
===================================================================
--- trunk/connector-mxj/commercial/5-0-40/platform-map.properties	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/commercial/5-0-40/platform-map.properties	2007-05-04 13:05:34 UTC (rev 83)
@@ -1,37 +0,0 @@
-#key: System.getProperty("os.name") + "-" + System.getProperty("os.arch")
-
-Linux-i386=Linux-i386
-Linux-x86=Linux-i386
-Linux-i686=Linux-i386
-Linux-x86_64=Linux-i386
-
-#Linux-ppc=Linux-ppc
-#Linux-ppc64=
-
-Mac OS X-i386=Mac_OS_X-i386
-Mac OS X-ppc=Mac_OS_X-ppc
-Rhapsody-PowerPC=Mac_OS_X-ppc
-#Mac OS-PowerPC=
-#macos-PowerPC=
-#MacOS-PowerPC=
-
-SunOS-sparc=SunOS-sparc
-Solaris-sparc=SunOS-sparc
-#SunOS-x86=
-#Solaris-x86=
-
-FreeBSD-x86=FreeBSD-x86
-
-Windows Vista-x86=Win-x86
-Windows 2003-x86=Win-x86
-Windows XP-x86=Win-x86
-Windows 2000-x86=Win-x86
-Windows NT-x86=Win-x86
-Windows NT (unknown)-x86=Win-x86
-
-#Windows 98-x86=
-#Windows 95-x86=
-#Windows 95-Pentium=
-#Windows CE-Unknown=
-
-

Modified: trunk/connector-mxj/commercial/connector-mxj.properties
===================================================================
--- trunk/connector-mxj/commercial/connector-mxj.properties	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/commercial/connector-mxj.properties	2007-05-04 13:05:34 UTC (rev 83)
@@ -3,6 +3,3 @@
 # default version of mysqld to deploy
 mysql-version=5.0.40
 
-# for Windows and Linux, Connector/MXJ can default to 32 bit x86 architecture
-# so binaries resources are not required for each variation. 
-use-default-architecture=true

Copied: trunk/connector-mxj/commercial/platform-map.properties (from rev 82, trunk/connector-mxj/commercial/5-0-40/platform-map.properties)
===================================================================
--- trunk/connector-mxj/commercial/5-0-40/platform-map.properties	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/commercial/platform-map.properties	2007-05-04 13:05:34 UTC (rev 83)
@@ -0,0 +1,38 @@
+#String key = System.getProperty("os.name") + "-" + System.getProperty("os.arch");
+#key = key.replace(' ', '_').replace('/', '_').replace('\\', '_');
+
+Linux-i386=Linux-i386
+Linux-x86=Linux-i386
+Linux-i686=Linux-i386
+Linux-x86_64=Linux-i386
+
+#Linux-ppc=Linux-ppc
+#Linux-ppc64=Linux-ppc
+
+Mac_OS_X-i386=Mac_OS_X-i386
+Mac_OS_X-ppc=Mac_OS_X-ppc
+Rhapsody-PowerPC=Mac_OS_X-ppc
+#Mac_OS-PowerPC=
+#macos-PowerPC=
+#MacOS-PowerPC=
+
+SunOS-sparc=SunOS-sparc
+Solaris-sparc=SunOS-sparc
+#SunOS-x86=
+#Solaris-x86=
+
+FreeBSD-x86=FreeBSD-x86
+
+Windows_Vista-x86=Win-x86
+Windows_2003-x86=Win-x86
+Windows_XP-x86=Win-x86
+Windows_2000-x86=Win-x86
+Windows_NT-x86=Win-x86
+Windows_NT_(unknown)-x86=Win-x86
+
+#Windows_98-x86=
+#Windows_95-x86=
+#Windows_95-Pentium=
+#Windows_CE-Unknown=
+
+

Deleted: trunk/connector-mxj/resources/5-0-37/platform-map.properties
===================================================================
--- trunk/connector-mxj/resources/5-0-37/platform-map.properties	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/resources/5-0-37/platform-map.properties	2007-05-04 13:05:34 UTC (rev 83)
@@ -1,37 +0,0 @@
-#key: System.getProperty("os.name") + "-" + System.getProperty("os.arch")
-
-Linux-i386=Linux-i386
-Linux-x86=Linux-i386
-Linux-i686=Linux-i386
-Linux-x86_64=Linux-i386
-
-#Linux-ppc=Linux-ppc
-#Linux-ppc64=
-
-Mac OS X-i386=Mac_OS_X-i386
-Mac OS X-ppc=Mac_OS_X-ppc
-Rhapsody-PowerPC=Mac_OS_X-ppc
-#Mac OS-PowerPC=
-#macos-PowerPC=
-#MacOS-PowerPC=
-
-SunOS-sparc=SunOS-sparc
-Solaris-sparc=SunOS-sparc
-#SunOS-x86=
-#Solaris-x86=
-
-FreeBSD-x86=FreeBSD-x86
-
-Windows Vista-x86=Win-x86
-Windows 2003-x86=Win-x86
-Windows XP-x86=Win-x86
-Windows 2000-x86=Win-x86
-Windows NT-x86=Win-x86
-Windows NT (unknown)-x86=Win-x86
-
-#Windows 98-x86=
-#Windows 95-x86=
-#Windows 95-Pentium=
-#Windows CE-Unknown=
-
-

Deleted: trunk/connector-mxj/resources/5-1-15/platform-map.properties
===================================================================
--- trunk/connector-mxj/resources/5-1-15/platform-map.properties	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/resources/5-1-15/platform-map.properties	2007-05-04 13:05:34 UTC (rev 83)
@@ -1,37 +0,0 @@
-#key: System.getProperty("os.name") + "-" + System.getProperty("os.arch")
-
-Linux-i386=Linux-i386
-Linux-x86=Linux-i386
-Linux-i686=Linux-i386
-Linux-x86_64=Linux-i386
-
-#Linux-ppc=Linux-ppc
-#Linux-ppc64=
-
-Mac OS X-i386=Mac_OS_X-i386
-Mac OS X-ppc=Mac_OS_X-ppc
-Rhapsody-PowerPC=Mac_OS_X-ppc
-#Mac OS-PowerPC=
-#macos-PowerPC=
-#MacOS-PowerPC=
-
-SunOS-sparc=SunOS-sparc
-Solaris-sparc=SunOS-sparc
-#SunOS-x86=
-#Solaris-x86=
-
-FreeBSD-x86=FreeBSD-x86
-
-Windows Vista-x86=Win-x86
-Windows 2003-x86=Win-x86
-Windows XP-x86=Win-x86
-Windows 2000-x86=Win-x86
-Windows NT-x86=Win-x86
-Windows NT (unknown)-x86=Win-x86
-
-#Windows 98-x86=
-#Windows 95-x86=
-#Windows 95-Pentium=
-#Windows CE-Unknown=
-
-

Modified: trunk/connector-mxj/resources/connector-mxj.properties
===================================================================
--- trunk/connector-mxj/resources/connector-mxj.properties	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/resources/connector-mxj.properties	2007-05-04 13:05:34 UTC (rev 83)
@@ -4,6 +4,3 @@
 mysql-version=5.0.37
 # mysql-version=5.1.15
 
-# for Windows and Linux, Connector/MXJ can default to 32 bit x86 architecture
-# so binaries resources are not required for each variation. 
-use-default-architecture=true

Copied: trunk/connector-mxj/resources/platform-map.properties (from rev 81, trunk/connector-mxj/resources/5-0-37/platform-map.properties)
===================================================================
--- trunk/connector-mxj/resources/5-0-37/platform-map.properties	2007-05-04 10:39:04 UTC (rev 81)
+++ trunk/connector-mxj/resources/platform-map.properties	2007-05-04 13:05:34 UTC (rev 83)
@@ -0,0 +1,38 @@
+#String key = System.getProperty("os.name") + "-" + System.getProperty("os.arch");
+#key = key.replace(' ', '_').replace('/', '_').replace('\\', '_');
+
+Linux-i386=Linux-i386
+Linux-x86=Linux-i386
+Linux-i686=Linux-i386
+Linux-x86_64=Linux-i386
+
+#Linux-ppc=Linux-ppc
+#Linux-ppc64=Linux-ppc
+
+Mac_OS_X-i386=Mac_OS_X-i386
+Mac_OS_X-ppc=Mac_OS_X-ppc
+Rhapsody-PowerPC=Mac_OS_X-ppc
+#Mac_OS-PowerPC=
+#macos-PowerPC=
+#MacOS-PowerPC=
+
+SunOS-sparc=SunOS-sparc
+Solaris-sparc=SunOS-sparc
+#SunOS-x86=
+#Solaris-x86=
+
+FreeBSD-x86=FreeBSD-x86
+
+Windows_Vista-x86=Win-x86
+Windows_2003-x86=Win-x86
+Windows_XP-x86=Win-x86
+Windows_2000-x86=Win-x86
+Windows_NT-x86=Win-x86
+Windows_NT_(unknown)-x86=Win-x86
+
+#Windows_98-x86=
+#Windows_95-x86=
+#Windows_95-Pentium=
+#Windows_CE-Unknown=
+
+

Modified: trunk/connector-mxj/src/com/mysql/management/MysqldFactory.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/MysqldFactory.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/MysqldFactory.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -19,15 +19,13 @@
 
 import java.io.File;
 
-
 public interface MysqldFactory {
-    MysqldResourceI newMysqldResource(File baseDir, File dataDir,
-            String version, boolean guessArch);
+    MysqldResourceI newMysqldResource(File baseDir, File dataDir, String version);
 
     public static final class Default implements MysqldFactory {
         public MysqldResourceI newMysqldResource(File baseDir, File dataDir,
-                String version, boolean guessArch) {
-            return new MysqldResource(baseDir, dataDir, version, guessArch);
+                String version) {
+            return new MysqldResource(baseDir, dataDir, version);
         }
     }
 }

Modified: trunk/connector-mxj/src/com/mysql/management/MysqldResource.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/MysqldResource.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/MysqldResource.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -28,11 +28,11 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 
 import com.mysql.jdbc.Driver;
 import com.mysql.jdbc.MysqlErrorNumbers;
 import com.mysql.management.util.CommandLineOptionsParser;
-import com.mysql.management.util.Files;
 import com.mysql.management.util.ListToString;
 import com.mysql.management.util.NullPrintStream;
 import com.mysql.management.util.Platform;
@@ -72,9 +72,9 @@
 
     private String pid;
 
-    private String osName;
+    private Properties platformProperties;
 
-    private String osArch;
+    private String osName_osArch;
 
     private PrintStream out;
 
@@ -94,54 +94,51 @@
     private Utils utils;
 
     public MysqldResource() {
-        this(new Files().nullFile());
+        this(null, null, null, null, null, null, null);
     }
 
     public MysqldResource(File baseDir) {
-        this(baseDir, new Files().nullFile());
+        this(baseDir, null, null, null, null, null, null);
     }
 
     public MysqldResource(File baseDir, File dataDir) {
-        this(baseDir, dataDir, null);
+        this(baseDir, dataDir, null, null, null, null, null);
     }
 
     public MysqldResource(File baseDir, File dataDir, String mysqlVersionString) {
-        this(baseDir, dataDir, mysqlVersionString, true);
+        this(baseDir, dataDir, mysqlVersionString, null, null, null, null);
     }
 
     public MysqldResource(File baseDir, File dataDir,
-            String mysqlVersionString, boolean guessArch) {
-        this(baseDir, dataDir, mysqlVersionString, guessArch, System.out,
-                System.err);
+            String mysqlVersionString, PrintStream out, PrintStream err) {
+        this(baseDir, dataDir, mysqlVersionString, out, err, null, null);
     }
 
-    public MysqldResource(File baseDir, File dataDir,
-            String mysqlVersionString, boolean guessArch, PrintStream out,
-            PrintStream err) {
-        this(baseDir, dataDir, mysqlVersionString, guessArch, out, err,
-                new Utils());
-    }
-
     MysqldResource(File baseDir, File dataDir, String mysqlVersionString,
-            boolean guessArch, PrintStream out, PrintStream err, Utils util) {
-        this.out = out;
-        this.err = err;
-        this.utils = util;
-        this.optionParser = new HelpOptionsParser(err, utils);
-        this.killDelay = 30000;
-        this.baseDir = utils.files().validCononicalDir(baseDir,
-                utils.files().tmp(MYSQL_C_MXJ));
-        this.dataDir = utils.files().validCononicalDir(dataDir,
+            PrintStream out, PrintStream err, Utils utils,
+            Properties platformProperties) {
+        this.out = (out != null) ? out : System.out;
+        this.err = (err != null) ? err : System.err;
+        this.utils = (utils != null) ? utils : new Utils();
+        this.platformProperties = (platformProperties != null) ? platformProperties
+                : this.utils.streams().loadProperties(
+                        "platform-map.properties", err);
+        this.baseDir = this.utils.files().validCononicalDir(baseDir,
+                this.utils.files().tmp(MYSQL_C_MXJ));
+        this.dataDir = this.utils.files().validCononicalDir(dataDir,
                 new File(this.baseDir, DATA));
-        String className = utils.str().shortClassName(getClass());
-        this.pidFile = utils.files().cononical(
+
+        this.optionParser = new HelpOptionsParser(err, this.utils);
+        this.killDelay = 30000;
+        String className = this.utils.str().shortClassName(getClass());
+        this.pidFile = this.utils.files().cononical(
                 new File(this.dataDir, className + ".pid"));
-        this.portFile = new File(this.dataDir, "port");
+        this.portFile = new File(this.dataDir, className + ".port");
         setVersion(false, mysqlVersionString);
-        this.msgPrefix = "[" + utils.str().shortClassName(getClass()) + "] ";
+        this.msgPrefix = "[" + className + "] ";
         this.options = new HashMap();
         this.setShell(null);
-        setOsAndArch(System.getProperty(Platform.OS_NAME), guessArch, System
+        setOsAndArch(System.getProperty(Platform.OS_NAME), System
                 .getProperty(Platform.OS_ARCH));
         this.completionListensers = new ArrayList();
         initTrace();
@@ -433,32 +430,9 @@
     }
 
     /* called from constructor, over-ride with care */
-    final void setOsAndArch(String osName, boolean defaultArch, String osArch) {
-        /*
-         * FIXME: Remove use of defaultArch and "Win" shortcuts.
-         * 
-         * PROBLEM: If on Linux-ppc, we shouldn't even try Linux-i386.
-         * 
-         * SOLUTION: Replace current code with a resource table of os-arch
-         * combinations and only remap if an entry exists in the table. Consider
-         * wild-card matching. This resource table should be in a text editable
-         * file, not a class file.
-         * 
-         * SOLUTION DOWN-SIDES: Long-term, we may wish to provide a way to get
-         * more information than simply os name and architecture. For instance,
-         * "SunOS 8 or SunOS 10" or maybe "sparc 32 or sparc 64". At that time
-         * we may wish to provide a real interface with user-plugablity, but
-         * there is no immediate demand.
-         */
-        String name = osName;
-        if (osName.indexOf("Win") != -1) {
-            name = "Win";
-            osArch = defaultArch ? "x86" : stripUnwantedChars(osArch);
-        } else if (osName.indexOf("Linux") != -1) {
-            osArch = defaultArch ? "i386" : stripUnwantedChars(osArch);
-        }
-        this.osName = stripUnwantedChars(name);
-        this.osArch = stripUnwantedChars(osArch);
+    final void setOsAndArch(String osName, String osArch) {
+        String key = stripUnwantedChars(osName + "-" + osArch);
+        this.osName_osArch = platformProperties.getProperty(key, key);
     }
 
     String stripUnwantedChars(String str) {
@@ -516,7 +490,7 @@
     }
 
     String os_arch() {
-        return osName + "-" + osArch;
+        return osName_osArch;
     }
 
     private String executableName() {
@@ -525,7 +499,7 @@
     }
 
     boolean isWindows() {
-        return osName.equals("Win");
+        return osName_osArch.startsWith("Win");
     }
 
     File getMysqldFilePointer() {
@@ -696,8 +670,7 @@
         }
 
         MysqldResource mysqld = new MysqldResource(clop.getBaseDir(), clop
-                .getDataDir(), clop.getVersion(), clop.defaultArchitecture(),
-                out, err);
+                .getDataDir(), clop.getVersion(), out, err);
         if (clop.isShutdown()) {
             mysqld.shutdown();
             return;

Modified: trunk/connector-mxj/src/com/mysql/management/MysqldResourceTest.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/MysqldResourceTest.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/MysqldResourceTest.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -68,8 +68,8 @@
             warn("residual files");
         }
 
-        mysqldResource = new MysqldResource(baseDir, dataDir, null, true,
-                System.out, System.err, utils);
+        mysqldResource = new MysqldResource(baseDir, dataDir, null, System.out,
+                System.err, utils, null);
         // mysqldResource.setKillDelay(10000);
     }
 
@@ -87,12 +87,12 @@
     }
 
     private void setSystemPropertiesToWinNT() {
-        mysqldResource.setOsAndArch("Windows NT", true, "x86");
+        mysqldResource.setOsAndArch("Windows NT", "x86");
         assertTrue(mysqldResource.isWindows());
     }
 
     private void setSytemPropertiesToLinux() {
-        mysqldResource.setOsAndArch("Linux", true, "i386");
+        mysqldResource.setOsAndArch("Linux", "i386");
         assertFalse(mysqldResource.isWindows());
     }
 
@@ -172,8 +172,7 @@
 
     public void testUglyPlatformName() {
         assertEquals("a_b_c_d", mysqldResource.stripUnwantedChars("a b/c\\d"));
-        mysqldResource.setOsAndArch("Bogus OS W/ Spaces", true,
-                "\\Arch in Space");
+        mysqldResource.setOsAndArch("Bogus OS W/ Spaces", "\\Arch in Space");
         String resourceName = mysqldResource.getResourceName();
         assertTrue(resourceName.indexOf(' ') == -1);
         assertTrue(resourceName.indexOf('\\') == -1);
@@ -204,7 +203,7 @@
     }
 
     public void testUnknownOs() {
-        mysqldResource.setOsAndArch("bogus", true, "x86");
+        mysqldResource.setOsAndArch("bogus", "x86");
         Exception expected = null;
         try {
             mysqldResource.makeMysqld();
@@ -261,8 +260,8 @@
     public void testTestReporting() {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         PrintStream captured = new PrintStream(baos);
-        mysqldResource = new MysqldResource(baseDir, dataDir, null, true,
-                captured, captured, utils);
+        mysqldResource = new MysqldResource(baseDir, dataDir, null, captured,
+                captured, utils, null);
 
         mysqldResource.reportIfNoPidfile(true);
         captured.flush();
@@ -309,8 +308,8 @@
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         PrintStream captured = new PrintStream(baos);
 
-        mysqldResource = new MysqldResource(baseDir, dataDir, "", true,
-                captured, captured, utils);
+        mysqldResource = new MysqldResource(baseDir, dataDir, "", captured,
+                captured, utils, null);
         mysqldResource.finalize();
         captured.flush();
         String output = new String(baos.toByteArray());
@@ -353,33 +352,30 @@
         assertTrue(mysqldResource.canConnectToServer(testUtil.testPort(), 1));
     }
 
-    public void testArchitectureGuessing() {
-        // platform architecture guessing on Linux:
-        mysqldResource.setOsAndArch("Linux", false, "x86_64");
-        assertEquals("Linux-x86_64", mysqldResource.os_arch());
+    public void testPlatformMapProperties() {
 
-        mysqldResource.setOsAndArch("Linux", true, "x86_64");
+        mysqldResource.setOsAndArch("Linux", "x86_64");
         assertEquals("Linux-i386", mysqldResource.os_arch());
 
-        // platform architecture guessing on Windows:
-        mysqldResource.setOsAndArch("WindowsNT", true, "x86_64");
+        mysqldResource.setOsAndArch("Linux", "i686");
+        assertEquals("Linux-i386", mysqldResource.os_arch());
+
+        mysqldResource.setOsAndArch("Windows NT", "x86");
         assertEquals("Win-x86", mysqldResource.os_arch());
 
-        mysqldResource.setOsAndArch("Windows XP", true, "x86_64");
+        mysqldResource.setOsAndArch("Windows XP", "x86");
         assertEquals("Win-x86", mysqldResource.os_arch());
 
-        // No guessing on OS X
-        mysqldResource.setOsAndArch("Mac OS X", true, "i386");
+        mysqldResource.setOsAndArch("Mac OS X", "i386");
         assertEquals("Mac_OS_X-i386", mysqldResource.os_arch());
 
-        mysqldResource.setOsAndArch("Mac OS X", true, "ppc");
+        mysqldResource.setOsAndArch("Mac OS X", "ppc");
         assertEquals("Mac_OS_X-ppc", mysqldResource.os_arch());
 
-        // No guessing on Solaris
-        mysqldResource.setOsAndArch("SunOS", true, "sparc");
+        mysqldResource.setOsAndArch("SunOS", "sparc");
         assertEquals("SunOS-sparc", mysqldResource.os_arch());
 
-        mysqldResource.setOsAndArch("SunOS", true, "i386");
+        mysqldResource.setOsAndArch("SunOS", "i386");
         assertEquals("SunOS-i386", mysqldResource.os_arch());
     }
 

Modified: trunk/connector-mxj/src/com/mysql/management/driverlaunched/ServerLauncherSocketFactory.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/driverlaunched/ServerLauncherSocketFactory.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/driverlaunched/ServerLauncherSocketFactory.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -82,18 +82,11 @@
             dataDir = new Files().validCononicalDir(ddir);
         }
 
-        boolean guessArch = true;
-        String guessArchStr = (String) serverOpts
-                .get(MysqldResourceI.USE_DEFAULT_ARCHITECTURE);
-        if (guessArchStr != null) {
-            guessArch = Boolean.valueOf(guessArchStr).booleanValue();
-        }
-
         String mysqldVersion = (String) serverOpts
                 .get(MysqldResourceI.MYSQLD_VERSION);
 
         MysqldResourceI mysqld = resourceFactory.newMysqldResource(baseDir,
-                dataDir, mysqldVersion, guessArch);
+                dataDir, mysqldVersion);
 
         if (mysqld.isRunning()) {
             int runningPort = mysqld.getPort();

Modified: trunk/connector-mxj/src/com/mysql/management/driverlaunched/ServerLauncherSocketFactoryTest.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/driverlaunched/ServerLauncherSocketFactoryTest.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/driverlaunched/ServerLauncherSocketFactoryTest.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -42,7 +42,7 @@
         }
 
         public MysqldResourceI newMysqldResource(File base, File data,
-                String version, boolean guessArch) {
+                String version) {
             return new MysqldResourceTestImpl(base, data, fakeRunningMysqlds);
         }
     }

Modified: trunk/connector-mxj/src/com/mysql/management/jmx/SimpleMysqldDynamicMBean.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/jmx/SimpleMysqldDynamicMBean.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/jmx/SimpleMysqldDynamicMBean.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -128,7 +128,7 @@
     private void initAttributes() {
         attributes = new DefaultsMap();
         Map options = new TreeMap(mysqldFactory.newMysqldResource(null, null,
-                null, true).getServerOptions());
+                null).getServerOptions());
         List attInfs = new ArrayList();
         makeAttribute(attInfs, AUTOSTART_ATTR, Boolean.FALSE.toString(), true);
         for (Iterator iter = options.entrySet().iterator(); iter.hasNext();) {
@@ -236,18 +236,12 @@
         throw new ReflectionException(new NoSuchMethodException(msg), msg);
     }
 
-    /*
-     * TODO: Either make "USE_DEFAULT_ARCHITECTURE" accesible or better yet,
-     * resolve the related FIXME in MysqldResource
-     */
     private void newMysqldResource() {
         File baseDir = getFileAttribute(MysqldResourceI.BASEDIR);
         File dataDir = getFileAttribute(MysqldResourceI.DATADIR);
         String version = getStringAttribute(MysqldResourceI.MYSQLD_VERSION);
-        boolean guessArch = getBooleanAttribute(
-                MysqldResourceI.USE_DEFAULT_ARCHITECTURE, true);
         mysqldResource = mysqldFactory.newMysqldResource(baseDir, dataDir,
-                version, guessArch);
+                version);
     }
 
     protected void clearMBeanInfo() {
@@ -331,14 +325,6 @@
         return fileName == null ? null : new File(fileName);
     }
 
-    private boolean getBooleanAttribute(String key, boolean ifNull) {
-        String boolStr = getStringAttribute(key);
-        if (boolStr == null) {
-            return ifNull;
-        }
-        return Boolean.valueOf(boolStr).booleanValue();
-    }
-
     private String getStringAttribute(final String key) {
         if (!attributes.containsKey(key)) {
             return null;

Modified: trunk/connector-mxj/src/com/mysql/management/jmx/TestFactory.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/jmx/TestFactory.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/jmx/TestFactory.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -16,7 +16,7 @@
     }
 
     public MysqldResourceI newMysqldResource(File baseDir, File dataDir,
-            String version, boolean guessArch) {
+            String version) {
         return mysqld;
     }
 }

Modified: trunk/connector-mxj/src/com/mysql/management/util/CommandLineOptionsParser.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/util/CommandLineOptionsParser.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/util/CommandLineOptionsParser.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -99,13 +99,4 @@
     public boolean isShutdown() {
         return containsKey("shutdown");
     }
-
-    public boolean defaultArchitecture() {
-        String guessArchStr = (String) params
-                .get(MysqldResourceI.USE_DEFAULT_ARCHITECTURE);
-        if (guessArchStr == null) {
-            return true;
-        }
-        return Boolean.valueOf(guessArchStr).booleanValue();
-    }
 }

Modified: trunk/connector-mxj/src/com/mysql/management/util/Streams.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/util/Streams.java	2007-05-04 10:41:59 UTC (rev 82)
+++ trunk/connector-mxj/src/com/mysql/management/util/Streams.java	2007-05-04 13:05:34 UTC (rev 83)
@@ -213,23 +213,27 @@
 
     public String getSystemPropertyWithDefaultFromResource(String property,
             String resourceName, PrintStream err) {
-        String fileVal = null;
+        Properties props = loadProperties(resourceName, err);
+        String fileVal = (String) props.get(property);
+        return System.getProperty(property, fileVal);
+    }
+
+    public Properties loadProperties(String resourceName, PrintStream err) {
+        final InputStream is = getResourceAsStream(resourceName);
+
         Properties props = new Properties();
-        final InputStream is = getResourceAsStream(resourceName);
-        if (is != null) {
+        try {
+            props.load(is);
+        } catch (IOException e) {
+            e.printStackTrace(err);
+        } finally {
             try {
-                props.load(is);
-                fileVal = (String) props.get(property);
+                is.close();
             } catch (IOException e) {
                 e.printStackTrace(err);
-            } finally {
-                try {
-                    is.close();
-                } catch (IOException e) {
-                    e.printStackTrace(err);
-                }
             }
         }
-        return System.getProperty(property, fileVal);
+
+        return props;
     }
 }

Thread
Connector/MXJ commit: r83 - in trunk/connector-mxj: . commercial commercial/5-0-40 resources resources/5-0-37 resources/5-1-15 src/com/mysql/managemen...eherman4 May