directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@gmail.com>
Subject [AdminPoint] Delete operation
Date Fri, 17 Dec 2010 13:38:37 GMT
Here is the description of a Delete operation, and how it's handled by 
the AdministrativePoint handler. The parts between >>>--- and ---<<< are

pseudo code.

Deleting an entry is somehow easier, as we don't update anything, except 
when we delete a Subentry.

+--+
|AP|
+--+
We can't delete an AP if it has any child. So deleting an AP is a 
straightforward operation : we just remove the AP, and update the AP cache.

 >>>-------------------------------------------
check that the AP has no children

if the AP is an AAP
   then
     for each role do
       remove the AP(role) from the AP(role) cache
     done
   else
     remove the AP(role) from the AP(role) cache

remove the AP from the backend
-------------------------------------------<<<

+--------+
|Subentry|
+--------+
Removing a subentry is slightly more complex, as we will have to update 
the associated AP SeqNumber, so that the entries part of the subtree can 
be updated later.

 >>>-------------------------------------------
get a new seqNumber
update the parentAP(role) with the new seqNumber

if the parentAP(role) is an IAP
   then
     update the parentAP(role) descendant with the new seqNumber

remove the subentry from the backend
-------------------------------------------<<<


+-----+
|Entry|
+-----+

Deleting an entry is a straightforward operation. Nothing has to be done

 >>>-------------------------------------------
continue down the chain
-------------------------------------------<<<

-- 
Regards,
Cordialement,
Emmanuel L├ęcharny
www.iktek.com


Mime
View raw message