From 4dc4aa0c15b318b761b92e2394d0fde58a3e8232 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 18 Dec 2007 11:24:28 +0000
Subject: [PATCH] Fix for issue 1862 (verbosity options for quicksetup tools)
---
opends/src/quicksetup/org/opends/quicksetup/util/ZipExtractor.java | 15
opends/src/server/org/opends/server/tools/InstallDS.java | 4
opends/src/quicksetup/org/opends/quicksetup/installer/offline/OfflineInstaller.java | 109 +++++
opends/src/messages/messages/quicksetup.properties | 8
opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java | 114 +++++-
opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java | 166 ++++++++--
opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java | 4
opends/src/quicksetup/org/opends/quicksetup/UserData.java | 20 +
opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java | 358 +++++++++++----------
opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java | 5
opends/src/quicksetup/org/opends/quicksetup/util/FileManager.java | 8
opends/src/quicksetup/org/opends/quicksetup/util/PlainTextProgressMessageFormatter.java | 2
opends/src/quicksetup/org/opends/quicksetup/Application.java | 126 ++++---
13 files changed, 635 insertions(+), 304 deletions(-)
diff --git a/opends/src/messages/messages/quicksetup.properties b/opends/src/messages/messages/quicksetup.properties
index e25d0ea..0010b71 100644
--- a/opends/src/messages/messages/quicksetup.properties
+++ b/opends/src/messages/messages/quicksetup.properties
@@ -662,7 +662,7 @@
the key store contains certificates.
INFO_PREVIOUS_BUTTON_LABEL=< Previous
INFO_PREVIOUS_BUTTON_TOOLTIP=Go to Previous Step
-INFO_PROGRESS_CANCEL=Waiting to cancel operation.
+INFO_PROGRESS_CANCELING=Canceling
INFO_PROGRESS_COLOR=000,000,000
INFO_PROGRESS_CONFIGURING=Configuring Directory Server
INFO_PROGRESS_CONFIGURING_REPLICATION=Configuring Replication
@@ -698,8 +698,12 @@
INFO_PROGRESS_EXTRACTING=Extracting %s
INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED=Importing \
Automatically-Generated Data (%s Entries):
+INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED_NON_VERBOSE=Importing \
+ Automatically-Generated Data (%s Entries)
INFO_PROGRESS_IMPORTING_LDIF=Importing LDIF file %s:
INFO_PROGRESS_IMPORTING_LDIFS=Importing LDIF files %s:
+INFO_PROGRESS_IMPORTING_LDIF_NON_VERBOSE=Importing LDIF file %s
+INFO_PROGRESS_IMPORTING_LDIFS_NON_VERBOSE=Importing LDIF files %s
INFO_PROGRESS_INITIALIZING_ADS=Initializing Registration information
INFO_PROGRESS_INITIALIZING_SCHEMA=Initializing schema information
INFO_PROGRESS_INITIALIZING_SUFFIX=Initializing base DN %s with the contents \
@@ -710,8 +714,10 @@
INFO_PROGRESS_SERVER_STOPPED=Server stopped.
INFO_PROGRESS_SERVER_WAITING_TO_STOP=Waiting for Server to stop...
INFO_PROGRESS_STARTING=Starting Directory Server:
+INFO_PROGRESS_STARTING_NON_VERBOSE=Starting Directory Server
INFO_PROGRESS_STEP=Progress
INFO_PROGRESS_STOPPING=Stopping Directory Server:
+INFO_PROGRESS_STOPPING_NON_VERBOSE=Stopping Directory Server
INFO_PROGRESS_TITLE=Progress
INFO_PROGRESS_UNCONFIGURING_ADS_ON_REMOTE=Reverting Registration \
Configuration on %s
diff --git a/opends/src/quicksetup/org/opends/quicksetup/Application.java b/opends/src/quicksetup/org/opends/quicksetup/Application.java
index 7498b28..522651e 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/Application.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/Application.java
@@ -78,6 +78,8 @@
private ApplicationTrustManager trustManager;
+ private boolean notifyListeners = true;
+
/** Formats progress messages. */
protected ProgressMessageFormatter formatter;
@@ -219,11 +221,11 @@
/**
* This method notifies the ProgressUpdateListeners that there was an
* update in the installation progress.
- * @param ratioWhenCompleted the integer that specifies which percentage of
- * the whole installation has been completed.
+ * @param ratio the integer that specifies which percentage of the whole
+ * installation has been completed.
*/
- public void notifyListenersDone(Integer ratioWhenCompleted) {
- notifyListeners(ratioWhenCompleted,
+ public void notifyListenersDone(Integer ratio) {
+ notifyListeners(ratio,
getSummary(getCurrentProgressStep()),
getFormattedDoneWithLineBreak());
}
@@ -231,6 +233,18 @@
/**
* This method notifies the ProgressUpdateListeners that there was an
* update in the installation progress.
+ * @param ratio the integer that specifies which percentage of the whole
+ * installation has been completed.
+ */
+ public void notifyListenersRatioChange(Integer ratio) {
+ notifyListeners(ratio,
+ getSummary(getCurrentProgressStep()),
+ null);
+ }
+
+ /**
+ * This method notifies the ProgressUpdateListeners that there was an
+ * update in the installation progress.
* @param ratio the integer that specifies which percentage of
* the whole installation has been completed.
* @param currentPhaseSummary the localized summary message for the
@@ -241,8 +255,11 @@
public void notifyListeners(Integer ratio, Message currentPhaseSummary,
Message newLogDetail)
{
- listenerDelegate.notifyListeners(getCurrentProgressStep(),
+ if (notifyListeners)
+ {
+ listenerDelegate.notifyListeners(getCurrentProgressStep(),
ratio, currentPhaseSummary, newLogDetail);
+ }
}
/**
@@ -250,12 +267,12 @@
* update in the installation progress.
* @param ratio the integer that specifies which percentage of
* the whole installation has been completed.
- * @param currentPhaseSummary the localized summary message for the
- * current installation progress in formatted form.
+ * @param newLogDetail the localized additional log message.
*/
- public void notifyListeners(Integer ratio, Message currentPhaseSummary) {
+ public void notifyListenersWithPoints(Integer ratio,
+ Message newLogDetail) {
notifyListeners(ratio, getSummary(getCurrentProgressStep()),
- formatter.getFormattedWithPoints(currentPhaseSummary));
+ formatter.getFormattedWithPoints(newLogDetail));
}
/**
@@ -764,12 +781,23 @@
}
/**
+ * Returns <CODE>true</CODE> if the application is running in verbose mode and
+ * <CODE>false</CODE> otherwise.
+ * @return <CODE>true</CODE> if the application is running in verbose mode and
+ * <CODE>false</CODE> otherwise.
+ */
+ public boolean isVerbose()
+ {
+ return getUserData().isVerbose();
+ }
+
+ /**
* Returns the error stream to be used by the application when launching
* command lines.
* @return the error stream to be used by the application when launching
* command lines.
*/
- protected ErrorPrintStream getApplicationErrorStream()
+ public ErrorPrintStream getApplicationErrorStream()
{
return err;
}
@@ -780,10 +808,35 @@
* @return the output stream to be used by the application when launching
* command lines.
*/
- protected OutputPrintStream getApplicationOutputStream()
+ public OutputPrintStream getApplicationOutputStream()
{
return out;
}
+
+
+
+ /**
+ * Notifies the progress update listeners of the application of the message
+ * we received.
+ * @return <CODE>true</CODE> if we must notify the application listeners
+ * of the message and <CODE>false</CODE> otherwise.
+ */
+ public boolean isNotifyListeners()
+ {
+ return notifyListeners;
+ }
+
+ /**
+ * Tells whether we must notify the listeners or not of the message
+ * received.
+ * @param notifyListeners the boolean that informs of whether we have
+ * to notify the listeners or not.
+ */
+ public void setNotifyListeners(boolean notifyListeners)
+ {
+ this.notifyListeners = notifyListeners;
+ }
+
/**
* This class is used to notify the ProgressUpdateListeners of events
* that are written to the standard error. It is used in WebStartInstaller
@@ -795,7 +848,7 @@
* ProgressUpdateListeners with the formatted messages.
*
*/
- protected class ErrorPrintStream extends ApplicationPrintStream {
+ public class ErrorPrintStream extends ApplicationPrintStream {
/**
* Default constructor.
@@ -825,7 +878,7 @@
* ProgressUpdateListeners with the formatted messages.
*
*/
- protected class OutputPrintStream extends ApplicationPrintStream
+ public class OutputPrintStream extends ApplicationPrintStream
{
/**
@@ -853,8 +906,6 @@
private boolean isFirstLine;
- private boolean notifyListeners = true;
-
/**
* Format a string before sending a listener notification.
* @param string to format
@@ -878,23 +929,20 @@
@Override
public void println(String msg)
{
- if (notifyListeners)
+ MessageBuilder mb = new MessageBuilder();
+ if (isFirstLine)
{
- MessageBuilder mb = new MessageBuilder();
- if (isFirstLine)
+ mb.append(formatString(msg));
+ } else
+ {
+ if (!Utils.isCli())
{
- mb.append(formatString(msg));
- } else
- {
- if (!Utils.isCli())
- {
- mb.append(getLineBreak());
- }
- mb.append(formatString(msg));
+ mb.append(getLineBreak());
}
-
- notifyListeners(mb.toMessage());
+ mb.append(formatString(msg));
}
+
+ notifyListeners(mb.toMessage());
LOG.log(Level.INFO, "server: " + msg);
isFirstLine = false;
}
@@ -917,27 +965,5 @@
}
println(new String(b, off, len));
}
-
- /**
- * Notifies the progress update listeners of the application of the message
- * we received.
- * @return <CODE>true</CODE> if we must notify the application listeners
- * of the message and <CODE>false</CODE> otherwise.
- */
- public boolean isNotifyListeners()
- {
- return notifyListeners;
- }
-
- /**
- * Tells whether we must notify the listeners or not of the message
- * received.
- * @param notifyListeners the boolean that informs of whether we have
- * to notify the listeners or not.
- */
- public void setNotifyListeners(boolean notifyListeners)
- {
- this.notifyListeners = notifyListeners;
- }
}
}
diff --git a/opends/src/quicksetup/org/opends/quicksetup/UserData.java b/opends/src/quicksetup/org/opends/quicksetup/UserData.java
index bc4a967..8b48a3d 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/UserData.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/UserData.java
@@ -84,6 +84,8 @@
private boolean quiet;
+ private boolean verbose;
+
private boolean interactive;
private boolean forceOnError;
@@ -100,6 +102,7 @@
startServer = true;
enableWindowsService = false;
forceOnError = true;
+ verbose = false;
LinkedList<String> baseDn = new LinkedList<String>();
baseDn.add("dc=example,dc=com");
@@ -473,6 +476,23 @@
}
/**
+ * Sets whether or not this session should be verbose.
+ * @param verbose where true indicates this sesssion should be verbose
+ */
+ public void setVerbose(boolean verbose) {
+ this.verbose = verbose;
+ }
+
+ /**
+ * Indicates whether or not the user has requested verbose mode.
+ *
+ * @return boolean where true indicates this session should be verbose.
+ */
+ public boolean isVerbose() {
+ return this.verbose;
+ }
+
+ /**
* Sets whether or not we must continue when there is a non critical error.
* @param forceOnError where true indicates to continue uninstall if there is
* a non critical error.
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java b/opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java
index d80e779..cea4e94 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installandupgrader/InstallAndUpgrader.java
@@ -49,6 +49,7 @@
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;
@@ -56,7 +57,6 @@
import org.opends.quicksetup.ui.QuickSetup;
import org.opends.quicksetup.ui.QuickSetupDialog;
import org.opends.quicksetup.ui.QuickSetupStepPanel;
-import org.opends.quicksetup.upgrader.UpgradeLauncher;
import org.opends.quicksetup.upgrader.UpgradeWizardStep;
import org.opends.quicksetup.upgrader.Upgrader;
import org.opends.quicksetup.util.ProgressMessageFormatter;
@@ -83,7 +83,7 @@
if (!QuickSetupLog.isInitialized())
QuickSetupLog.initLogFileHandler(
File.createTempFile(
- UpgradeLauncher.LOG_FILE_PREFIX,
+ SetupLauncher.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 428caec..a43e298 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java
@@ -754,6 +754,15 @@
protected void configureServer() throws ApplicationException {
notifyListeners(getFormattedWithPoints(INFO_PROGRESS_CONFIGURING.get()));
+ writeOpenDSJavaHome();
+
+ if (Utils.isWebStart())
+ {
+ setInstallation(new Installation(getUserData().getServerLocation()));
+ }
+
+ checkAbort();
+
ArrayList<String> argList = new ArrayList<String>();
argList.add("-C");
argList.add(getConfigurationClassName());
@@ -874,6 +883,7 @@
}
LOG.log(Level.INFO, "configure DS cmd: "+cmd);
final InstallerHelper helper = new InstallerHelper();
+ setNotifyListeners(false);
InvokeThread thread = new InvokeThread()
{
public void run()
@@ -894,6 +904,10 @@
ReturnCode.CONFIGURATION_ERROR,
getThrowableMsg(INFO_ERROR_CONFIGURING.get(), t), t);
}
+ finally
+ {
+ setNotifyListeners(true);
+ }
isOver = true;
}
public void abort()
@@ -902,7 +916,7 @@
}
};
invokeLongOperation(thread);
-
+ notifyListeners(getFormattedDoneWithLineBreak());
checkAbort();
try
@@ -910,7 +924,6 @@
SecurityOptions.CertificateType certType = sec.getCertificateType();
if (certType != SecurityOptions.CertificateType.NO_CERTIFICATE)
{
- notifyListeners(getLineBreak());
notifyListeners(getFormattedWithPoints(
INFO_PROGRESS_UPDATING_CERTIFICATES.get()));
}
@@ -1002,7 +1015,7 @@
}
if (certType != SecurityOptions.CertificateType.NO_CERTIFICATE)
{
- notifyListeners(getFormattedDone());
+ notifyListeners(getFormattedDoneWithLineBreak());
}
}
catch (Throwable t)
@@ -1066,8 +1079,7 @@
final String[] args = new String[argList.size()];
argList.toArray(args);
- getApplicationOutputStream().setNotifyListeners(false);
- getApplicationErrorStream().setNotifyListeners(false);
+ setNotifyListeners(false);
InvokeThread thread = new InvokeThread()
{
@@ -1091,8 +1103,7 @@
}
finally
{
- getApplicationOutputStream().setNotifyListeners(true);
- getApplicationErrorStream().setNotifyListeners(true);
+ setNotifyListeners(true);
}
isOver = true;
}
@@ -1102,7 +1113,7 @@
}
};
invokeLongOperation(thread);
- notifyListeners(getFormattedDone());
+ notifyListeners(getFormattedDoneWithLineBreak());
}
/**
@@ -1116,17 +1127,41 @@
MessageBuilder mb = new MessageBuilder();
if (ldifPaths.size() > 1)
{
- mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIFS.get(
+ if (isVerbose())
+ {
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIFS.get(
getStringFromCollection(ldifPaths, ", "))));
+ mb.append(getLineBreak());
+ }
+ else
+ {
+ mb.append(getFormattedWithPoints(
+ INFO_PROGRESS_IMPORTING_LDIFS_NON_VERBOSE.get(
+ getStringFromCollection(ldifPaths, ", "))));
+ }
}
else
{
- mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIF.get(
+ if (isVerbose())
+ {
+ mb.append(getFormattedProgress(INFO_PROGRESS_IMPORTING_LDIF.get(
ldifPaths.getFirst())));
+ mb.append(getLineBreak());
+ }
+ else
+ {
+ mb.append(getFormattedWithPoints(
+ INFO_PROGRESS_IMPORTING_LDIF_NON_VERBOSE.get(
+ ldifPaths.getFirst())));
+ }
}
- mb.append(getLineBreak());
notifyListeners(mb.toMessage());
+ if (!isVerbose())
+ {
+ setNotifyListeners(false);
+ }
+
ArrayList<String> argList = new ArrayList<String>();
argList.add("-C");
argList.add(getConfigurationClassName());
@@ -1177,6 +1212,13 @@
ReturnCode.CONFIGURATION_ERROR,
getThrowableMsg(INFO_ERROR_IMPORTING_LDIF.get(), t), t);
}
+ finally
+ {
+ if (!isVerbose())
+ {
+ setNotifyListeners(true);
+ }
+ }
isOver = true;
}
public void abort()
@@ -1185,6 +1227,10 @@
}
};
invokeLongOperation(thread);
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
}
/**
@@ -1196,14 +1242,28 @@
LinkedList<File> templatePaths = createTemplateFiles();
int nEntries = getUserData().getNewSuffixOptions().getNumberEntries();
MessageBuilder mb = new MessageBuilder();
- mb.append(getFormattedProgress(
+ if (isVerbose())
+ {
+ mb.append(getFormattedProgress(
INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED.get(
String.valueOf(nEntries))));
- mb.append(getLineBreak());
+ mb.append(getLineBreak());
+ }
+ else
+ {
+ mb.append(getFormattedWithPoints(
+ INFO_PROGRESS_IMPORT_AUTOMATICALLY_GENERATED_NON_VERBOSE.get(
+ String.valueOf(nEntries))));
+ }
notifyListeners(mb.toMessage());
for (File templatePath : templatePaths)
{
+ if (!isVerbose())
+ {
+ setNotifyListeners(false);
+ }
+
final ArrayList<String> argList = new ArrayList<String>();
argList.add("-C");
argList.add(getConfigurationClassName());
@@ -1247,6 +1307,13 @@
listToString(argList, " "), t.getLocalizedMessage()), t),
t);
}
+ finally
+ {
+ if (!isVerbose())
+ {
+ setNotifyListeners(true);
+ }
+ }
isOver = true;
}
public void abort()
@@ -1255,6 +1322,10 @@
}
};
invokeLongOperation(thread);
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
}
}
@@ -1275,8 +1346,11 @@
String ldapUrl = getLdapUrl(auth);
String dn = auth.getDn();
String pwd = auth.getPwd();
- notifyListeners(getFormattedWithPoints(
+ if (isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
INFO_PROGRESS_UNCONFIGURING_ADS_ON_REMOTE.get(getHostDisplay(auth))));
+ }
try
{
if (auth.useSecureConnection())
@@ -1327,8 +1401,10 @@
getUserData()));
}
}
- notifyListeners(getFormattedDone());
- notifyListeners(getLineBreak());
+ if (isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
}
catch (Throwable t)
{
@@ -1375,8 +1451,7 @@
{
}
}
- notifyListeners(getFormattedDone());
- notifyListeners(getLineBreak());
+ notifyListeners(getFormattedDoneWithLineBreak());
}
}
@@ -1524,8 +1599,7 @@
{
}
}
- notifyListeners(getFormattedDone());
- notifyListeners(getLineBreak());
+ notifyListeners(getFormattedDoneWithLineBreak());
checkAbort();
if (getUserData().getReplicationOptions().getType()
@@ -1646,8 +1720,7 @@
catch (Throwable t)
{
}
- notifyListeners(getFormattedDone());
- notifyListeners(getLineBreak());
+ notifyListeners(getFormattedDoneWithLineBreak());
checkAbort();
}
}
@@ -1870,18 +1943,27 @@
{
case CREATE_BASE_ENTRY:
currentProgressStep = InstallProgressStep.CREATING_BASE_ENTRY;
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
createBaseEntry();
break;
case IMPORT_FROM_LDIF_FILE:
currentProgressStep = InstallProgressStep.IMPORTING_LDIF;
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
importLDIF();
break;
case IMPORT_AUTOMATICALLY_GENERATED_DATA:
currentProgressStep =
InstallProgressStep.IMPORTING_AUTOMATICALLY_GENERATED;
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
importAutomaticallyGenerated();
break;
}
@@ -2158,8 +2240,11 @@
initial ADS there and register the server with itself. */
if (! adsContext.hasAdminData())
{
- notifyListeners(getFormattedWithPoints(
+ if (isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
INFO_PROGRESS_CREATING_ADS_ON_REMOTE.get(getHostDisplay(auth))));
+ }
adsContext.createAdminData(null);
ServerDescriptor server
@@ -2167,14 +2252,20 @@
server.updateAdsPropertiesWithServerProperties();
adsContext.registerServer(server.getAdsProperties());
createdRemoteAds = true;
- notifyListeners(getFormattedDone());
- notifyListeners(getLineBreak());
+ if (isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
checkAbort();
}
}
/* Act on local server depending on if using remote or local ADS */
- notifyListeners(getFormattedWithPoints(INFO_PROGRESS_CREATING_ADS.get()));
+ if (isVerbose())
+ {
+ notifyListeners(
+ getFormattedWithPoints(INFO_PROGRESS_CREATING_ADS.get()));
+ }
localCtx = createLocalContext();
// if (isRemoteServer)
// {
@@ -2204,8 +2295,10 @@
ServerDescriptor.seedAdsTrustStore(localCtx,
adsContext.getTrustedCertificates());
}
- notifyListeners(getFormattedDone());
- notifyListeners(getLineBreak());
+ if (isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
checkAbort();
/* Add global administrator if the user specified one. */
@@ -2213,13 +2306,18 @@
{
try
{
- notifyListeners(getFormattedWithPoints(
+ if (isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
INFO_PROGRESS_CREATING_ADMINISTRATOR.get()));
+ }
adsContext.createAdministrator(getAdministratorProperties(
getUserData()));
if (isRemoteServer && !createdRemoteAds) createdAdministrator = true;
- notifyListeners(getFormattedDone());
- notifyListeners(getLineBreak());
+ if (isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
checkAbort();
}
catch (ADSContextException ade)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/offline/OfflineInstaller.java b/opends/src/quicksetup/org/opends/quicksetup/installer/offline/OfflineInstaller.java
index 1f871fc..dda6908 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/offline/OfflineInstaller.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installer/offline/OfflineInstaller.java
@@ -105,27 +105,47 @@
checkAbort();
- writeOpenDSJavaHome();
-
if (Utils.isWindows() && getUserData().getEnableWindowsService())
{
+ if (isVerbose())
+ {
notifyListeners(getTaskSeparator());
- setCurrentProgressStep(InstallProgressStep.ENABLING_WINDOWS_SERVICE);
- enableWindowsService();
- checkAbort();
+ }
+ setCurrentProgressStep(InstallProgressStep.ENABLING_WINDOWS_SERVICE);
+ enableWindowsService();
+ checkAbort();
}
if (mustStart())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.STARTING_SERVER);
- new ServerController(this).startServer();
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STARTING_NON_VERBOSE.get()));
+ }
+ new ServerController(this).startServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
+ else
+ {
+ notifyListeners(getLineBreak());
+ }
checkAbort();
}
if (mustCreateAds())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.CONFIGURING_ADS);
updateADS();
checkAbort();
@@ -133,7 +153,10 @@
if (mustConfigureReplication())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.CONFIGURING_REPLICATION);
configureReplication();
checkAbort();
@@ -141,7 +164,10 @@
if (mustInitializeSuffixes())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(
InstallProgressStep.INITIALIZE_REPLICATED_SUFFIXES);
initializeSuffixes();
@@ -150,9 +176,21 @@
if (mustStop())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.STOPPING_SERVER);
- new ServerController(this).stopServer();
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STOPPING_NON_VERBOSE.get()));
+ }
+ new ServerController(this).stopServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
}
checkAbort();
@@ -172,7 +210,16 @@
Installation installation = getInstallation();
if (installation.getStatus().isServerRunning()) {
try {
- new ServerController(installation).stopServer(true);
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STOPPING_NON_VERBOSE.get()));
+ }
+ new ServerController(installation).stopServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
} catch (Throwable t) {
LOG.log(Level.INFO, "error stopping server", t);
}
@@ -193,7 +240,16 @@
Installation installation = getInstallation();
if (installation.getStatus().isServerRunning()) {
try {
- new ServerController(installation).stopServer(true);
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STOPPING_NON_VERBOSE.get()));
+ }
+ new ServerController(installation).stopServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
} catch (Throwable t2) {
LOG.log(Level.INFO, "error stopping server", t2);
}
@@ -247,13 +303,31 @@
protected void uninstall() {
notifyListeners(getTaskSeparator());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(INFO_PROGRESS_CANCELING.get()));
+ }
+ else
+ {
+ notifyListeners(
+ getFormattedProgressWithLineBreak(INFO_SUMMARY_CANCELING.get()));
+ }
Installation installation = getInstallation();
FileManager fm = new FileManager(this);
// Stop the server if necessary
if (installation.getStatus().isServerRunning()) {
try {
- new ServerController(installation).stopServer(true);
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STOPPING_NON_VERBOSE.get()));
+ }
+ new ServerController(installation).stopServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
} catch (ApplicationException e) {
LOG.log(Level.INFO, "error stopping server", e);
}
@@ -326,6 +400,11 @@
LOG.log(Level.INFO, "Error deleting databases", e);
}
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
+
}
/**
diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java b/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java
index aa9e458..82d94cf 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java
@@ -119,7 +119,10 @@
getZipInputStream(getRatio(InstallProgressStep.EXTRACTING));
setCurrentProgressStep(InstallProgressStep.EXTRACTING);
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
checkAbort();
@@ -140,16 +143,10 @@
checkAbort();
setCurrentProgressStep(InstallProgressStep.CONFIGURING_SERVER);
- notifyListeners(getTaskSeparator());
-
- // Write java home before calling Installation class. The installation
- // class does a call to start-ds to get information about the build.
- writeOpenDSJavaHome();
- setInstallation(new Installation(getUserData().getServerLocation()));
-
- checkAbort();
-
- setCurrentProgressStep(InstallProgressStep.CONFIGURING_SERVER);
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
configureServer();
checkAbort();
@@ -160,23 +157,45 @@
if (Utils.isWindows() && getUserData().getEnableWindowsService())
{
+ if (isVerbose())
+ {
notifyListeners(getTaskSeparator());
- setCurrentProgressStep(InstallProgressStep.ENABLING_WINDOWS_SERVICE);
- enableWindowsService();
- checkAbort();
+ }
+ setCurrentProgressStep(InstallProgressStep.ENABLING_WINDOWS_SERVICE);
+ enableWindowsService();
+ checkAbort();
}
if (mustStart())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.STARTING_SERVER);
- new ServerController(this).startServer();
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STARTING_NON_VERBOSE.get()));
+ }
+ new ServerController(this).startServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
+ else
+ {
+ notifyListeners(getLineBreak());
+ }
checkAbort();
}
if (mustCreateAds())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.CONFIGURING_ADS);
updateADS();
checkAbort();
@@ -184,7 +203,10 @@
if (mustConfigureReplication())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.CONFIGURING_REPLICATION);
configureReplication();
checkAbort();
@@ -192,7 +214,10 @@
if (mustInitializeSuffixes())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(
InstallProgressStep.INITIALIZE_REPLICATED_SUFFIXES);
initializeSuffixes();
@@ -201,9 +226,21 @@
if (mustStop())
{
- notifyListeners(getTaskSeparator());
+ if (isVerbose())
+ {
+ notifyListeners(getTaskSeparator());
+ }
setCurrentProgressStep(InstallProgressStep.STOPPING_SERVER);
- new ServerController(this).stopServer();
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STOPPING_NON_VERBOSE.get()));
+ }
+ new ServerController(this).stopServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
}
checkAbort();
@@ -223,7 +260,16 @@
Installation installation = getInstallation();
if (installation.getStatus().isServerRunning()) {
try {
- new ServerController(installation).stopServer(true);
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(
+ INFO_PROGRESS_STOPPING_NON_VERBOSE.get()));
+ }
+ new ServerController(installation).stopServer(!isVerbose());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
} catch (Throwable t) {
LOG.log(Level.INFO, "error stopping server", t);
}
@@ -414,7 +460,7 @@
INFO_ERROR_ZIPINPUTSTREAMNULL.get(zipName), null);
}
- notifyListeners(getFormattedDone());
+ notifyListeners(getFormattedDoneWithLineBreak());
return in;
}
@@ -524,6 +570,15 @@
if (downloadedBits)
{
notifyListeners(getTaskSeparator());
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(INFO_PROGRESS_CANCELING.get()));
+ }
+ else
+ {
+ notifyListeners(
+ getFormattedProgressWithLineBreak(INFO_SUMMARY_CANCELING.get()));
+ }
Installation installation = getInstallation();
FileManager fm = new FileManager(this);
@@ -547,6 +602,15 @@
}
else
{
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedWithPoints(INFO_PROGRESS_CANCELING.get()));
+ }
+ else
+ {
+ notifyListeners(
+ getFormattedProgressWithLineBreak(INFO_SUMMARY_CANCELING.get()));
+ }
File serverRoot = new File(getUserData().getServerLocation());
if (serverRoot.exists())
{
@@ -559,6 +623,10 @@
}
}
}
+ if (!isVerbose())
+ {
+ notifyListeners(getFormattedDoneWithLineBreak());
+ }
}
/**
diff --git a/opends/src/quicksetup/org/opends/quicksetup/util/FileManager.java b/opends/src/quicksetup/org/opends/quicksetup/util/FileManager.java
index 78813cd..09f0357 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/util/FileManager.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/util/FileManager.java
@@ -511,7 +511,7 @@
if (!destination.exists()) {
if (Utils.insureParentsExist(destination)) {
- if (application != null) {
+ if ((application != null) && application.isVerbose()) {
application.notifyListeners(application.getFormattedWithPoints(
INFO_PROGRESS_COPYING_FILE.get(
objectFile.getAbsolutePath(),
@@ -542,7 +542,7 @@
}
}
- if (application != null) {
+ if ((application != null) && application.isVerbose()) {
application.notifyListeners(
application.getFormattedDoneWithLineBreak());
}
@@ -630,7 +630,7 @@
File file = getObjectFile();
boolean isFile = file.isFile();
- if (application != null) {
+ if ((application != null) && application.isVerbose()) {
if (isFile) {
application.notifyListeners(application.getFormattedWithPoints(
INFO_PROGRESS_DELETING_FILE.get(file.getAbsolutePath())));
@@ -685,7 +685,7 @@
errMsg, null);
}
- if (application != null) {
+ if ((application != null) && application.isVerbose()) {
application.notifyListeners(
application.getFormattedDoneWithLineBreak());
}
diff --git a/opends/src/quicksetup/org/opends/quicksetup/util/PlainTextProgressMessageFormatter.java b/opends/src/quicksetup/org/opends/quicksetup/util/PlainTextProgressMessageFormatter.java
index a1d1f92..be30417 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/util/PlainTextProgressMessageFormatter.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/util/PlainTextProgressMessageFormatter.java
@@ -264,7 +264,7 @@
return Message.raw(
Constants.LINE_SEPARATOR+
"-----------------------------------------------------------------"+
- Constants.LINE_SEPARATOR);
+ Constants.LINE_SEPARATOR+Constants.LINE_SEPARATOR);
}
/**
diff --git a/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java b/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java
index 53e15f5..e3e1edc 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/util/ServerController.java
@@ -113,6 +113,11 @@
StandardOutputSuppressor.suppress();
}
+ if (suppressOutput && (application != null))
+ {
+ application.setNotifyListeners(false);
+ }
+
try {
if (application != null) {
MessageBuilder mb = new MessageBuilder();
@@ -228,6 +233,10 @@
if (suppressOutput && StandardOutputSuppressor.isSuppressed()) {
StandardOutputSuppressor.unsuppress();
}
+ if (suppressOutput && (application != null))
+ {
+ application.setNotifyListeners(false);
+ }
}
}
@@ -260,209 +269,218 @@
* This methods starts the server.
* @param verify boolean indicating whether this method will attempt to
* connect to the server after starting to verify that it is listening.
+ * @param suppressOutput indicating that ouput to standard output streams
+ * from the server should be suppressed.
* @return OperationOutput object containing output from the start server
* command invocation.
- * @return boolean indicating that ouput to standard output streams
- * from the server should be suppressed.
* @throws org.opends.quicksetup.ApplicationException if something goes wrong.
*/
- private OperationOutput startServer(boolean verify, boolean suppressOuput)
- throws ApplicationException
+ private OperationOutput startServer(boolean verify, boolean suppressOutput)
+ throws ApplicationException
{
OperationOutput output = new OperationOutput();
- if (suppressOuput && !StandardOutputSuppressor.isSuppressed()) {
+ if (suppressOutput && !StandardOutputSuppressor.isSuppressed()) {
StandardOutputSuppressor.suppress();
}
- try {
- if (application != null) {
- MessageBuilder mb = new MessageBuilder();
- mb.append(application.getFormattedProgress(
- INFO_PROGRESS_STARTING.get()));
- mb.append(application.getLineBreak());
- application.notifyListeners(mb.toMessage());
- }
- LOG.log(Level.INFO, "starting server");
-
- ArrayList<String> argList = new ArrayList<String>();
- argList.add(Utils.getScriptPath(
- Utils.getPath(installation.getServerStartCommandFile())));
- String[] args = new String[argList.size()];
- argList.toArray(args);
- ProcessBuilder pb = new ProcessBuilder(args);
- pb.directory(installation.getBinariesDirectory());
- Map<String, String> env = pb.environment();
- env.put(SetupUtils.OPENDS_JAVA_HOME, System.getProperty("java.home"));
-
- // Upgrader's classpath contains jars located in the temporary
- // directory that we don't want locked by the directory server
- // when it starts. Since we're just calling the start-ds script
- // it will figure out the correct classpath for the server.
- env.remove("CLASSPATH");
- try
+ if (suppressOutput && (application != null))
{
- String startedId = getStartedId();
- Process process = pb.start();
+ application.setNotifyListeners(false);
+ }
- BufferedReader err =
+ try {
+ if (application != null) {
+ MessageBuilder mb = new MessageBuilder();
+ mb.append(application.getFormattedProgress(
+ INFO_PROGRESS_STARTING.get()));
+ mb.append(application.getLineBreak());
+ application.notifyListeners(mb.toMessage());
+ }
+ LOG.log(Level.INFO, "starting server");
+
+ ArrayList<String> argList = new ArrayList<String>();
+ argList.add(Utils.getScriptPath(
+ Utils.getPath(installation.getServerStartCommandFile())));
+ String[] args = new String[argList.size()];
+ argList.toArray(args);
+ ProcessBuilder pb = new ProcessBuilder(args);
+ pb.directory(installation.getBinariesDirectory());
+ Map<String, String> env = pb.environment();
+ env.put(SetupUtils.OPENDS_JAVA_HOME, System.getProperty("java.home"));
+
+ // Upgrader's classpath contains jars located in the temporary
+ // directory that we don't want locked by the directory server
+ // when it starts. Since we're just calling the start-ds script
+ // it will figure out the correct classpath for the server.
+ env.remove("CLASSPATH");
+ try
+ {
+ String startedId = getStartedId();
+ Process process = pb.start();
+
+ BufferedReader err =
new BufferedReader(new InputStreamReader(process.getErrorStream()));
- BufferedReader out =
+ BufferedReader out =
new BufferedReader(new InputStreamReader(process.getInputStream()));
- StartReader errReader = new StartReader(err, startedId, true);
- StartReader outputReader = new StartReader(out, startedId, false);
+ StartReader errReader = new StartReader(err, startedId, true);
+ StartReader outputReader = new StartReader(out, startedId, false);
- long finishedTime = 0;
- while (!errReader.isFinished() || !outputReader.isFinished())
- {
- try
- {
- Thread.sleep(100);
- } catch (InterruptedException ie)
- {
- }
-
- if (errReader.startedIdFound() || outputReader.startedIdFound())
- {
- /* When we start the server in windows and we are not running it
- * under a windows service, the readers are kept open forever.
- * Once we find that is finished, wait at most 7 seconds.
- */
- if (finishedTime == 0)
- {
- finishedTime = System.currentTimeMillis();
- }
- else
- {
- if (System.currentTimeMillis() - finishedTime > 7000)
- {
- break;
- }
- }
- }
- }
-
- // Collect any messages found in the output
- List<Message> errors = errReader.getMessages();
- if (errors != null) {
- for(Message error : errors) {
- output.addErrorMessage(error);
- }
- }
- List<Message> messages = outputReader.getMessages();
- if (messages != null) {
- for (Message msg : messages) {
-
- // NOTE: this may not be the best place to drop these.
- // However upon startup the server seems to log all messages,
- // regardless of whether or not they signal an error condition,
- // to its error log.
-
- output.addErrorMessage(msg);
- }
- }
-
- // Check if something wrong occurred reading the starting of the server
- ApplicationException ex = errReader.getException();
- if (ex == null)
- {
- ex = outputReader.getException();
- }
- if (ex != null)
- {
- // This is meaningless right now since we throw
- // the exception below, but in case we change out
- // minds later or add the ability to return exceptions
- // in the output only instead of throwing...
- output.setException(ex);
- throw ex;
-
- } else if (verify)
- {
- /*
- * There are no exceptions from the readers and they are marked as
- * finished. This means that the server has written in its output the
- * message id informing that it started. So it seems that everything
- * went fine.
- *
- * However we can have issues with the firewalls or do not have rights
- * to connect. Just check if we can connect to the server.
- * Try 5 times with an interval of 1 second between try.
- */
- boolean connected = false;
- Configuration config = installation.getCurrentConfiguration();
- int port = config.getPort();
- String ldapUrl = "ldap://localhost:" + port;
-
- // See if the application has prompted for credentials. If
- // not we'll just try to connect anonymously.
- String userDn = null;
- String userPw = null;
- if (application != null) {
- userDn = application.getUserData().getDirectoryManagerDn();
- userPw = application.getUserData().getDirectoryManagerPwd();
- }
- if (userDn == null || userPw == null) {
- userDn = null;
- userPw = null;
- }
-
- for (int i=0; i<5 && !connected; i++)
+ long finishedTime = 0;
+ while (!errReader.isFinished() || !outputReader.isFinished())
{
try
{
- Utils.createLdapContext(
- ldapUrl,
- userDn, userPw, 3000, null);
- connected = true;
- }
- catch (NamingException ne)
+ Thread.sleep(100);
+ } catch (InterruptedException ie)
{
}
- if (!connected)
+
+ if (errReader.startedIdFound() || outputReader.startedIdFound())
+ {
+ /* When we start the server in windows and we are not running it
+ * under a windows service, the readers are kept open forever.
+ * Once we find that is finished, wait at most 7 seconds.
+ */
+ if (finishedTime == 0)
+ {
+ finishedTime = System.currentTimeMillis();
+ }
+ else
+ {
+ if (System.currentTimeMillis() - finishedTime > 7000)
+ {
+ break;
+ }
+ }
+ }
+ }
+
+ // Collect any messages found in the output
+ List<Message> errors = errReader.getMessages();
+ if (errors != null) {
+ for(Message error : errors) {
+ output.addErrorMessage(error);
+ }
+ }
+ List<Message> messages = outputReader.getMessages();
+ if (messages != null) {
+ for (Message msg : messages) {
+
+ // NOTE: this may not be the best place to drop these.
+ // However upon startup the server seems to log all messages,
+ // regardless of whether or not they signal an error condition,
+ // to its error log.
+
+ output.addErrorMessage(msg);
+ }
+ }
+
+ // Check if something wrong occurred reading the starting of the server
+ ApplicationException ex = errReader.getException();
+ if (ex == null)
+ {
+ ex = outputReader.getException();
+ }
+ if (ex != null)
+ {
+ // This is meaningless right now since we throw
+ // the exception below, but in case we change out
+ // minds later or add the ability to return exceptions
+ // in the output only instead of throwing...
+ output.setException(ex);
+ throw ex;
+
+ } else if (verify)
+ {
+ /*
+ * There are no exceptions from the readers and they are marked as
+ * finished. This means that the server has written in its output the
+ * message id informing that it started. So it seems that everything
+ * went fine.
+ *
+ * However we can have issues with the firewalls or do not have rights
+ * to connect. Just check if we can connect to the server.
+ * Try 5 times with an interval of 1 second between try.
+ */
+ boolean connected = false;
+ Configuration config = installation.getCurrentConfiguration();
+ int port = config.getPort();
+ String ldapUrl = "ldap://localhost:" + port;
+
+ // See if the application has prompted for credentials. If
+ // not we'll just try to connect anonymously.
+ String userDn = null;
+ String userPw = null;
+ if (application != null) {
+ userDn = application.getUserData().getDirectoryManagerDn();
+ userPw = application.getUserData().getDirectoryManagerPwd();
+ }
+ if (userDn == null || userPw == null) {
+ userDn = null;
+ userPw = null;
+ }
+
+ for (int i=0; i<5 && !connected; i++)
{
try
{
- Thread.sleep(1000);
+ Utils.createLdapContext(
+ ldapUrl,
+ userDn, userPw, 3000, null);
+ connected = true;
}
- catch (Throwable t)
+ catch (NamingException ne)
{
}
+ if (!connected)
+ {
+ try
+ {
+ Thread.sleep(1000);
+ }
+ catch (Throwable t)
+ {
+ }
+ }
+ }
+ if (!connected)
+ {
+ if (Utils.isWindows())
+ {
+ throw new ApplicationException(
+ ReturnCode.START_ERROR,
+ INFO_ERROR_STARTING_SERVER_IN_WINDOWS.get(
+ String.valueOf(port)),
+ null);
+ }
+ else
+ {
+ throw new ApplicationException(
+ ReturnCode.START_ERROR,
+ INFO_ERROR_STARTING_SERVER_IN_UNIX.get(
+ String.valueOf(port)),
+ null);
+ }
}
}
- if (!connected)
- {
- if (Utils.isWindows())
- {
- throw new ApplicationException(
- ReturnCode.START_ERROR,
- INFO_ERROR_STARTING_SERVER_IN_WINDOWS.get(
- String.valueOf(port)),
- null);
- }
- else
- {
- throw new ApplicationException(
- ReturnCode.START_ERROR,
- INFO_ERROR_STARTING_SERVER_IN_UNIX.get(
- String.valueOf(port)),
- null);
- }
- }
- }
- } catch (IOException ioe)
- {
- throw new ApplicationException(
+ } catch (IOException ioe)
+ {
+ throw new ApplicationException(
ReturnCode.START_ERROR,
- getThrowableMsg(INFO_ERROR_STARTING_SERVER.get(), ioe), ioe);
- }
- } finally {
- if (suppressOuput && StandardOutputSuppressor.isSuppressed()) {
+ getThrowableMsg(INFO_ERROR_STARTING_SERVER.get(), ioe), ioe);
+ }
+ } finally {
+ if (suppressOutput && StandardOutputSuppressor.isSuppressed()) {
StandardOutputSuppressor.unsuppress();
}
- }
+ if (suppressOutput && (application != null))
+ {
+ application.setNotifyListeners(true);
+ }
+ }
return output;
}
diff --git a/opends/src/quicksetup/org/opends/quicksetup/util/ZipExtractor.java b/opends/src/quicksetup/org/opends/quicksetup/util/ZipExtractor.java
index cccfc67..21d4781 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/util/ZipExtractor.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/util/ZipExtractor.java
@@ -276,7 +276,15 @@
if (application != null) {
Message progressSummary =
INFO_PROGRESS_EXTRACTING.get(Utils.getPath(destination));
- application.notifyListeners(ratioBeforeCompleted, progressSummary);
+ if (application.isVerbose())
+ {
+ application.notifyListenersWithPoints(ratioBeforeCompleted,
+ progressSummary);
+ }
+ else
+ {
+ application.notifyListenersRatioChange(ratioBeforeCompleted);
+ }
}
LOG.log(Level.INFO, "extracting " + Utils.getPath(destination));
if (Utils.insureParentsExist(destination))
@@ -313,7 +321,10 @@
throw new IOException("Could not create parent path: " + destination);
}
if (application != null) {
- application.notifyListenersDone(ratioWhenCompleted);
+ if (application.isVerbose())
+ {
+ application.notifyListenersDone(ratioWhenCompleted);
+ }
}
}
diff --git a/opends/src/server/org/opends/server/tools/InstallDS.java b/opends/src/server/org/opends/server/tools/InstallDS.java
index 498de27..2a58a4e 100644
--- a/opends/src/server/org/opends/server/tools/InstallDS.java
+++ b/opends/src/server/org/opends/server/tools/InstallDS.java
@@ -404,7 +404,6 @@
cmd = Utils.getPath(binDir, Installation.UNIX_STATUSCLI_FILE_NAME);
}
printlnProgress();
- printlnProgress();
printProgress(INFO_INSTALLDS_STATUS_COMMAND_LINE.get(cmd));
printlnProgress();
@@ -558,7 +557,7 @@
* {@inheritDoc}
*/
public boolean isVerbose() {
- return true;
+ return argParser.verboseArg.isPresent();
}
/**
@@ -575,6 +574,7 @@
uData.setConfigurationClassName(argParser.configClassArg.getValue());
uData.setConfigurationFile(argParser.configFileArg.getValue());
uData.setQuiet(isQuiet());
+ uData.setVerbose(isVerbose());
// Check the validity of the directory manager DNs
String dmDN = argParser.directoryManagerDNArg.getValue();
diff --git a/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java b/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java
index c020ca6..9625b68e 100644
--- a/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java
+++ b/opends/src/server/org/opends/server/tools/InstallDSArgumentParser.java
@@ -66,6 +66,7 @@
BooleanArgument showUsageArg;
BooleanArgument quietArg;
BooleanArgument noPromptArg;
+ BooleanArgument verboseArg;
StringArgument propertiesFileArgument;
BooleanArgument noPropertiesFileArgument;
BooleanArgument skipPortCheckArg;
@@ -176,6 +177,10 @@
noPromptArg.setPropertyName(OPTION_LONG_NO_PROMPT);
addArgument(noPromptArg);
+ verboseArg = new BooleanArgument(OPTION_LONG_VERBOSE, OPTION_SHORT_VERBOSE,
+ OPTION_LONG_VERBOSE, INFO_DESCRIPTION_VERBOSE.get());
+ addArgument(verboseArg);
+
propertiesFileArgument = new StringArgument(
"propertiesFilePath", null, OPTION_LONG_PROP_FILE_PATH, false, false,
true, OPTION_VALUE_PROP_FILE_PATH, null, null,
--
Gitblit v1.10.0