Suppression d'entités

Vous pouvez supprimer des entrées à l'aide de la méthode delete(DataObject) et de la commande DeleteControl.

Pourquoi et quand exécuter cette tâche

Voici la structure hiérarchique de OrgContainer Sales :
  • dc=yourco,dc=com
    • cn=users
      • o=Sales
        • ou=CA
          • uid=SalesPerson1
          • uid=SalesPeson2
        • ou=US
          • uid=SalesPerson3
          • uid=SalesPeson4

Dans cet exemple, OrgContainer Sales et ses descendants sont supprimés du référentiel.

Pour supprimer une entité OrgContainer Sales et ses descendants d'un référentiel de données, ajoutez ce code exemple à votre code d'application, puis remplacez les variables par les valeurs réelles à utiliser pour cette requête :
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, DO_ENTITY);
DataObject ctrl = SDOHelper.createControlDataObject(root, null, DO_DELETE_CONTROL);
ctrl.setBoolean(PROP_DELETE_DESCENDANTS, true);
ctrl.setBoolean(PROP_RETURN_DELETED, true);
			
				
entity.createDataObject(DO_IDENTIFIER).set(PROP_UNIQUE_NAME, 
                               "o=Sales,cn=users,dc=yourco,dc=com");
	root = service.delete(root);

Modèles de graphiques de données d'entrée et de sortie

Pour cet exemple particulier, le graphique de données d'entrée est le suivant :
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:sdo="commonj.sdo" 
               xmlns:wim="http://www.ibm.com/websphere/wim">
  <wim:Root>
    <wim:entities>
      <wim:identifier uniqueName="o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:controls xsi:type="wim:DeleteControl" deleteDescendants="true" returnDeleted="true"/> 

  </wim:Root>
</sdo:datagraph>
Le graphique de données de sortie qui en résulte est le suivant :
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:sdo="commonj.sdo" 
               xmlns:wim="http://www.ibm.com/websphere/wim">
  <wim:Root>
    <wim:entities xsi:type="wim:PersonAccount">
      <wim:identifier externalName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
                      repositoryId="LDAP1" 
                      uniqueId="e7db8c0e-d2b3-43fe-be14-1475125606f4" 
                      uniqueName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:entities xsi:type="wim:PersonAccount">
      <wim:identifier externalName="uid=SalesPerson2,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
                      repositoryId="LDAP1" 
                      uniqueId="a3f9e8a1-117a-4252-840f-6d0cb079a7fb" 
                      uniqueName="uid=SalesPerson2,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:entities xsi:type="wim:OrgContainer">
      <wim:identifier externalName="ou=CA,o=Sales,cn=users,dc=yourco,dc=com" 
                      repositoryId="LDAP1"
                      uniqueId="0dfcccf7-9fb9-4b25-a0f4-ff4b6b33068e" 
                      uniqueName="ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:entities xsi:type="wim:PersonAccount">
      <wim:identifier externalName="uid=SalesPerson4,ou=US,o=Sales,cn=users,dc=yourco,dc=com"
                      repositoryId="LDAP1" 
                      uniqueId="a2d1be42-212e-44f0-8396-0bfc2d7d346d" 
                      uniqueName="uid=SalesPerson4,ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:entities xsi:type="wim:PersonAccount">
      <wim:identifier externalName="uid=SalesPerson3,ou=US,o=Sales,cn=users,dc=yourco,dc=com"
                      repositoryId="LDAP1" 
                      uniqueId="13ae346f-1e4c-40cd-8896-1c7f0b2b3079" 
                      uniqueName="uid=SalesPerson3,ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:entities xsi:type="wim:OrgContainer">
      <wim:identifier externalName="ou=US,o=Sales,cn=users,dc=yourco,dc=com" 
                      repositoryId="LDAP1"
                      uniqueId="70dd624d-6eb0-4fdf-8338-3ae4090b1c6f" 
                      uniqueName="ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:entities xsi:type="wim:OrgContainer">
      <wim:identifier externalName="o=Sales,cn=users,dc=yourco,dc=com" 
                      repositoryId="LDAP1"
                      uniqueId="eab85abb-9d29-40f1-b502-36c051d3ee96" 
                      uniqueName="o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
  </wim:Root>
</sdo:datagraph>
OrgContainer Sales est supprimé ainsi que ses descendants OrganizationUnits CA et US et leurs enfants SalesPerson1, SalesPerson2, SalesPerson3 et SalesPerson4.

Pour un exemple de code de bout en bout, voir la rubrique Exemple de code pour l'utilisation des utilisateurs, des groupes, des membres de groupe et de l'appartenance aux groupes.



Conditions d'utilisation | Commentaires