From c46ff78c545272ec2fc5679b22c39eae239636c6 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Thu, 24 Jan 2008 09:09:54 +0000
Subject: [PATCH] FIx for issue #2602 (index creation should not be required when changing objects configuration)
---
opends/src/server/org/opends/server/extensions/FingerprintCertificateMapper.java | 52 +++++++++++++++++++++++++++-------------------------
1 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/opends/src/server/org/opends/server/extensions/FingerprintCertificateMapper.java b/opends/src/server/org/opends/server/extensions/FingerprintCertificateMapper.java
index 3c57872..f5d18dd 100644
--- a/opends/src/server/org/opends/server/extensions/FingerprintCertificateMapper.java
+++ b/opends/src/server/org/opends/server/extensions/FingerprintCertificateMapper.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2007 Sun Microsystems, Inc.
+ * Portions Copyright 2007-2008 Sun Microsystems, Inc.
*/
package org.opends.server.extensions;
@@ -45,6 +45,7 @@
import org.opends.server.api.CertificateMapper;
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.ErrorLogger;
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.protocols.internal.InternalClientConnection;
import org.opends.server.protocols.internal.InternalSearchOperation;
@@ -148,9 +149,10 @@
Backend b = DirectoryServer.getBackend(baseDN);
if ((b != null) && (! b.isIndexed(t, IndexType.EQUALITY)))
{
- throw new ConfigException(ERR_FCM_ATTR_UNINDEXED.get(
- configuration.dn().toString(),
- t.getNameOrOID(), b.getBackendID()));
+ Message message = WARN_SATUACM_ATTR_UNINDEXED.get(
+ configuration.dn().toString(),
+ t.getNameOrOID(), b.getBackendID());
+ ErrorLogger.logError(message);
}
}
}
@@ -301,27 +303,6 @@
{
boolean configAcceptable = true;
- // Make sure that the fingerprint attribute is configured for equality in
- // all appropriate backends.
- Set<DN> cfgBaseDNs = configuration.getUserBaseDN();
- if ((cfgBaseDNs == null) || cfgBaseDNs.isEmpty())
- {
- cfgBaseDNs = DirectoryServer.getPublicNamingContexts().keySet();
- }
-
- AttributeType t = configuration.getFingerprintAttribute();
- for (DN baseDN : cfgBaseDNs)
- {
- Backend b = DirectoryServer.getBackend(baseDN);
- if ((b != null) && (! b.isIndexed(t, IndexType.EQUALITY)))
- {
- configAcceptable = false;
- unacceptableReasons.add(ERR_FCM_ATTR_UNINDEXED.get(
- configuration.dn().toString(),
- t.getNameOrOID(), b.getBackendID()));
- }
- }
-
return configAcceptable;
}
@@ -357,6 +338,27 @@
currentConfig = configuration;
}
+ // Make sure that the fingerprint attribute is configured for equality in
+ // all appropriate backends.
+ Set<DN> cfgBaseDNs = configuration.getUserBaseDN();
+ if ((cfgBaseDNs == null) || cfgBaseDNs.isEmpty())
+ {
+ cfgBaseDNs = DirectoryServer.getPublicNamingContexts().keySet();
+ }
+
+ AttributeType t = configuration.getFingerprintAttribute();
+ for (DN baseDN : cfgBaseDNs)
+ {
+ Backend b = DirectoryServer.getBackend(baseDN);
+ if ((b != null) && (! b.isIndexed(t, IndexType.EQUALITY)))
+ {
+ Message message = WARN_SATUACM_ATTR_UNINDEXED.get(
+ configuration.dn().toString(),
+ t.getNameOrOID(), b.getBackendID());
+ messages.add(message);
+ ErrorLogger.logError(message);
+ }
+ }
return new ConfigChangeResult(resultCode, adminActionRequired, messages);
}
--
Gitblit v1.10.0