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 2010/12/31 16:10:07 UTC

Subentry handling in the server

Hi guys,

currently, in trunk, we don't store subentries into a dedicated 
structure. It's just manipulated as an Entry (which it is anyway). In 
the AP branch, I have created a dedicated structure to ease the 
subentries handling.

Right now, it contains the following fields :
public class Subentry
{
     /** The Subtree Specification associated with this subentry */
     private SubtreeSpecification ss;

     /** The administratives roles */
     private Set<AdministrativeRoleEnum> administrativeRoles;

     /** The subentry UUID */
     private String uuid;

     /** The subentry CN */
     private String cn;
     ...
}

You can note that we don't store the subentry's DN, simply because doing 
so would make the Move or Rename operations more complex (this can be 
questionned, and obviously changed).

Anyways, I think we should go a bit farther : this is a generic class, 
and we always manipulate dedicate subentries, like CollectiveAttributes 
subentries or AccessControl subentries. Those specific subentries 
contain some other fields :

collectiveAttributeSubentry :
- a list of COLLECTIVE attributes

accessControlSubentry :
- a prescriptiveACI field

triggerExecutionSubentry :
- a prescriptiveTriggerSpecification field

As we can see, those fields are pretty much disconnected.

I suggest we create some inherited classes, making the Subentry class 
abstract.

-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com