From 1c35783cec1e6444626b78b7978151ff5723e6ab Mon Sep 17 00:00:00 2001
From: jcambon <jcambon@localhost>
Date: Fri, 05 Dec 2008 16:40:29 +0000
Subject: [PATCH] Fix for Issue #3644 : dsconfig failure without error message.

---
 opends/src/server/org/opends/server/tools/dsconfig/ArgumentExceptionFactory.java |   17 +++++++++++++++++
 opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java |    6 ++----
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/dsconfig/ArgumentExceptionFactory.java b/opends/src/server/org/opends/server/tools/dsconfig/ArgumentExceptionFactory.java
index b5bcf32..e649e07 100644
--- a/opends/src/server/org/opends/server/tools/dsconfig/ArgumentExceptionFactory.java
+++ b/opends/src/server/org/opends/server/tools/dsconfig/ArgumentExceptionFactory.java
@@ -623,6 +623,23 @@
 
 
   /**
+   * Creates an argument exception which should be used when a child
+   * component does not exist.
+   *
+   * @param componentName
+   *          The component name.
+   * @return Returns an argument exception.
+   */
+  public static ArgumentException unknownValueForChildComponent(
+    String componentName) {
+          Message msg = ERR_DSCFG_ERROR_FINDER_NO_CHILDREN.get(
+            componentName);
+    return new ArgumentException(msg);
+  }
+
+
+
+  /**
    * Creates a CLI exception which should be used when a managed
    * object is retrieved but does not have the correct type
    * appropriate for the associated sub-command.
diff --git a/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java b/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
index 14d9851..4fb6620 100644
--- a/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
+++ b/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
@@ -701,10 +701,8 @@
       Message msg = ERR_DSCFG_ERROR_MODIFY_CME.get(ufn);
       throw new ClientException(LDAPResultCode.CONSTRAINT_VIOLATION, msg);
     } catch (ManagedObjectNotFoundException e) {
-      Message msg = ERR_DSCFG_ERROR_FINDER_NO_CHILDREN.get(ufn);
-      app.println();
-      app.printVerboseMessage(msg);
-      return MenuResult.cancel();
+      throw ArgumentExceptionFactory.unknownValueForChildComponent(
+        "\"" + names.get(0) + "\"");
     }
 
     if (result.isQuit()) {

--
Gitblit v1.10.0