From 9ba239d1a7f3caf0be1a02f01b00762ec3f01397 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Tue, 29 May 2007 11:59:21 +0000
Subject: [PATCH] Fix issue 1580: support overriding of property default values.
---
opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java b/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
index a0a5bfc..5931ba3 100644
--- a/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
+++ b/opends/src/server/org/opends/server/admin/client/ldap/LDAPManagedObject.java
@@ -424,7 +424,8 @@
for (PropertyDefinition<?> pd : definition.getAllPropertyDefinitions()) {
Property<?> p = properties.getProperty(pd);
- if (pd.hasOption(PropertyOption.MANDATORY) && p.isEmpty()) {
+ if (pd.hasOption(PropertyOption.MANDATORY)
+ && p.getEffectiveValues().isEmpty()) {
exceptions.add(new PropertyIsMandatoryException(pd));
}
}
@@ -941,8 +942,17 @@
private <T> void encodeProperty(Attribute attribute,
PropertyDefinition<T> pd, PropertySet properties) {
Property<T> p = properties.getProperty(pd);
- for (T value : p.getPendingValues()) {
- attribute.add(pd.encodeValue(value));
+ if (pd.hasOption(PropertyOption.MANDATORY)) {
+ // For mandatory properties we fall-back to the default values
+ // if defined which can sometimes be the case e.g when a
+ // mandatory property is overridden.
+ for (T value : p.getEffectiveValues()) {
+ attribute.add(pd.encodeValue(value));
+ }
+ } else {
+ for (T value : p.getPendingValues()) {
+ attribute.add(pd.encodeValue(value));
+ }
}
}
--
Gitblit v1.10.0