From 60b1359b65d8505c32f0598bf325043b7cedf843 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Tue, 16 Dec 2014 17:05:29 +0000
Subject: [PATCH] OPENDJ-1655 (CR-5676) Fix display of error message in dsconfig

---
 opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DeleteSubCommandHandler.java |   32 +++++++++++---------------------
 1 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DeleteSubCommandHandler.java b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DeleteSubCommandHandler.java
index 31bd8d2..dfbc298 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DeleteSubCommandHandler.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DeleteSubCommandHandler.java
@@ -26,6 +26,7 @@
  */
 package org.forgerock.opendj.config.dsconfig;
 
+import static com.forgerock.opendj.cli.ReturnCode.*;
 import static com.forgerock.opendj.dsconfig.DsconfigMessages.*;
 
 import java.util.List;
@@ -60,6 +61,8 @@
 import com.forgerock.opendj.cli.TableBuilder;
 import com.forgerock.opendj.cli.TextTablePrinter;
 
+import static org.forgerock.opendj.config.dsconfig.DSConfig.*;
+
 /**
  * A sub-command handler which is used to delete existing managed objects.
  * <p>
@@ -223,13 +226,7 @@
             if (!forceArgument.isPresent()) {
                 LocalizableMessage pufn = path.getManagedObjectDefinition().getUserFriendlyName();
                 LocalizableMessage msg = ERR_DSCFG_ERROR_GET_PARENT_MONFE.get(pufn);
-                if (app.isInteractive()) {
-                    app.println();
-                    app.printVerboseMessage(msg);
-                    return MenuResult.cancel();
-                } else {
-                    throw new ClientException(ReturnCode.NO_SUCH_OBJECT, msg);
-                }
+                return interactivePrintOrThrowError(app, msg, NO_SUCH_OBJECT);
             } else {
                 return MenuResult.success(0);
             }
@@ -311,18 +308,14 @@
             LocalizableMessage msg = ERR_DSCFG_ERROR_DELETE_AUTHZ.get(ufn);
             throw new ClientException(ReturnCode.INSUFFICIENT_ACCESS_RIGHTS, msg);
         } catch (OperationRejectedException e) {
-            LocalizableMessage msg;
-            if (e.getMessages().size() == 1) {
-                msg = ERR_DSCFG_ERROR_DELETE_ORE_SINGLE.get(ufn);
-            } else {
-                msg = ERR_DSCFG_ERROR_DELETE_ORE_PLURAL.get(ufn);
-            }
+            LocalizableMessage msg = e.getMessages().size() == 1 ? ERR_DSCFG_ERROR_DELETE_ORE_SINGLE.get(ufn)
+                                                                 : ERR_DSCFG_ERROR_DELETE_ORE_PLURAL.get(ufn);
 
             if (app.isInteractive()) {
                 // If interactive, let the user go back to the main menu.
-                app.println();
-                app.println(msg);
-                app.println();
+                app.errPrintln();
+                app.errPrintln(msg);
+                app.errPrintln();
                 TableBuilder builder = new TableBuilder();
                 for (LocalizableMessage reason : e.getMessages()) {
                     builder.startRow();
@@ -369,12 +362,9 @@
     /** Confirm deletion. */
     private boolean confirmDeletion(ConsoleApplication app) throws ClientException {
         if (app.isInteractive()) {
-            LocalizableMessage prompt = INFO_DSCFG_CONFIRM_DELETE.get(relation.getUserFriendlyName());
             app.println();
-            if (!app.confirmAction(prompt, false)) {
-                // Output failure message.
-                LocalizableMessage msg = INFO_DSCFG_CONFIRM_DELETE_FAIL.get(relation.getUserFriendlyName());
-                app.println(msg);
+            if (!app.confirmAction(INFO_DSCFG_CONFIRM_DELETE.get(relation.getUserFriendlyName()), false)) {
+                app.errPrintln(INFO_DSCFG_CONFIRM_DELETE_FAIL.get(relation.getUserFriendlyName()));
                 return false;
             }
         }

--
Gitblit v1.10.0