Feature #149
Attribute value comparison should be more "LDAP-aware"
| Status: | New | Start: | 25/11/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assigned to: | - | % Done: | 0% |
|
| Category: | Core | |||
| Target version: | - |
Description
With LDAP, comparison of 2 attributes's values depends on their schema.
Getting the schema from the directory and implementing all the matching rules is a little bloated... So I suggest to allow users to configure how they want their attributes to be compared, eg with:
lsc.xxx.attr.matchingrule = caseInsensitive
caseInsensitive should be a java class which implements eg. a java.Util.Comparator or maybe something simpler with only an equals method.
Note that in some cases mathcingrules are a little complex. Eg for a dn:
scn.xxx.member.matchingrule = dnMatch
Then dnMatch should check for each value of each RDN component to get the right comparator.
By default there should be a comparator that implements the equivalent of caseIgnoreMatch, ie if I recall correctly: trim+caseInsensitive.
An alternate solution could be to normalize attributes values before comparing them.