From 7a6f3dd0c046db02a9cebddd7e635c2189e378ff Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Sat, 21 Jul 2012 20:43:37 +0000
Subject: [PATCH] Fix OPENDJ-522: Add capability to force the upgrade to complete if errors occur during non-interactive mode
---
opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java | 33 ++++++++++++++++++++++++++++++++-
1 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java b/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
index 63d9171..f43d6e7 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
@@ -23,12 +23,13 @@
*
*
* Copyright 2007-2010 Sun Microsystems, Inc.
- * Portions Copyright 2011 ForgeRock AS
+ * Portions Copyright 2011-2012 ForgeRock AS
*/
package org.opends.quicksetup.upgrader;
import org.opends.messages.Message;
+import static org.opends.messages.AdminToolMessages.*;
import static org.opends.messages.QuickSetupMessages.*;
import static org.opends.messages.ToolMessages.*;
@@ -106,6 +107,7 @@
private StringArgument file;
private BooleanArgument quiet;
private BooleanArgument noPrompt;
+ private BooleanArgument forceOnError;
private BooleanArgument verbose;
private BooleanArgument revertMostRecent;
private StringArgument reversionArchive;
@@ -211,6 +213,17 @@
}
/**
+ * Tells whether the user specified to force on non critical error in the non
+ * interactive mode.
+ * @return <CODE>true</CODE> if the user specified to force on
+ * non critical error and <CODE>false</CODE> otherwise.
+ */
+ public boolean isForceOnError()
+ {
+ return forceOnError.isPresent();
+ }
+
+ /**
* Indicates whether this invocation is intended to upgrade the current
* build as opposed to revert.
* @return boolean where true indicates upgrade
@@ -348,6 +361,14 @@
INFO_UPGRADE_DESCRIPTION_NO_PROMPT.get());
argParser.addArgument(noPrompt);
+ forceOnError = new BooleanArgument(
+ "forceOnError",
+ null,
+ "forceOnError",
+ INFO_UPGRADE_DESCRIPTION_FORCE.get(
+ "--"+noPrompt.getLongIdentifier()));
+ argParser.addArgument(forceOnError);
+
quiet = new BooleanArgument(
OPTION_LONG_QUIET,
OPTION_SHORT_QUIET,
@@ -392,6 +413,16 @@
}
}
+
+ if (!noPrompt.isPresent() && forceOnError.isPresent())
+ {
+ Message message =
+ ERR_UNINSTALL_FORCE_REQUIRES_NO_PROMPT.get("--"
+ + forceOnError.getLongIdentifier(), "--"
+ + noPrompt.getLongIdentifier());
+ System.err.println(message);
+ System.exit(ReturnCode.APPLICATION_ERROR.getReturnCode());
+ }
} catch (ArgumentException ae) {
System.err.println(ae.getMessageObject());
printUsage(false);
--
Gitblit v1.10.0