Obtención de los descendientes de una entidad

Utilice el método get(DataObject) y DescendantControl para mostrar los hijos de una entidad.

Acerca de esta tarea

A continuación se proporciona la estructura jerárquica de SalesPerson 1 y SalesPerson2:
  • dc=yourco,dc=com
    • cn=users
      • o=Sales
        • ou=CA
          • uid=SalesPerson1
          • uid=SalesPeson2
        • ou=US
          • uid=SalesPerson3
          • uid=SalesPeson4
        • ou=Europe

En este ejemplo, se solicita que se muestren todos los hijos de OrgContainer Sales.

Para solicitar los descendientes de OrgContainer Sales, añada este código de ejemplo al código de aplicación y sustituya la variable por los valores reales que desea utilizar para esta petición:
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, DO_ENTITY);
entity.createDataObject(DO_IDENTIFIER).setString(PROP_UNIQUE_NAME,
           "o=Sales,cn=users,dc=yourco,dc=com");
DataObject descCtrl = SDOHelper.createControlDataObject(root, null, DO_DESCENDANT_CONTROL);
// 0 means all descendants
descCtrl.setInt(PROP_LEVEL, 0);
descCtrl.getList(PROP_PROPERTIES).add("uid");
descCtrl.getList(PROP_PROPERTIES).add("cn");
descCtrl.getList(PROP_PROPERTIES).add("o");
descCtrl.getList(PROP_PROPERTIES).add("ou");
descCtrl.getList(PROP_PROPERTIES).add("manager");	
		
root = service.get(root);

Gráficos de ejemplo de datos de entrada y salida

Para este ejemplo concreto, el gráfico de datos de entrada es:
<?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:DescendantControl" level="0">
      <wim:properties>uid</wim:properties>
      <wim:properties>cn</wim:properties>
      <wim:properties>o</wim:properties>
      <wim:properties>ou</wim:properties>
      <wim:properties>manager</wim:properties>
    </wim:controls>
  </wim:Root>
</sdo:datagraph>
El gráfico de datos de salida resultante para este ejemplo es:
<?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: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:children xsi:type="wim:OrgContainer">
        <wim:identifier externalId="0dfcccf7-9fb9-4b25-a0f4-ff4b6b33068e" 
                        externalName="ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueName="ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:ou>CA</wim:ou>
      </wim:children>
      <wim:children xsi:type="wim:PersonAccount">
        <wim:identifier externalId="e7db8c0e-d2b3-43fe-be14-1475125606f4" 
                        externalName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesPerson1</wim:uid>
        <wim:cn>Sales Person1</wim:cn>
        <wim:manager externalId="5e846c20-a1b4-4bfc-bce2-1f841d762f9a" 
                     externalName="uid=SalesManager,cn=users,dc=yourco,dc=com"
                     repositoryId="LDAP1" 
                     uniqueName="uid=SalesManager,cn=users,dc=yourco,dc=com"/>
      </wim:children>
      <wim:children xsi:type="wim:OrgContainer">
        <wim:identifier externalId="70dd624d-6eb0-4fdf-8338-3ae4090b1c6f" 
                        externalName="ou=US,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueName="ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:ou>US</wim:ou>
      </wim:children>
      <wim:children xsi:type="wim:PersonAccount">
        <wim:identifier externalId="13ae346f-1e4c-40cd-8896-1c7f0b2b3079" 
                        externalName="uid=SalesPerson3,ou=US,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueName="uid=SalesPerson3,ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesPerson3</wim:uid>
        <wim:cn>Sales Person3</wim:cn>
        <wim:manager externalId="5e846c20-a1b4-4bfc-bce2-1f841d762f9a" 
                     externalName="uid=SalesManager,cn=users,dc=yourco,dc=com"
                     repositoryId="LDAP1" 
                     uniqueName="uid=SalesManager,cn=users,dc=yourco,dc=com"/>
      </wim:children>
      <wim:children xsi:type="wim:PersonAccount">
        <wim:identifier externalId="a2d1be42-212e-44f0-8396-0bfc2d7d346d" 
                        externalName="uid=SalesPerson4,ou=US,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueName="uid=SalesPerson4,ou=US,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesPerson4</wim:uid>
        <wim:cn>Sales Person4</wim:cn>
      </wim:children>
      <wim:children xsi:type="wim:PersonAccount">
        <wim:identifier externalId="a3f9e8a1-117a-4252-840f-6d0cb079a7fb" 
                        externalName="uid=SalesPerson2,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"
                        repositoryId="LDAP1" 
                        uniqueName="uid=SalesPerson2,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
        <wim:uid>SalesPerson2</wim:uid>
        <wim:cn>Sales Person2</wim:cn>
        <wim:manager externalId="5e846c20-a1b4-4bfc-bce2-1f841d762f9a" 
                     externalName="uid=SalesManager,cn=users,dc=yourco,dc=com"
                     repositoryId="LDAP1" 
                     uniqueName="uid=SalesManager,cn=users,dc=yourco,dc=com"/>
      </wim:children>
    </wim:entities>
  </wim:Root>
</sdo:datagraph>
OrganizationUnit CA y sus hijos SalesPerson1 y SalesPerson2, OrganizationUnit US y sus hijos, SalesPerson3 y SalesPerson4, y OrganizationUnit Europe se devuelven como los descendientes de OrgContainer Sales.

Consulte también el tema, Código de ejemplo para crear una entidad en una jerarquía y obtener los descendientes y ascendientes.



Condiciones de uso | Comentarios