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

Reply via email to