You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lecharny <el...@gmail.com> on 2007/01/21 16:37:19 UTC

[ApacheDS] SchemaService fix (Was [SchemaService])

Hi guys,

for you to review and (hopefully) approuve or reject :


Modifications done to fix DIRSERVER-758 and referrals.

All the files listed below contains some modification. The attached 
DIFFs contains the real modifications.

FYI, some characters at the begining of each files has been added for a 
better understanding :
? = This change is not necessary, but it was helpfull
! = dubious modifications, or at least questionnable ones. They may be 
rollbacked.
X = rollbacked modifications
* = mandatory modifications
(R) : related to Referral issues

Shared :
========

? 
src/main/java/org/apache/directory/shared/ldap/schema/AbstractSchemaObject.java 
:
Modified the toString() method for better lisibility in debug mode

* src/main/java/org/apache/directory/shared/ldap/util/AttributeUtils.java :
Added a method containsValueCaseIgnore( Attribute attr, Object value ) 
which search for a value in
an attribute, case insensitive. This method should be removed, and we 
should use the static method
containsValue( Attribute attr, Object compared, AttributeType type ) 
instead. But in 1.0, there is
two problems :
1) We don't always have access to the AttributeType when we need to call 
this method (because we don't
have access to the registries)
2) It throws a NamingException and the caller does not handle this 
exception.
So the added method can be used for Attribute which are not 
caseSensitive, like ObjectClass.

ApacheDS :
==========

core :
------
! 
src/main/java/org/apache/directory/server/core/schema/SchemaService.java, 
r497531, r497532, r497566 :
Modified the interceptor to handle correctly attributes. Partially rewrote.

! 
src/main/java/org/apache/directory/server/core/schema/SchemaService.java, 
r497684 :
Second modification of this interceptor

* 
src/main/java/org/apache/directory/server/core/schema/SchemaService.java, 
workspace :
The _real_ stuff. Seems to be ok...

! 
src/test/java/org/apache/directory/server/core/schema/SchemaServiceTest.java 
:
Commented a test, because the tested inner method is now private. We 
should create a helper class
for those kind of methods, allowing us to write tests cases.

* src/main/java/org/apache/directory/server/core/authz/GroupCache.java :
Use the added method containsValueCaseIgnore( Attribute attr, Object 
value ) instead of a direct
call to contains( value).

* src/main/java/org/apache/directory/server/core/authz/TupleCache.java :
Use the added method containsValueCaseIgnore( Attribute attr, Object 
value ) instead of a direct
call to contains( value).