You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2008/12/27 13:52:06 UTC

svn commit: r729629 - /directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java

Author: elecharny
Date: Sat Dec 27 04:52:05 2008
New Revision: 729629

URL: http://svn.apache.org/viewvc?rev=729629&view=rev
Log:
Added some code to allow the server.xml file to use names instead of OIDs for index attributes (useful for the technical attributes)

Modified:
    directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java

Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java?rev=729629&r1=729628&r2=729629&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java Sat Dec 27 04:52:05 2008
@@ -92,6 +92,7 @@
 import org.apache.directory.shared.ldap.message.ResultCodeEnum;
 import org.apache.directory.shared.ldap.name.LdapDN;
 import org.apache.directory.shared.ldap.name.Rdn;
+import org.apache.directory.shared.ldap.schema.AttributeType;
 import org.apache.directory.shared.ldap.schema.OidNormalizer;
 import org.apache.directory.shared.ldap.util.AttributeUtils;
 import org.apache.directory.shared.ldap.util.DateUtils;
@@ -1350,7 +1351,20 @@
                 JdbmPartition btpconf = ( JdbmPartition ) partition;
                 for ( Index<?,ServerEntry> index : btpconf.getIndexedAttributes() )
                 {
-                    String schemaName = dao.findSchema( index.getAttributeId() );
+                    String schemaName = null;
+                    
+                    try
+                    {
+                        // Try to retrieve the AT in the registries
+                        AttributeType at = registries.getAttributeTypeRegistry().lookup( index.getAttributeId() );
+                        schemaName = dao.findSchema( at.getOid() );
+                    }
+                    catch ( Exception e )
+                    {
+                        // It does not exists: just use the attribute ID
+                        schemaName = dao.findSchema( index.getAttributeId() );
+                    }
+                    
                     if ( schemaName == null )
                     {
                         throw new NamingException( "Index on unidentified attribute: " + index.toString() );