From f54aeb79b0f90d550c8cdcac5bfc22d4fc4579ce Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Thu, 12 Apr 2007 21:17:33 +0000
Subject: [PATCH] - The upgrader now contains a small companion program BuildExtractor that is run prior to Upgrader that extacts the user specified build file. This is done to allow upgrader to run from the new builds bits as opposed to the current build's bits.
---
opends/src/quicksetup/org/opends/quicksetup/Application.java | 340 ++++----------------------------------------------------
1 files changed, 26 insertions(+), 314 deletions(-)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/Application.java b/opends/src/quicksetup/org/opends/quicksetup/Application.java
index b0420e6..8c66069 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/Application.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/Application.java
@@ -30,54 +30,60 @@
import org.opends.quicksetup.event.ProgressNotifier;
import org.opends.quicksetup.event.ProgressUpdateListener;
import org.opends.quicksetup.event.ProgressUpdateEvent;
-import org.opends.quicksetup.i18n.ResourceProvider;
+import org.opends.quicksetup.util.ServerController;
import org.opends.quicksetup.util.Utils;
import org.opends.quicksetup.util.ProgressMessageFormatter;
-import org.opends.quicksetup.util.ServerController;
-import org.opends.quicksetup.ui.QuickSetupDialog;
-import org.opends.quicksetup.ui.QuickSetupStepPanel;
-import org.opends.quicksetup.ui.FramePanel;
-import javax.swing.*;
-import java.io.*;
-import java.util.*;
+import org.opends.quicksetup.i18n.ResourceProvider;
+
+import java.io.PrintStream;
+import java.io.ByteArrayOutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
-import java.awt.event.WindowEvent;
+import java.util.HashSet;
/**
- * This class represents an application that can be run in the context
- * of QuickSetup. Examples of applications might be 'installer',
- * 'uninstaller' and 'upgrader'.
+ * This class represents an application that can be run in the context of
+ * QuickSetup. Examples of applications might be 'installer', 'uninstaller'
+ * and 'upgrader'.
*/
public abstract class Application implements ProgressNotifier, Runnable {
static private final Logger LOG =
Logger.getLogger(Application.class.getName());
- /** The currently displayed wizard step. */
- private WizardStep displayedStep;
-
/** Represents current install state. */
protected CurrentInstallStatus installStatus;
+ private HashSet<ProgressUpdateListener> listeners =
+ new HashSet<ProgressUpdateListener>();
+
+ private UserData userData;
+
+ private Installation installation;
+
+ private ServerController serverController;
+
+ /** Formats progress messages. */
+ protected ProgressMessageFormatter formatter;
+
/**
* Creates an application by instantiating the Application class
* denoted by the System property
* <code>org.opends.quicksetup.Application.class</code>.
* @return Application object that was newly instantiated
- * @throws ApplicationException if there was a problem creating
- * the new Application object
+ * @throws org.opends.quicksetup.ApplicationException if there was a problem
+ * creating the new Application object
*/
- static public Application create()
+ static public GuiApplication create()
throws ApplicationException {
- Application app;
+ GuiApplication app;
String appClassName =
System.getProperty("org.opends.quicksetup.Application.class");
if (appClassName != null) {
Class appClass = null;
try {
appClass = Class.forName(appClassName);
- app = (Application) appClass.newInstance();
+ app = (GuiApplication) appClass.newInstance();
} catch (ClassNotFoundException e) {
LOG.log(Level.INFO, "error creating quicksetup application", e);
String msg = "Application class " + appClass + " not found";
@@ -104,33 +110,6 @@
return app;
}
- private HashSet<ProgressUpdateListener> listeners =
- new HashSet<ProgressUpdateListener>();
-
- private UserData userData;
-
- private Installation installation;
-
- private ServerController serverController;
-
- /** Formats progress messages. */
- protected ProgressMessageFormatter formatter;
-
- /**
- * Constructs an instance of an application. Subclasses
- * of this application must have a default constructor.
- */
- public Application() {
- this.displayedStep = getFirstWizardStep();
- }
-
- /**
- * Gets the frame title of the GUI application that will be used
- * in some operating systems.
- * @return internationalized String representing the frame title
- */
- abstract public String getFrameTitle();
-
/**
* Sets this instances user data.
* @param userData UserData this application will use
@@ -168,16 +147,6 @@
}
/**
- * Returns whether the installer has finished or not.
- * @return <CODE>true</CODE> if the install is finished or <CODE>false
- * </CODE> if not.
- */
- public boolean isFinished()
- {
- return getCurrentProgressStep().isLast();
- }
-
- /**
* Gets the OpenDS installation associated with the execution of this
* command.
* @return Installation object representing the current OpenDS installation
@@ -512,58 +481,12 @@
}
/**
- * Returns the initial wizard step.
- * @return Step representing the first step to show in the wizard
- */
- public abstract WizardStep getFirstWizardStep();
-
- /**
- * Called by the quicksetup controller when the user advances to
- * a new step in the wizard. Applications are expected to manipulate
- * the QuickSetupDialog to reflect the current step.
- *
- * @param step Step indicating the new current step
- * @param userData UserData representing the data specified by the user
- * @param dlg QuickSetupDialog hosting the wizard
- */
- protected void setDisplayedWizardStep(WizardStep step,
- UserData userData,
- QuickSetupDialog dlg) {
- this.displayedStep = step;
-
- // First call the panels to do the required updates on their layout
- dlg.setDisplayedStep(step, userData);
- setWizardDialogState(dlg, userData, step);
- }
-
- /**
- * Called when the user advances to new step in the wizard. Applications
- * are expected to manipulate the QuickSetupDialog to reflect the current
- * step.
- * @param dlg QuickSetupDialog hosting the wizard
- * @param userData UserData representing the data specified by the user
- * @param step Step indicating the new current step
- */
- protected abstract void setWizardDialogState(QuickSetupDialog dlg,
- UserData userData,
- WizardStep step);
-
- /**
* Returns the installation path.
* @return the installation path.
*/
protected abstract String getInstallationPath();
/**
- * Returns the tab formatted.
- * @return the tab formatted.
- */
- protected String getTab()
- {
- return formatter.getTab();
- }
-
- /**
* Gets the current step.
* @return ProgressStep representing the current step
*/
@@ -595,216 +518,6 @@
}
/**
- * Called by the controller when the window is closing. The application
- * can take application specific actions here.
- * @param dlg QuickSetupDialog that will be closing
- * @param evt The event from the Window indicating closing
- */
- abstract public void windowClosing(QuickSetupDialog dlg, WindowEvent evt);
-
- /**
- * This method is called when we detected that there is something installed
- * we inform of this to the user and the user wants to proceed with the
- * installation destroying the contents of the data and the configuration
- * in the current installation.
- */
- public void forceToDisplay() {
- // This is really only appropriate for Installer.
- // The default implementation is to do nothing.
- // The Installer application overrides this with
- // whatever it needs.
- }
-
- /**
- * Get the name of the button that will receive initial focus.
- * @return ButtonName of the button to receive initial focus
- */
- abstract public ButtonName getInitialFocusButtonName();
-
- /**
- * Creates the main panel for the wizard dialog.
- * @param dlg QuickSetupDialog used
- * @return JPanel frame panel
- */
- public JPanel createFramePanel(QuickSetupDialog dlg) {
- return new FramePanel(dlg.getStepsPanel(),
- dlg.getCurrentStepPanel(),
- dlg.getButtonsPanel());
- }
-
- /**
- * Returns the set of wizard steps used in this application's wizard.
- * @return Set of Step objects representing wizard steps
- */
- abstract public Set<? extends WizardStep> getWizardSteps();
-
- /**
- * Creates a wizard panel given a specific step.
- * @param step for which a panel representation should be created
- * @return QuickSetupStepPanel for representing the <code>step</code>
- */
- abstract public QuickSetupStepPanel createWizardStepPanel(WizardStep step);
-
- /**
- * Gets the next step in the wizard given a current step.
- * @param step Step the current step
- * @return Step the next step
- */
- abstract public WizardStep getNextWizardStep(WizardStep step);
-
- /**
- * Gets the previous step in the wizard given a current step.
- * @param step Step the current step
- * @return Step the previous step
- */
- abstract public WizardStep getPreviousWizardStep(WizardStep step);
-
- /**
- * Indicates whether or not the user is allowed to return to a previous
- * step from <code>step</code>.
- * @param step WizardStep for which the the return value indicates whether
- * or not the user can return to a previous step
- * @return boolean where true indicates the user can return to a previous
- * step from <code>step</code>
- */
- public boolean canGoBack(WizardStep step) {
- return !getFirstWizardStep().equals(step);
- }
-
- /**
- * Indicates whether or not the user is allowed to move to a new
- * step from <code>step</code>.
- * @param step WizardStep for which the the return value indicates whether
- * or not the user can move to a new step
- * @return boolean where true indicates the user can move to a new
- * step from <code>step</code>
- */
- public boolean canGoForward(WizardStep step) {
- return getNextWizardStep(step) != null;
- }
-
- /**
- * Inidicates whether or not the user is allowed to finish the wizard from
- * <code>step</code>.
- * @param step WizardStep for which the the return value indicates whether
- * or not the user can finish the wizard
- * @return boolean where true indicates the user can finish the wizard
- */
- public boolean canFinish(WizardStep step) {
- return getNextWizardStep(step) != null;
- }
-
- /**
- * Inidicates whether or not the user is allowed to quit the wizard from
- * <code>step</code>.
- * @param step WizardStep for which the the return value indicates whether
- * or not the user can quit the wizard
- * @return boolean where true indicates the user can quit the wizard
- */
- public boolean canQuit(WizardStep step) {
- return false;
- }
-
- /**
- * Inidicates whether or not the user is allowed to close the wizard from
- * <code>step</code>.
- * @param step WizardStep for which the the return value indicates whether
- * or not the user can close the wizard
- * @return boolean where true indicates the user can close the wizard
- */
- public boolean canClose(WizardStep step) {
- return false;
- }
-
- /**
- * Inidicates whether or not the user is allowed to cancel the wizard from
- * <code>step</code>.
- * @param step WizardStep for which the the return value indicates whether
- * or not the user can cancel the wizard
- * @return boolean where true indicates the user can cancel the wizard
- */
- public boolean canCancel(WizardStep step) {
- return false;
- }
-
- /**
- * Called when the user has clicked the 'previous' button.
- * @param cStep WizardStep at which the user clicked the previous button
- * @param qs QuickSetup controller
- */
- public abstract void previousClicked(WizardStep cStep, QuickSetup qs);
-
- /**
- * Called when the user has clicked the 'finish' button.
- * @param cStep WizardStep at which the user clicked the previous button
- * @param qs QuickSetup controller
- */
- public abstract void finishClicked(final WizardStep cStep,
- final QuickSetup qs);
-
- /**
- * Called when the user has clicked the 'next' button.
- * @param cStep WizardStep at which the user clicked the next button
- * @param qs QuickSetup controller
- */
- public abstract void nextClicked(WizardStep cStep, QuickSetup qs);
-
- /**
- * Called when the user has clicked the 'close' button.
- * @param cStep WizardStep at which the user clicked the close button
- * @param qs QuickSetup controller
- */
- public abstract void closeClicked(WizardStep cStep, QuickSetup qs);
-
- /**
- * Called when the user has clicked the 'cancel' button.
- * @param cStep WizardStep at which the user clicked the cancel button
- * @param qs QuickSetup controller
- */
- public abstract void cancelClicked(WizardStep cStep, QuickSetup qs);
-
- /**
- * Called when the user has clicked the 'quit' button.
- * @param step WizardStep at which the user clicked the quit button
- * @param qs QuickSetup controller
- */
- abstract public void quitClicked(WizardStep step, QuickSetup qs);
-
- /**
- * Called whenever this application should update its user data from
- * values found in QuickSetup.
- * @param cStep current wizard step
- * @param qs QuickSetup controller
- * @throws UserDataException if there is a problem with the data
- */
- abstract protected void updateUserData(WizardStep cStep, QuickSetup qs)
- throws UserDataException;
-
- /**
- * Gets the key for the close button's tool tip text.
- * @return String key of the text in the resource bundle
- */
- public String getCloseButtonToolTip() {
- return "close-button-tooltip";
- }
-
- /**
- * Gets the key for the finish button's tool tip text.
- * @return String key of the text in the resource bundle
- */
- public String getFinishButtonToolTip() {
- return "finish-button-tooltip";
- }
-
- /**
- * Gets the key for the finish button's label.
- * @return String key of the text in the resource bundle
- */
- public String getFinishButtonLabel() {
- return "finish-button-label";
- }
-
- /**
* This class is used to notify the ProgressUpdateListeners of events
* that are written to the standard error. It is used in WebStartInstaller
* and in OfflineInstaller. These classes just create a ErrorPrintStream and
@@ -921,5 +634,4 @@
println(new String(b, off, len));
}
}
-
}
--
Gitblit v1.10.0