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 2007/10/09 16:14:03 UTC

svn commit: r583177 - in /directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core: event/LeafEvaluator.java event/SubstringEvaluator.java partition/impl/btree/LeafEvaluator.java partition/impl/btree/SubstringEnumerator.java

Author: elecharny
Date: Tue Oct  9 07:14:02 2007
New Revision: 583177

URL: http://svn.apache.org/viewvc?rev=583177&view=rev
Log:
Injected the modifications which fix MR NPE  from trunk to bigbang

Modified:
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/LeafEvaluator.java
    directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java

Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java?rev=583177&r1=583176&r2=583177&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java Tue Oct  9 07:14:02 2007
@@ -341,14 +341,22 @@
             case ( EQUALITY_MATCH ):
                 mrule = type.getEquality();
                 break;
+                
             case ( SUBSTRING_MATCH ):
                 mrule = type.getSubstr();
                 break;
+                
             case ( ORDERING_MATCH ):
                 mrule = type.getOrdering();
                 break;
+                
             default:
                 throw new NamingException( "Unknown match type: " + matchType );
+        }
+
+        if ( ( mrule == null ) && ( matchType != EQUALITY_MATCH ) )
+        {
+            mrule = type.getEquality();
         }
 
         return mrule;

Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java?rev=583177&r1=583176&r2=583177&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java Tue Oct  9 07:14:02 2007
@@ -33,6 +33,7 @@
 import org.apache.directory.shared.ldap.filter.ExprNode;
 import org.apache.directory.shared.ldap.filter.SubstringNode;
 import org.apache.directory.shared.ldap.schema.AttributeType;
+import org.apache.directory.shared.ldap.schema.MatchingRule;
 import org.apache.directory.shared.ldap.schema.Normalizer;
 
 
@@ -72,7 +73,15 @@
         SubstringNode snode = (SubstringNode)node;
         String oid = oidRegistry.getOid( snode.getAttribute() );
         AttributeType type = attributeTypeRegistry.lookup( oid );
-        Normalizer normalizer = type.getSubstr().getNormalizer();
+        MatchingRule matchingRule = type.getSubstr();
+        
+        if ( matchingRule == null )
+        {
+            matchingRule = type.getEquality();
+        }
+        
+        Normalizer normalizer = matchingRule.getNormalizer();
+        
 
         // get the attribute
         Attribute attr = entry.get( snode.getAttribute() );

Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/LeafEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/LeafEvaluator.java?rev=583177&r1=583176&r2=583177&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/LeafEvaluator.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/LeafEvaluator.java Tue Oct  9 07:14:02 2007
@@ -346,7 +346,6 @@
             // this attribute type : as the AT was indexed, we
             // have a direct access to the entry.
             if ( idx.hasValue( attrId, rec.getEntryId() ) )
-                ;
             {
                 return true;
             }

Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java?rev=583177&r1=583176&r2=583177&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java Tue Oct  9 07:14:02 2007
@@ -30,6 +30,7 @@
 import org.apache.directory.shared.ldap.filter.ExprNode;
 import org.apache.directory.shared.ldap.filter.SubstringNode;
 import org.apache.directory.shared.ldap.schema.AttributeType;
+import org.apache.directory.shared.ldap.schema.MatchingRule;
 import org.apache.directory.shared.ldap.schema.Normalizer;
 
 
@@ -79,7 +80,15 @@
         Index idx = null;
         final SubstringNode snode = ( SubstringNode ) node;
         AttributeType type = attributeTypeRegistry.lookup( snode.getAttribute() );
-        Normalizer normalizer = type.getSubstr().getNormalizer();
+
+        MatchingRule matchingRule = type.getSubstr();
+
+        if ( matchingRule == null )
+        {
+            matchingRule = type.getEquality();
+        }
+        
+        Normalizer normalizer = matchingRule.getNormalizer();
 
         if ( db.hasUserIndexOn( snode.getAttribute() ) )
         {