From 3b03a464c4fac21684584a934fdf2c5287b48859 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Tue, 17 Jul 2007 15:37:09 +0000
Subject: [PATCH] Fix issue 1923: dsconfig - provide better help when users attempt to reset a mandatory property.

---
 opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
index cf8ccc7..f489108 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/SetPropSubCommandHandler.java
@@ -48,8 +48,10 @@
 import org.opends.server.admin.OptionalRelationDefinition;
 import org.opends.server.admin.PropertyDefinition;
 import org.opends.server.admin.PropertyException;
+import org.opends.server.admin.PropertyOption;
 import org.opends.server.admin.RelationDefinition;
 import org.opends.server.admin.SingletonRelationDefinition;
+import org.opends.server.admin.UndefinedDefaultBehaviorProvider;
 import org.opends.server.admin.client.AuthorizationException;
 import org.opends.server.admin.client.CommunicationException;
 import org.opends.server.admin.client.ConcurrentModificationException;
@@ -348,6 +350,16 @@
         throw ArgumentExceptionFactory.unknownProperty(d, m);
       }
 
+      // Mandatory properties which have no defined defaults cannot be
+      // reset.
+      if (pd.hasOption(PropertyOption.MANDATORY)) {
+        if (pd.getDefaultBehaviorProvider()
+            instanceof UndefinedDefaultBehaviorProvider) {
+          throw ArgumentExceptionFactory.unableToResetMandatoryProperty(d, m,
+              OPTION_DSCFG_LONG_SET);
+        }
+      }
+
       // Save the modification type.
       lastModTypes.put(m, ModificationType.SET);
 

--
Gitblit v1.10.0