mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jvergara
11.43.2008 d7527cb0c55d3e89e89ab1d532dc511521c5a264
Fix for 3475 (Java Web Start setup is broken in Mac OS).

Use reflection to call a class that was breaking the java web start in Mac OS. Also move some constants from a class with dependencies on OpenDS.jar (SetupLauncher) to Constants.java.
5 files modified
66 ■■■■ changed files
opends/src/quicksetup/org/opends/quicksetup/Constants.java 6 ●●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java 9 ●●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java 20 ●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/installer/SetupLauncher.java 10 ●●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/ui/GuiApplication.java 21 ●●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/Constants.java
@@ -96,4 +96,10 @@
  /** The maximum chars we show in a line of a dialog. */
  public static final int MAX_CHARS_PER_LINE_IN_DIALOG = 100;
  /** Prefix for log files. */
  public static final String LOG_FILE_PREFIX = "opends-setup-";
  /** Suffix for log files. */
  public static final String LOG_FILE_SUFFIX = ".log";
}
opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java
@@ -40,6 +40,7 @@
import java.util.logging.Logger;
import org.opends.quicksetup.ButtonName;
import org.opends.quicksetup.Constants;
import org.opends.quicksetup.CurrentInstallStatus;
import org.opends.quicksetup.ProgressStep;
import org.opends.quicksetup.QuickSetupLog;
@@ -49,8 +50,6 @@
import org.opends.quicksetup.WizardStep;
import org.opends.quicksetup.event.ProgressUpdateListener;
import org.opends.quicksetup.installandupgrader.ui.WelcomePanel;
import org.opends.quicksetup.installer.Installer;
import org.opends.quicksetup.installer.SetupLauncher;
import org.opends.quicksetup.installer.offline.OfflineInstaller;
import org.opends.quicksetup.installer.webstart.WebStartInstaller;
import org.opends.quicksetup.ui.FieldName;
@@ -70,8 +69,8 @@
{
  static private final Logger LOG =
    Logger.getLogger(InstallAndUpgrader.class.getName());
  private Installer installer;
  private Upgrader upgrader;
  private GuiApplication installer;
  private GuiApplication upgrader;
  private InstallAndUpgradeUserData userData;
  /**
@@ -84,7 +83,7 @@
      if (!QuickSetupLog.isInitialized())
        QuickSetupLog.initLogFileHandler(
                File.createTempFile(
                        SetupLauncher.LOG_FILE_PREFIX,
                        Constants.LOG_FILE_PREFIX,
                        QuickSetupLog.LOG_FILE_SUFFIX));
    } catch (IOException e) {
      System.err.println(INFO_ERROR_INITIALIZING_LOG.get());
opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
@@ -63,13 +63,26 @@
import org.opends.admin.ads.util.ApplicationTrustManager;
import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.admin.ads.util.PreferredConnection;
import org.opends.quicksetup.ApplicationException;
import org.opends.quicksetup.ButtonName;
import org.opends.quicksetup.Constants;
import org.opends.quicksetup.Installation;
import org.opends.quicksetup.ProgressStep;
import org.opends.quicksetup.QuickSetupLog;
import org.opends.quicksetup.ReturnCode;
import org.opends.quicksetup.SecurityOptions;
import org.opends.quicksetup.Step;
import org.opends.quicksetup.UserData;
import org.opends.quicksetup.UserDataCertificateException;
import org.opends.quicksetup.UserDataConfirmationException;
import org.opends.quicksetup.UserDataException;
import org.opends.quicksetup.WizardStep;
import org.opends.quicksetup.ui.*;
import org.opends.quicksetup.util.IncompatibleVersionException;
import org.opends.quicksetup.util.Utils;
import static org.opends.quicksetup.util.Utils.*;
import static org.opends.quicksetup.Step.*;
import org.opends.quicksetup.*;
import org.opends.server.util.CertificateManager;
import org.opends.quicksetup.event.ButtonActionListener;
import org.opends.quicksetup.event.ButtonEvent;
@@ -196,8 +209,8 @@
      if (!QuickSetupLog.isInitialized())
        QuickSetupLog.initLogFileHandler(
                File.createTempFile(
                    SetupLauncher.LOG_FILE_PREFIX,
                    SetupLauncher.LOG_FILE_SUFFIX));
                    Constants.LOG_FILE_PREFIX,
                    Constants.LOG_FILE_SUFFIX));
    } catch (IOException e) {
      System.err.println("Failed to initialize log");
    }
@@ -3942,7 +3955,6 @@
    {
      suffixes.add(replica.getSuffix());
    }
    // BUG: suf can be null here below
    getUserData().setSuffixesToReplicateOptions(
        new SuffixesToReplicateOptions(type, suffixes, suf.getSuffixes()));
  }
opends/src/quicksetup/org/opends/quicksetup/installer/SetupLauncher.java
@@ -33,6 +33,7 @@
import java.io.File;
import java.util.logging.Logger;
import org.opends.quicksetup.Constants;
import org.opends.quicksetup.ReturnCode;
import org.opends.quicksetup.CliApplication;
import org.opends.quicksetup.Installation;
@@ -56,12 +57,6 @@
 */
public class SetupLauncher extends Launcher {
  /** Prefix for log files. */
  static public final String LOG_FILE_PREFIX = "opends-setup-";
  /** Suffix for log files. */
  static public final String LOG_FILE_SUFFIX = ".log";
  static private final Logger LOG =
          Logger.getLogger(SetupLauncher.class.getName());
@@ -75,7 +70,8 @@
  public static void main(String[] args) {
    try {
      QuickSetupLog.initLogFileHandler(
              File.createTempFile(LOG_FILE_PREFIX, LOG_FILE_SUFFIX),
              File.createTempFile(Constants.LOG_FILE_PREFIX,
                  Constants.LOG_FILE_SUFFIX),
              "org.opends.quicksetup.installer");
      QuickSetupLog.disableConsoleLogging();
opends/src/quicksetup/org/opends/quicksetup/ui/GuiApplication.java
@@ -27,12 +27,19 @@
package org.opends.quicksetup.ui;
import org.opends.quicksetup.*;
import org.opends.quicksetup.util.ServerController;
import org.opends.quicksetup.util.InProcessServerController;
import org.opends.quicksetup.util.UIKeyStore;
import org.opends.quicksetup.util.Utils;
import org.opends.quicksetup.Application;
import org.opends.quicksetup.ApplicationException;
import org.opends.quicksetup.ButtonName;
import org.opends.quicksetup.ReturnCode;
import org.opends.quicksetup.UserData;
import org.opends.quicksetup.UserDataCertificateException;
import org.opends.quicksetup.UserDataException;
import org.opends.quicksetup.UserInteraction;
import org.opends.quicksetup.WizardStep;
import org.opends.quicksetup.webstart.WebStartDownloader;
import org.opends.messages.Message;
import static org.opends.messages.QuickSetupMessages.*;
@@ -600,7 +607,17 @@
    UserInteraction ui = null;
    if (getUserData().isInteractive()) {
      if (Utils.isCli()) {
        ui = new CliUserInteraction();
        // Use reflection to avoid breaking the java web start in some
        // platforms.
        try
        {
          Class cl = Class.forName("org.opends.quicksetup.CliUserInteraction");
          ui = (UserInteraction) cl.newInstance();
        }
        catch (Throwable t)
        {
          throw new IllegalStateException("Unexpected error: "+t, t);
        }
      } else {
        ui = new GuiUserInteraction(qs.getFrame());
      }