From ce16ec3a7c9bc5d547b5412ded221731755ea120 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 19 Dec 2014 08:57:51 +0000
Subject: [PATCH] Ported the fix present in r11496 to opendj-config.
---
opendj-config/src/main/java/org/forgerock/opendj/config/server/ServerManagementContext.java | 33 ++++++++++++++++-----------------
1 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/server/ServerManagementContext.java b/opendj-config/src/main/java/org/forgerock/opendj/config/server/ServerManagementContext.java
index 7d585ed..16b816c 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/server/ServerManagementContext.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/server/ServerManagementContext.java
@@ -56,6 +56,7 @@
import org.forgerock.opendj.config.DefaultBehaviorProviderVisitor;
import org.forgerock.opendj.config.DefinedDefaultBehaviorProvider;
import org.forgerock.opendj.config.DefinitionDecodingException;
+import org.forgerock.opendj.config.DefinitionDecodingException.Reason;
import org.forgerock.opendj.config.DefinitionResolver;
import org.forgerock.opendj.config.LDAPProfile;
import org.forgerock.opendj.config.ManagedObjectDefinition;
@@ -68,7 +69,6 @@
import org.forgerock.opendj.config.RelationDefinition;
import org.forgerock.opendj.config.RelativeInheritedDefaultBehaviorProvider;
import org.forgerock.opendj.config.UndefinedDefaultBehaviorProvider;
-import org.forgerock.opendj.config.DefinitionDecodingException.Reason;
import org.forgerock.opendj.config.server.spi.ConfigurationRepository;
import org.forgerock.opendj.ldap.Attribute;
import org.forgerock.opendj.ldap.AttributeDescription;
@@ -94,10 +94,7 @@
*/
private final class DefaultValueFinder<T> implements DefaultBehaviorProviderVisitor<T, Collection<T>, Void> {
- /**
- * Any exception that occurred whilst retrieving inherited default
- * values.
- */
+ /** Any exception that occurred whilst retrieving inherited default values. */
private PropertyException exception;
/**
@@ -118,6 +115,7 @@
}
/** {@inheritDoc} */
+ @Override
public Collection<T> visitAbsoluteInherited(AbsoluteInheritedDefaultBehaviorProvider<T> d, Void p) {
try {
return getInheritedProperty(d.getManagedObjectPath(), d.getManagedObjectDefinition(),
@@ -129,11 +127,13 @@
}
/** {@inheritDoc} */
+ @Override
public Collection<T> visitAlias(AliasDefaultBehaviorProvider<T> d, Void p) {
return Collections.emptySet();
}
/** {@inheritDoc} */
+ @Override
public Collection<T> visitDefined(DefinedDefaultBehaviorProvider<T> d, Void p) {
Collection<String> stringValues = d.getDefaultValues();
List<T> values = new ArrayList<T>(stringValues.size());
@@ -151,6 +151,7 @@
}
/** {@inheritDoc} */
+ @Override
public Collection<T> visitRelativeInherited(RelativeInheritedDefaultBehaviorProvider<T> d, Void p) {
try {
return getInheritedProperty(d.getManagedObjectPath(nextPath), d.getManagedObjectDefinition(),
@@ -162,6 +163,7 @@
}
/** {@inheritDoc} */
+ @Override
public Collection<T> visitUndefined(UndefinedDefaultBehaviorProvider<T> d, Void p) {
return Collections.emptySet();
}
@@ -188,11 +190,10 @@
@SuppressWarnings("unchecked")
private Collection<T> getInheritedProperty(ManagedObjectPath<?, ?> target,
AbstractManagedObjectDefinition<?, ?> definition, String propertyName) {
- // First check that the requested type of managed object
- // corresponds to the path.
- AbstractManagedObjectDefinition<?, ?> supr = target.getManagedObjectDefinition();
- if (!supr.isParentOf(definition)) {
- throw PropertyException.defaultBehaviorException(nextProperty, new DefinitionDecodingException(supr,
+ // First check that the requested type of managed object corresponds to the path.
+ AbstractManagedObjectDefinition<?, ?> actual = target.getManagedObjectDefinition();
+ if (!definition.isParentOf(actual)) {
+ throw PropertyException.defaultBehaviorException(nextProperty, new DefinitionDecodingException(actual,
Reason.WRONG_TYPE_INFORMATION));
}
@@ -261,6 +262,7 @@
}
/** {@inheritDoc} */
+ @Override
public boolean matches(AbstractManagedObjectDefinition<?, ?> d) {
String oc = LDAPProfile.getInstance().getObjectClass(d);
// TODO : use the schema to get object class and check it in the entry
@@ -419,11 +421,10 @@
public <C extends ConfigurationClient, S extends Configuration, P> P getPropertyValue(
ManagedObjectPath<C, S> path, PropertyDefinition<P> pd) throws ConfigException {
SortedSet<P> values = getPropertyValues(path, pd);
- if (values.isEmpty()) {
- return null;
- } else {
+ if (!values.isEmpty()) {
return values.first();
}
+ return null;
}
/**
@@ -465,8 +466,7 @@
+ definition.getName());
}
- // Determine the exact type of managed object referenced by the
- // path.
+ // Determine the exact type of managed object referenced by the path.
DN dn = DNBuilder.create(path);
Entry configEntry = getManagedObjectConfigEntry(dn);
@@ -480,8 +480,7 @@
}
// Make sure we use the correct property definition, the
- // provided one might have been overridden in the resolved
- // definition.
+ // provided one might have been overridden in the resolved definition.
propertyDef = (PropertyDefinition<P>) managedObjDef.getPropertyDefinition(propertyDef.getName());
List<String> attributeValues = getAttributeValues(managedObjDef, propertyDef, configEntry);
--
Gitblit v1.10.0