From f42bb1f095f0b3eac12684f5f0794ae5d61a9db5 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Tue, 17 Jul 2007 16:05:46 +0000
Subject: [PATCH] Fix issue 1960: restrict the allowed values of boolean properties.

---
 opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java                        |    6 +++++-
 opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java |   24 +++++++++++-------------
 opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java                             |   12 +-----------
 3 files changed, 17 insertions(+), 25 deletions(-)

diff --git a/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java b/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java
index d0c657b..75289e3 100644
--- a/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java
+++ b/opends/src/server/org/opends/server/admin/BooleanPropertyDefinition.java
@@ -52,19 +52,9 @@
   static {
     VALUE_MAP = new HashMap<String, Boolean>();
 
-    VALUE_MAP.put("0", Boolean.FALSE);
-    VALUE_MAP.put("no", Boolean.FALSE);
-    VALUE_MAP.put("off", Boolean.FALSE);
+    // We could have more possibilities but decided against in issue 1960.
     VALUE_MAP.put("false", Boolean.FALSE);
-    VALUE_MAP.put("disable", Boolean.FALSE);
-    VALUE_MAP.put("disabled", Boolean.FALSE);
-
-    VALUE_MAP.put("1", Boolean.TRUE);
-    VALUE_MAP.put("yes", Boolean.TRUE);
-    VALUE_MAP.put("on", Boolean.TRUE);
     VALUE_MAP.put("true", Boolean.TRUE);
-    VALUE_MAP.put("enable", Boolean.TRUE);
-    VALUE_MAP.put("enabled", Boolean.TRUE);
   }
 
 
diff --git a/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java b/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java
index 0dfb36a..02342af 100644
--- a/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java
+++ b/opends/src/server/org/opends/server/admin/PropertyDefinitionUsageBuilder.java
@@ -83,7 +83,11 @@
      */
     @Override
     public String visitBoolean(BooleanPropertyDefinition d, Void p) {
-      return "BOOLEAN";
+      if (isDetailed) {
+        return "false | true";
+      } else {
+        return "BOOLEAN";
+      }
     }
 
 
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java
index f2fe1ce..1cbb5fd 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/BooleanPropertyDefinitionTest.java
@@ -29,6 +29,7 @@
 
 import static org.testng.Assert.*;
 
+import org.opends.server.TestCaseUtils;
 import org.opends.server.admin.std.meta.RootCfgDefn;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.DataProvider;
@@ -42,10 +43,17 @@
   BooleanPropertyDefinition.Builder builder = null;
 
   /**
-   * Sets up tests
+   * Sets up tests.
+   * 
+   * @throws Exception
+   *           If the server could not be initialized.
    */
   @BeforeClass
-  public void setUp() {
+  public void setUp() throws Exception {
+    // This test suite depends on having the schema available, so
+    // we'll start the server.
+    TestCaseUtils.startServer();
+
     builder = BooleanPropertyDefinition.createBuilder(
         RootCfgDefn.getInstance(), "test-property");
   }
@@ -74,18 +82,8 @@
   @DataProvider(name = "testDecodeValueData")
   public Object[][] createvalidateValueData() {
     return new Object[][]{
-            {"0", Boolean.FALSE},
-            {"no", Boolean.FALSE},
-            {"off", Boolean.FALSE},
             {"false", Boolean.FALSE},
-            {"disable", Boolean.FALSE},
-            {"disabled", Boolean.FALSE},
-            {"1", Boolean.TRUE},
-            {"yes", Boolean.TRUE},
-            {"on", Boolean.TRUE},
-            {"true", Boolean.TRUE},
-            {"enable", Boolean.TRUE},
-            {"enabled", Boolean.TRUE},
+            {"true", Boolean.TRUE}
     };
   }
 

--
Gitblit v1.10.0