//Initialize the existing matching rules.
for (String name : rootConfiguration.listMatchingRules())
{
MatchingRuleCfg mrConfiguration = rootConfiguration.getMatchingRule(name);
mrConfiguration.addChangeListener(this);
if (mrConfiguration.isEnabled())
{
String className = mrConfiguration.getJavaClass();
try
{
MatchingRuleFactory<?> factory =
loadMatchingRuleFactory(className, mrConfiguration, true);
try
{
for(MatchingRule matchingRule: factory.getMatchingRules())
{
DirectoryServer.registerMatchingRule(matchingRule, false);
}
matchingRuleFactories.put(mrConfiguration.dn(), factory);
}
catch (DirectoryException de)
{
Message message = WARN_CONFIG_SCHEMA_MR_CONFLICTING_MR.get(
String.valueOf(mrConfiguration.dn()), de.getMessageObject());
ErrorLogger.logError(message);
continue;
}
}
catch (InitializationException ie)