From 249f365384d6e9927fc8cd3e161a789bbaf0ed47 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 13 Dec 2013 22:40:35 +0000
Subject: [PATCH] Backport fix for OPENDJ-1252: ReadSchema example throws NPE
---
opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRule.java | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRule.java b/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRule.java
index 7f315f6..8c59a15 100644
--- a/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRule.java
+++ b/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRule.java
@@ -371,10 +371,15 @@
}
if (impl == null) {
- impl = schema.getDefaultMatchingRule().impl;
- final LocalizableMessage message = WARN_MATCHING_RULE_NOT_IMPLEMENTED1
- .get(getNameOrOID(), schema.getDefaultMatchingRule()
- .getOID());
+ final MatchingRule defaultMatchingRule = schema.getDefaultMatchingRule();
+ if (defaultMatchingRule.impl == null) {
+ // The default matching rule was never validated.
+ defaultMatchingRule.validate(schema, warnings);
+ }
+ impl = defaultMatchingRule.impl;
+ final LocalizableMessage message =
+ WARN_MATCHING_RULE_NOT_IMPLEMENTED1.get(getNameOrOID(), schema
+ .getDefaultMatchingRule().getOID());
warnings.add(message);
}
--
Gitblit v1.10.0