UpgradeLauncher.java revision 62ecec3a82a8b838ee76c1f6610902d8fd7015cb
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at
* trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
* add the following below this CDDL HEADER, with the fields enclosed
* by brackets "[]" replaced with your own identifying information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Copyright 2007-2009 Sun Microsystems, Inc.
*/
/**
* This class is called by the upgrade and upgrade.bat
* command line utilities to launch an upgrade process.
*/
public class UpgradeLauncher extends Launcher {
/** Prefix for log files. */
/** Short form of the option for specifying the installation package file. */
/** Long form of the option for specifying the installation package file. */
/** Short form of the option for specifying the reversion files directory. */
/** Long form of the option for specifying the reversion files directory. */
/** Short form of the option for specifying the 'most recent' option. */
/** Long form of the option for specifying the 'most recent' option. */
/** Indicates that this operation is an upgrade as opposed to reversion. */
protected boolean isUpgrade;
/** Indicates that this operation is a reversion as opposed to an upgrade. */
protected boolean isReversion;
/**
* The main method which is called by the setup command lines.
*
* @param args the arguments passed by the command lines.
*/
try {
} catch (Throwable t) {
t.printStackTrace();
}
}
private ArgumentParser argParser;
private BooleanArgument showUsage;
private StringArgument file;
private BooleanArgument quiet;
private BooleanArgument noPrompt;
private BooleanArgument verbose;
private BooleanArgument revertMostRecent;
private StringArgument reversionArchive;
/**
* {@inheritDoc}
*/
protected Message getFrameTitle() {
}
/**
* {@inheritDoc}
*/
protected boolean isCli() {
// for now only CLI is supported via command line
return true;
}
/**
* {@inheritDoc}
*/
protected void printUsage(boolean toStdErr) {
try
{
}
}
catch (Throwable t)
{
t.printStackTrace();
}
}
/**
* {@inheritDoc}
*/
protected CliApplication createCliApplication() {
return new Upgrader();
}
/**
* {@inheritDoc}
*/
protected void willLaunchGui() {
"org.opends.quicksetup.upgrader.Upgrader");
}
/**
* {@inheritDoc}
*/
if (logFilePath != null)
{
logFilePath));
}
else
{
}
}
/**
* {@inheritDoc}
*/
public ArgumentParser getArgumentParser() {
return argParser;
}
/**
* Indicates whether or not this operation is silent.
* @return boolean where true indicates silence
*/
public boolean isQuiet() {
}
/**
* Indicates whether or not this operation is verbose.
* @return boolean where true indicates verbose
*/
public boolean isVerbose() {
}
/**
* Indicates whether or not this operation is interactive.
* @return boolean where true indicates noninteractive
*/
public boolean isNoPrompt() {
}
/**
* Indicates whether this invocation is intended to upgrade the current
* build as opposed to revert.
* @return boolean where true indicates upgrade
*/
public boolean isUpgrade() {
return isUpgrade;
}
/**
* Indicates whether this invocation is intended to revert the current
* build as opposed to upgrade.
* @return boolean where true indicates revert
*/
public boolean isReversion() {
return isReversion;
}
/**
* Indicates that none of the options that indicate an upgrade
* or reversion where specified on the command line so we are going
* to have to prompt for the information or fail.
*
* @return boolean where true means this application needs to ask
* the user which operation they would like to perform; false
* means no further input is required
*/
public boolean isInteractive() {
!reversionArchive.isPresent() &&
}
/**
* Gets the name of the file to be used for upgrade.
* @return name of the upgrade file
*/
public String getUpgradeFileName() {
}
/**
* Gets the name of the directory to be used for reversion.
* @return name of the reversion directory
*/
public String getReversionArchiveDirectoryName() {
return reversionArchive.getValue();
}
/**
* Gets the file's directory if specified on the command line.
* @return File representing the directory where the reversion files are
* stored.
*/
public File getReversionArchiveDirectory() {
if (s != null) {
f = new File(s);
}
return f;
}
/**
* Indicates whether the user has specified the 'mostRecent' option.
* @return boolean where true indicates use the most recent upgrade backup
*/
public boolean isRevertMostRecent() {
return revertMostRecent.isPresent();
}
/**
* Indicates whether the user has specified to revert to an specific archive.
* @return boolean where true indicates that the user specified to revert to
* an specific archive.
*/
public boolean isRevertToArchive() {
return reversionArchive.isPresent();
}
/**
* Creates an instance.
*
* @param args specified on command line
*/
super(args);
} else {
}
{
}
INFO_UPGRADE_LAUNCHER_USAGE_DESCRIPTION.get(), false);
try
{
file = new StringArgument(
false, false, true,
revertMostRecent = new BooleanArgument(
reversionArchive = new StringArgument(
false, false, true,
noPrompt = new BooleanArgument(
quiet = new BooleanArgument(
showUsage = new BooleanArgument(
"showusage",
try {
// Set fields indicating reversion or upgrade. This may change
// later if interaction is required to make the determination.
if (argParser.usageOrVersionDisplayed()) {
} else if (isUpgrade) {
if (reversionArchive.isPresent()) {
} else if (revertMostRecent.isPresent()) {
}
}
} catch (ArgumentException ae) {
printUsage(false);
}
}
catch (Throwable t)
{
t.printStackTrace();
}
}
}