Übergeordnete Elemente einer Entität abrufen

Verwenden Sie die Methode "get(DataObject)" zusammen mit "AncestorControl", um die übergeordneten Elemente einer Entität anzuzeigen.

Informationen zu diesem Vorgang

Im Folgenden sehen Sie die hierarchische Struktur von "SalesPerson1":
  • cn=users,dc=yourco,dc=com
    • o=Sales
      • ou=CA
        • uid=SalesPerson1
      • ou=US
      • ou=Europe

In diesem Beispiel ist die Anforderung, alle Ebenen der übergeordneten Elemente von "SalesPerson1" anzuzeigen.

Wenn Sie alle Ebenen von übergeordneten Elementen für "SalesPerson1" abfragen möchten, nehmen Sie den Mustercode in Ihren Anwendungscode auf, und ersetzen Sie die kursiv gedruckten variablen durch die aktuellen Werte, die Sie für diese Anforderung verwenden möchten:
DataObject root = SDOHelper.createRootDataObject();
DataObject entity = SDOHelper.createEntityDataObject(root, null, DO_PERSON_ACCOUNT);
entity.createDataObject(DO_IDENTIFIER).setString(PROP_UNIQUE_NAME, 
               "uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com");			
DataObject ancesCtrl = SDOHelper.createControlDataObject(root, null, DO_ANCESTOR_CONTROL);
// 0 means all ancestors
ancesCtrl.setInt(PROP_LEVEL, 0); 
ancesCtrl.getList(PROP_PROPERTIES).add("uid");
ancesCtrl.getList(PROP_PROPERTIES).add("cn");
ancesCtrl.getList(PROP_PROPERTIES).add("o");
ancesCtrl.getList(PROP_PROPERTIES).add("ou");			
		
root = service.get(root);

Beispiele für Eingabe- und Ausgabedatengraphen

Für das dargestellte Beispiel ist der Eingabedatengraph:
<?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 uniqueName="uid=SalesPerson1,ou=CA,o=Sales,cn=users,dc=yourco,dc=com"/>
    </wim:entities>
    <wim:controls xsi:type="wim:AncestorControl" level="0">
      <wim:properties>uid</wim:properties>
      <wim:properties>cn</wim:properties>
      <wim:properties>o</wim:properties>
      <wim:properties>ou</wim:properties>
    </wim:controls>
  </wim:Root>
</sdo:datagraph>
Daraus resultiert für das Beispiel der folgende Ausgabedatengraph:
<?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:parent 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:parent xsi:type="wim:OrgContainer">
          <wim:identifier externalId="eab85abb-9d29-40f1-b502-36c051d3ee96" 
                          externalName="o=Sales,cn=users,dc=yourco,dc=com"
                          repositoryId="LDAP1" 
                          uniqueName="o=Sales,cn=users,dc=yourco,dc=com"/>
          <wim:parent xsi:type="wim:OrgContainer">
            <wim:identifier externalId="93fde597-b628-4952-90cc-d6b178a05235" 
                            externalName="cn=users,dc=yourco,dc=com"
                            repositoryId="LDAP1" 
                            uniqueName="cn=users,dc=yourco,dc=com"/>
            <wim:cn>users</wim:cn>
          </wim:parent>
          <wim:o>Sales</wim:o>
        </wim:parent>
        <wim:ou>CA</wim:ou>
      </wim:parent>
    </wim:entities>
  </wim:Root>
</sdo:datagraph>
"CA", "Sales", "users" und "dc=yourco.dc=com" werden als übergeordnete Elemente von "SalesPerson1" zurückgegeben.

Lesen Sie hierzu auch die Informationen im Thema Mustercode für die Erstellung einer Entität in einer Hierarchie und den Abruf von untergeordneten und übergeordneten Elementen.



Rechtliche Hinweise | Feedback