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/08 18:43:37 UTC
svn commit: r582874 - in
/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core:
event/LeafEvaluator.java event/SubstringEvaluator.java
partition/impl/btree/SubstringEnumerator.java
Author: elecharny
Date: Mon Oct 8 09:43:36 2007
New Revision: 582874
URL: http://svn.apache.org/viewvc?rev=582874&view=rev
Log:
When the MatchinRule is null, returns the Equality MR a s a default, to avoid NPEs
Modified:
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java?rev=582874&r1=582873&r2=582874&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/LeafEvaluator.java Mon Oct 8 09:43:36 2007
@@ -305,6 +305,7 @@
private Comparator getComparator( String attrId ) throws NamingException
{
MatchingRule mrule = getMatchingRule( attrId, EQUALITY_MATCH );
+
return mrule.getComparator();
}
@@ -341,16 +342,24 @@
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 )
+ {
+ return type.getEquality();
+ }
+
return mrule;
}
}
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java?rev=582874&r1=582873&r2=582874&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/SubstringEvaluator.java Mon Oct 8 09:43:36 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,14 @@
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/trunk/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java?rev=582874&r1=582873&r2=582874&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/SubstringEnumerator.java Mon Oct 8 09:43:36 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,14 @@
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() ) )
{