From d7527cb0c55d3e89e89ab1d532dc511521c5a264 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Sun, 10 Aug 2008 23:43:10 +0000
Subject: [PATCH] Fix for 3475 (Java Web Start setup is broken in Mac OS).
---
opends/src/quicksetup/org/opends/quicksetup/ui/GuiApplication.java | 21 +++++++++-
opends/src/quicksetup/org/opends/quicksetup/Constants.java | 6 +++
opends/src/quicksetup/org/opends/quicksetup/installer/SetupLauncher.java | 10 +---
opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java | 20 ++++++++--
opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java | 9 ++--
5 files changed, 48 insertions(+), 18 deletions(-)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/Constants.java b/opends/src/quicksetup/org/opends/quicksetup/Constants.java
index 22e2e1f..a6725fe 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/Constants.java
+++ b/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";
}
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java b/opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java
index ff016c2..5d14717 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java
+++ b/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());
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java b/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
index 56b1d89..9481c96 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
+++ b/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()));
}
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/SetupLauncher.java b/opends/src/quicksetup/org/opends/quicksetup/installer/SetupLauncher.java
index e6a7d7a..3d1036c 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/SetupLauncher.java
+++ b/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();
diff --git a/opends/src/quicksetup/org/opends/quicksetup/ui/GuiApplication.java b/opends/src/quicksetup/org/opends/quicksetup/ui/GuiApplication.java
index d91826f..25ecab2 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/ui/GuiApplication.java
+++ b/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());
}
--
Gitblit v1.10.0