From 959c9ded0c297d00500678a0c80d7d6d8a5265fe Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 10 Jul 2007 16:03:42 +0000
Subject: [PATCH] Fix a set of problems with the configuration interface in which there were a number of cases in which insufficient validation was performed.  In particular, if a new configuration object was added over protocol or an existing configuration object was changed from disabled to enabled, then the server would only perform generic validation for that component and would not have any way to perform more detailed validation that could detect larger numbers of problems.

---
 opends/src/server/org/opends/server/api/VirtualAttributeProvider.java |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/api/VirtualAttributeProvider.java b/opends/src/server/org/opends/server/api/VirtualAttributeProvider.java
index 32d638e..5005093 100644
--- a/opends/src/server/org/opends/server/api/VirtualAttributeProvider.java
+++ b/opends/src/server/org/opends/server/api/VirtualAttributeProvider.java
@@ -88,6 +88,37 @@
 
 
   /**
+   * Indicates whether the provided configuration is acceptable for
+   * this virtual attribute provider.  It should be possible to call
+   * this method on an uninitialized virtual attribute provider
+   * instance in order to determine whether the virtual attribute
+   * provider would be able to use the provided configuration.
+   *
+   * @param  configuration        The virtual attribute provider
+   *                              configuration for which to make the
+   *                              determination.
+   * @param  unacceptableReasons  A list that may be used to hold the
+   *                              reasons that the provided
+   *                              configuration is not acceptable.
+   *
+   * @return  {@code true} if the provided configuration is acceptable
+   *          for this virtual attribute provider, or {@code false} if
+   *          not.
+   */
+  public boolean isConfigurationAcceptable(
+                      VirtualAttributeCfg configuration,
+                      List<String> unacceptableReasons)
+  {
+    // This default implementation does not perform any special
+    // validation.  It should be overridden by virtual attribute
+    // provider implementations that wish to perform more detailed
+    // validation.
+    return true;
+  }
+
+
+
+  /**
    * Performs any finalization that may be necessary whenever this
    * virtual attribute provider is taken out of service.
    */

--
Gitblit v1.10.0