From f1eebaffa04eb5d931ab368a074012740fd56fe3 Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Wed, 19 Sep 2007 17:35:25 +0000
Subject: [PATCH] - add Mac native application bundles for QuickSetup, Uninstall and StatusPanel.   note that these bundles are not self contained and cannot be arbitrary moved outside of OpenDS distribution or installation location.

---
 opends/resource/mac/QuickSetup.app/Contents/Resources/OpenDS.icns      |    0 
 opends/resource/mac/QuickSetup.app/Contents/PkgInfo                    |    1 
 opends/src/quicksetup/org/opends/quicksetup/Installation.java          |   15 +++
 opends/resource/mac/StatusPanel.app/Contents/MacOS/JavaApplicationStub |    0 
 opends/resource/mac/Uninstall.app/Contents/Resources/OpenDS.icns       |    0 
 opends/resource/mac/QuickSetup.app/Contents/Info.plist                 |   42 ++++++++
 opends/resource/mac/StatusPanel.app/Contents/PkgInfo                   |    1 
 opends/build.xml                                                       |  103 ++++++++++++++------
 opends/resource/mac/QuickSetup.app/Contents/MacOS/JavaApplicationStub  |    0 
 opends/resource/mac/StatusPanel.app/Contents/Info.plist                |   42 ++++++++
 opends/resource/mac/Uninstall.app/Contents/Info.plist                  |   42 ++++++++
 opends/src/quicksetup/org/opends/quicksetup/ui/QuickSetup.java         |   16 ++
 opends/resource/mac/StatusPanel.app/Contents/Resources/OpenDS.icns     |    0 
 opends/resource/mac/Uninstall.app/Contents/PkgInfo                     |    1 
 opends/resource/mac/Uninstall.app/Contents/MacOS/JavaApplicationStub   |    0 
 15 files changed, 230 insertions(+), 33 deletions(-)

diff --git a/opends/build.xml b/opends/build.xml
index 5bda04f..c0a32f9 100644
--- a/opends/build.xml
+++ b/opends/build.xml
@@ -316,7 +316,7 @@
     <path id="quickSetup.classpath">
        <pathelement location="${quicksetup.classes.dir}" />
     </path>
-    
+
     <tstamp>
       <format property="timestamp" pattern="yyyyMMddHHmmss'Z'"
            timezone="UTC" />
@@ -622,7 +622,7 @@
   	   <fileset dir="${msg.prop.dir}"
   	          includes="**/quicksetup.properties" />
   	</copy>
-  	
+
   </target>
 
 
@@ -769,25 +769,40 @@
     <property name="pdir"
          location="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}" />
 
-    <mkdir dir="${pdir}"                 />
-    <mkdir dir="${pdir}/adminDb"         />
-    <mkdir dir="${pdir}/bak"             />
-    <mkdir dir="${pdir}/bat"             />
-    <mkdir dir="${pdir}/bin"             />
-    <mkdir dir="${pdir}/classes"         />
-    <mkdir dir="${pdir}/config"          />
-    <mkdir dir="${pdir}/config/upgrade"  />
-    <mkdir dir="${pdir}/config/schema"   />
-    <mkdir dir="${pdir}/config/messages" />
-    <mkdir dir="${pdir}/config/MakeLDIF" />
-    <mkdir dir="${pdir}/db"              />
-    <mkdir dir="${pdir}/changelogDb"     />
-    <mkdir dir="${pdir}/ldif"            />
-    <mkdir dir="${pdir}/legal-notices"   />
-    <mkdir dir="${pdir}/lib"             />
-    <mkdir dir="${pdir}/lib/extensions"  />
-    <mkdir dir="${pdir}/locks"           />
-    <mkdir dir="${pdir}/logs"            />
+    <mkdir dir="${pdir}"                                             />
+    <mkdir dir="${pdir}/adminDb"                                     />
+    <mkdir dir="${pdir}/bak"                                         />
+    <mkdir dir="${pdir}/bat"                                         />
+    <mkdir dir="${pdir}/bin"                                         />
+    <mkdir dir="${pdir}/classes"                                     />
+    <mkdir dir="${pdir}/config"                                      />
+    <mkdir dir="${pdir}/config/upgrade"                              />
+    <mkdir dir="${pdir}/config/schema"                               />
+    <mkdir dir="${pdir}/config/messages"                             />
+    <mkdir dir="${pdir}/config/MakeLDIF"                             />
+    <mkdir dir="${pdir}/db"                                          />
+    <mkdir dir="${pdir}/changelogDb"                                 />
+    <mkdir dir="${pdir}/ldif"                                        />
+    <mkdir dir="${pdir}/legal-notices"                               />
+    <mkdir dir="${pdir}/lib"                                         />
+    <mkdir dir="${pdir}/lib/extensions"                              />
+    <mkdir dir="${pdir}/locks"                                       />
+    <mkdir dir="${pdir}/logs"                                        />
+    <mkdir dir="${pdir}/bin/StatusPanel.app"                         />
+    <mkdir dir="${pdir}/bin/StatusPanel.app/Contents"                />
+    <mkdir dir="${pdir}/bin/StatusPanel.app/Contents/MacOS"          />
+    <mkdir dir="${pdir}/bin/StatusPanel.app/Contents/Resources"      />
+    <mkdir dir="${pdir}/bin/StatusPanel.app/Contents/Resources/Java" />
+    <mkdir dir="${pdir}/QuickSetup.app"                              />
+    <mkdir dir="${pdir}/QuickSetup.app/Contents"                     />
+    <mkdir dir="${pdir}/QuickSetup.app/Contents/MacOS"               />
+    <mkdir dir="${pdir}/QuickSetup.app/Contents/Resources"           />
+    <mkdir dir="${pdir}/QuickSetup.app/Contents/Resources/Java"      />
+    <mkdir dir="${pdir}/Uninstall.app"                               />
+    <mkdir dir="${pdir}/Uninstall.app/Contents"                      />
+    <mkdir dir="${pdir}/Uninstall.app/Contents/MacOS"                />
+    <mkdir dir="${pdir}/Uninstall.app/Contents/Resources"            />
+    <mkdir dir="${pdir}/Uninstall.app/Contents/Resources/Java"       />
 
 
     <!-- copy the message properties files -->
@@ -801,8 +816,8 @@
           file="${msg.javagen.dir}/org/opends/messages/descriptors.reg" />
 
     <jar jarfile="${pdir}/lib/${SHORT_NAME}.jar"
-         basedir="${classes.dir}" 
-         excludes="${ads.classes.dir}, ${quicksetup.globalcompile.classes.dir}"    
+         basedir="${classes.dir}"
+         excludes="${ads.classes.dir}, ${quicksetup.globalcompile.classes.dir}"
          compress="true" index="true" />
 
     <jar jarfile="${pdir}/lib/quicksetup.jar"
@@ -871,6 +886,32 @@
     <chmod file="${pdir}/setup" perm="755" />
     <chmod file="${pdir}/uninstall" perm="755" />
     <chmod file="${pdir}/upgrade" perm="755" />
+
+    <copy todir="${pdir}/QuickSetup.app">
+      <fileset dir="${resource.dir}/mac/QuickSetup.app" />
+    </copy>
+    <chmod perm="755">
+      <fileset dir="${pdir}">
+        <include name="QuickSetup.app/Contents/MacOS/JavaApplicationStub" />
+      </fileset>
+    </chmod>
+    <copy todir="${pdir}/Uninstall.app">
+      <fileset dir="${resource.dir}/mac/Uninstall.app" />
+    </copy>
+    <chmod perm="755">
+      <fileset dir="${pdir}">
+        <include name="Uninstall.app/Contents/MacOS/JavaApplicationStub" />
+      </fileset>
+    </chmod>
+    <copy todir="${pdir}/bin/StatusPanel.app">
+      <fileset dir="${resource.dir}/mac/StatusPanel.app" />
+    </copy>
+    <chmod perm="755">
+      <fileset dir="${pdir}/bin">
+        <include name="StatusPanel.app/Contents/MacOS/JavaApplicationStub" />
+      </fileset>
+    </chmod>
+
     <chmod perm="755">
       <fileset dir="${pdir}/bin">
       </fileset>
@@ -887,7 +928,7 @@
        description="Package the Directory Server for distribution.">
     <zip destfile="${package.dir}/${SHORT_NAME}-${VERSION_NUMBER_STRING}.zip">
       <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/**/*"
-           excludes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/*,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_client-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_server-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/setup,${SHORT_NAME}-${VERSION_NUMBER_STRING}/uninstall,${SHORT_NAME}-${VERSION_NUMBER_STRING}/upgrade"
+           excludes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/*,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_client-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_server-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/setup,${SHORT_NAME}-${VERSION_NUMBER_STRING}/uninstall,${SHORT_NAME}-${VERSION_NUMBER_STRING}/upgrade,${SHORT_NAME}-${VERSION_NUMBER_STRING}/QuickSetup.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/Uninstall.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/StatusPanel.app/Contents/MacOS/JavaApplicationStub"
            filemode="644" dirmode="755" />
       <zipfileset dir="${package.dir}"
            includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_client-script.sh,${SHORT_NAME}-${VERSION_NUMBER_STRING}/lib/_server-script.sh"
@@ -897,7 +938,7 @@
            filemode="755" dirmode="755" />
       <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/README_WINDOWS.txt"
            filemode="644" dirmode="755" />
-      <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/setup,${SHORT_NAME}-${VERSION_NUMBER_STRING}/uninstall,${SHORT_NAME}-${VERSION_NUMBER_STRING}/upgrade"
+      <zipfileset dir="${package.dir}" includes="${SHORT_NAME}-${VERSION_NUMBER_STRING}/setup,${SHORT_NAME}-${VERSION_NUMBER_STRING}/uninstall,${SHORT_NAME}-${VERSION_NUMBER_STRING}/upgrade,${SHORT_NAME}-${VERSION_NUMBER_STRING}/QuickSetup.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/Uninstall.app/Contents/MacOS/JavaApplicationStub,${SHORT_NAME}-${VERSION_NUMBER_STRING}/bin/StatusPanel.app/Contents/MacOS/JavaApplicationStub"
            filemode="755" dirmode="755" />
     </zip>
     <property name="package.built" value="true"/>
@@ -1112,7 +1153,7 @@
         </not>
       </and>
     </condition>
- 
+
     <!-- run tests dependent upon creation of the .zip file -->
     <condition property="test.packages" value="org.opends.server.*,org.opends.messages.*,org.opends.quicksetup.*">
       <and>
@@ -1488,9 +1529,9 @@
 
 
     <!-- If the debug port was set, we pass these options into the <testng> target below:
-           -Xdebug 
-           -Xnoagent 
-           -Djava.compiler=NONE 
+           -Xdebug
+           -Xnoagent
+           -Djava.compiler=NONE
            -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
      -->
     <condition property="test.remote.debug.suspend" value="y">
@@ -1507,8 +1548,8 @@
     <condition property="jvm.debug.arg3" value="-Djava.compiler=NONE" else="-Dopends.bogus.debug.arg3">
        <isset property="test.remote.debug.port" />
     </condition>
-    <condition property="jvm.debug.arg4" 
-         value="-Xrunjdwp:transport=dt_socket,server=y,suspend=${test.remote.debug.suspend},address=${test.remote.debug.port}" 
+    <condition property="jvm.debug.arg4"
+         value="-Xrunjdwp:transport=dt_socket,server=y,suspend=${test.remote.debug.suspend},address=${test.remote.debug.port}"
          else="-Dopends.bogus.debug.arg4">
        <isset property="test.remote.debug.port" />
     </condition>
diff --git a/opends/resource/mac/QuickSetup.app/Contents/Info.plist b/opends/resource/mac/QuickSetup.app/Contents/Info.plist
new file mode 100644
index 0000000..f6ce8c6
--- /dev/null
+++ b/opends/resource/mac/QuickSetup.app/Contents/Info.plist
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleAllowMixedLocalizations</key>
+	<string>true</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>JavaApplicationStub</string>
+	<key>CFBundleGetInfoString</key>
+	<string>OpenDS QuickSetup</string>
+	<key>CFBundleIconFile</key>
+	<string>OpenDS.icns</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>OpenDS QuickSetup</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>Java</key>
+	<dict>
+		<key>ClassPath</key>
+		<array>
+			<string>$JAVAROOT/../../../../lib/quicksetup.jar</string>
+			<string>$JAVAROOT/../../../../lib/activation.jar</string>
+			<string>$JAVAROOT/../../../../lib/aspectjrt.jar</string>
+			<string>$JAVAROOT/../../../../lib/OpenDS.jar</string>
+			<string>$JAVAROOT/../../../../lib/mail.jar</string>
+			<string>$JAVAROOT/../../../../lib/je.jar</string>
+		</array>
+		<key>JVMVersion</key>
+		<string>1.5+</string>
+		<key>MainClass</key>
+		<string>org.opends.quicksetup.installer.SetupLauncher</string>
+	</dict>
+</dict>
+</plist>
diff --git a/opends/resource/mac/QuickSetup.app/Contents/MacOS/JavaApplicationStub b/opends/resource/mac/QuickSetup.app/Contents/MacOS/JavaApplicationStub
new file mode 100755
index 0000000..4190041
--- /dev/null
+++ b/opends/resource/mac/QuickSetup.app/Contents/MacOS/JavaApplicationStub
Binary files differ
diff --git a/opends/resource/mac/QuickSetup.app/Contents/PkgInfo b/opends/resource/mac/QuickSetup.app/Contents/PkgInfo
new file mode 100644
index 0000000..bd04210
--- /dev/null
+++ b/opends/resource/mac/QuickSetup.app/Contents/PkgInfo
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/opends/resource/mac/QuickSetup.app/Contents/Resources/OpenDS.icns b/opends/resource/mac/QuickSetup.app/Contents/Resources/OpenDS.icns
new file mode 100644
index 0000000..dad9cbb
--- /dev/null
+++ b/opends/resource/mac/QuickSetup.app/Contents/Resources/OpenDS.icns
Binary files differ
diff --git a/opends/resource/mac/StatusPanel.app/Contents/Info.plist b/opends/resource/mac/StatusPanel.app/Contents/Info.plist
new file mode 100644
index 0000000..7796f4c
--- /dev/null
+++ b/opends/resource/mac/StatusPanel.app/Contents/Info.plist
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleAllowMixedLocalizations</key>
+	<string>true</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>JavaApplicationStub</string>
+	<key>CFBundleGetInfoString</key>
+	<string>OpenDS Status Panel</string>
+	<key>CFBundleIconFile</key>
+	<string>OpenDS.icns</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>OpenDS Status Panel</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>Java</key>
+	<dict>
+		<key>ClassPath</key>
+		<array>
+			<string>$JAVAROOT/../../../../../lib/quicksetup.jar</string>
+			<string>$JAVAROOT/../../../../../lib/activation.jar</string>
+			<string>$JAVAROOT/../../../../../lib/aspectjrt.jar</string>
+			<string>$JAVAROOT/../../../../../lib/OpenDS.jar</string>
+			<string>$JAVAROOT/../../../../../lib/mail.jar</string>
+			<string>$JAVAROOT/../../../../../lib/je.jar</string>
+		</array>
+		<key>JVMVersion</key>
+		<string>1.5+</string>
+		<key>MainClass</key>
+		<string>org.opends.guitools.statuspanel.StatusPanelLauncher</string>
+	</dict>
+</dict>
+</plist>
diff --git a/opends/resource/mac/StatusPanel.app/Contents/MacOS/JavaApplicationStub b/opends/resource/mac/StatusPanel.app/Contents/MacOS/JavaApplicationStub
new file mode 100755
index 0000000..4190041
--- /dev/null
+++ b/opends/resource/mac/StatusPanel.app/Contents/MacOS/JavaApplicationStub
Binary files differ
diff --git a/opends/resource/mac/StatusPanel.app/Contents/PkgInfo b/opends/resource/mac/StatusPanel.app/Contents/PkgInfo
new file mode 100644
index 0000000..bd04210
--- /dev/null
+++ b/opends/resource/mac/StatusPanel.app/Contents/PkgInfo
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/opends/resource/mac/StatusPanel.app/Contents/Resources/OpenDS.icns b/opends/resource/mac/StatusPanel.app/Contents/Resources/OpenDS.icns
new file mode 100644
index 0000000..dad9cbb
--- /dev/null
+++ b/opends/resource/mac/StatusPanel.app/Contents/Resources/OpenDS.icns
Binary files differ
diff --git a/opends/resource/mac/Uninstall.app/Contents/Info.plist b/opends/resource/mac/Uninstall.app/Contents/Info.plist
new file mode 100644
index 0000000..c8f0454
--- /dev/null
+++ b/opends/resource/mac/Uninstall.app/Contents/Info.plist
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleAllowMixedLocalizations</key>
+	<string>true</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleExecutable</key>
+	<string>JavaApplicationStub</string>
+	<key>CFBundleGetInfoString</key>
+	<string>OpenDS Uninstall</string>
+	<key>CFBundleIconFile</key>
+	<string>OpenDS.icns</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>OpenDS Uninstall</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>Java</key>
+	<dict>
+		<key>ClassPath</key>
+		<array>
+			<string>$JAVAROOT/../../../../lib/quicksetup.jar</string>
+			<string>$JAVAROOT/../../../../lib/activation.jar</string>
+			<string>$JAVAROOT/../../../../lib/aspectjrt.jar</string>
+			<string>$JAVAROOT/../../../../lib/OpenDS.jar</string>
+			<string>$JAVAROOT/../../../../lib/mail.jar</string>
+			<string>$JAVAROOT/../../../../lib/je.jar</string>
+		</array>
+		<key>JVMVersion</key>
+		<string>1.5+</string>
+		<key>MainClass</key>
+		<string>org.opends.guitools.uninstaller.UninstallLauncher</string>
+	</dict>
+</dict>
+</plist>
diff --git a/opends/resource/mac/Uninstall.app/Contents/MacOS/JavaApplicationStub b/opends/resource/mac/Uninstall.app/Contents/MacOS/JavaApplicationStub
new file mode 100755
index 0000000..4190041
--- /dev/null
+++ b/opends/resource/mac/Uninstall.app/Contents/MacOS/JavaApplicationStub
Binary files differ
diff --git a/opends/resource/mac/Uninstall.app/Contents/PkgInfo b/opends/resource/mac/Uninstall.app/Contents/PkgInfo
new file mode 100644
index 0000000..bd04210
--- /dev/null
+++ b/opends/resource/mac/Uninstall.app/Contents/PkgInfo
@@ -0,0 +1 @@
+APPL????
\ No newline at end of file
diff --git a/opends/resource/mac/Uninstall.app/Contents/Resources/OpenDS.icns b/opends/resource/mac/Uninstall.app/Contents/Resources/OpenDS.icns
new file mode 100644
index 0000000..dad9cbb
--- /dev/null
+++ b/opends/resource/mac/Uninstall.app/Contents/Resources/OpenDS.icns
Binary files differ
diff --git a/opends/src/quicksetup/org/opends/quicksetup/Installation.java b/opends/src/quicksetup/org/opends/quicksetup/Installation.java
index 6c9a604..3f3e0e2 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/Installation.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/Installation.java
@@ -64,6 +64,11 @@
   public static final String UNIX_BINARIES_PATH_RELATIVE = "bin";
 
   /**
+   * The relative path where all the MacOS X Applications are.
+   */
+  public static final String MAC_APPLICATIONS_PATH_RELATIVE = "bin";
+
+  /**
    * The relative path where all the libraries (jar files) are.
    */
   public static final String LIBRARIES_PATH_RELATIVE = "lib";
@@ -189,6 +194,11 @@
   public static final String WINDOWS_STATUSPANEL_FILE_NAME = "status-panel.bat";
 
   /**
+   * The MacOS X status panel application bundle name.
+   */
+  public static final String MAC_STATUSPANEL_FILE_NAME = "StatusPanel.app";
+
+  /**
    * The UNIX status command line script file name.
    */
   public static final String UNIX_STATUSCLI_FILE_NAME = "status";
@@ -725,6 +735,10 @@
     if (Utils.isWindows()) {
       statusPanelCommandFile = new File(getBinariesDirectory(),
               WINDOWS_STATUSPANEL_FILE_NAME);
+    } else if (Utils.isMacOS()) {
+      statusPanelCommandFile = new File(getRootDirectory() +
+        File.separator + MAC_APPLICATIONS_PATH_RELATIVE,
+        MAC_STATUSPANEL_FILE_NAME);
     } else {
       statusPanelCommandFile = new File(getBinariesDirectory(),
               UNIX_STATUSPANEL_FILE_NAME);
@@ -796,6 +810,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public String toString() {
     return Utils.getPath(rootDirectory);
   }
diff --git a/opends/src/quicksetup/org/opends/quicksetup/ui/QuickSetup.java b/opends/src/quicksetup/org/opends/quicksetup/ui/QuickSetup.java
index 67ea53e..6bd64a8 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/ui/QuickSetup.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/ui/QuickSetup.java
@@ -43,6 +43,7 @@
 import javax.swing.*;
 
 import java.awt.Cursor;
+import java.util.ArrayList;
 import java.util.logging.Logger;
 import java.util.logging.Level;
 import java.util.logging.Handler;
@@ -93,6 +94,9 @@
   // Update period of the dialogs.
   private static final int UPDATE_PERIOD = 500;
 
+  // The full pathname of the MacOS X LaunchServices OPEN(1) helper.
+  private static final String MAC_APPLICATIONS_OPENER = "/usr/bin/open";
+
   /**
    * This method creates the install/uninstall dialogs and to check the current
    * install status. This method must be called outside the event thread because
@@ -388,8 +392,16 @@
           } else {
             installation = Installation.getLocal();
           }
-          String cmd = getPath(installation.getStatusPanelCommandFile());
-          ProcessBuilder pb = new ProcessBuilder(cmd);
+          ProcessBuilder pb;
+          if (isMacOS()) {
+            ArrayList<String> cmd = new ArrayList<String>();
+            cmd.add(MAC_APPLICATIONS_OPENER);
+            cmd.add(getPath(installation.getStatusPanelCommandFile()));
+            pb = new ProcessBuilder(cmd);
+          } else {
+            String cmd = getPath(installation.getStatusPanelCommandFile());
+            pb = new ProcessBuilder(cmd);
+          }
           Map<String, String> env = pb.environment();
           env.put("JAVA_HOME", System.getProperty("java.home"));
           /* Remove JAVA_BIN to be sure that we use the JVM running the

--
Gitblit v1.10.0