Neue Entitätstypkonfiguration dynamisch hinzufügen

Mit dem hier beschriebenen Verfahren können Sie eine neue Konfiguration für einen unterstützten Entitätstyp dynamisch hinzufügen.

Vorbereitende Schritte

Dieser Entitätstyp muss im Schema bereits vorhanden sein.

Informationen zu diesem Vorgang

Anmerkung: Wenn dieser dynamische Aufruf ausgeführt wird, wird nur die Konfiguration im Arbeitsspeicher aktualisiert. Die Konfigurationsdatei wird nicht aktualisiert.
Ereignistyp
DYNA_CONFIG_EVENT_ADD_ENTITY_CONFIG
Konfigurationsdaten
DYNA_CONFIG_KEY_ENTITY_TYPE (erforderlich) - [String]
Gibt den qualifizierten Namen des Entitätstyps an, der hinzugefügt werden soll.
DYNA_CONFIG_KEY_RDNS (erforderlich) - [List]
Gibt die RDN-Merkmale (RDN = relativ definierter Name) des Entitätstyps an.
DYNA_CONFIG_KEY_DEFAULT_PARENT (erforderlich) - [String
Gibt das übergeordnete Standardelement des Entitätstyps an.
DYNA_CONFIG_KEY_ENTITY_CONFIGS - [Hashtable]
Gibt den Schlüssel der Hashtabelle an, bei dem es sich um die Repository-ID handelt. Der Wert der Hashtabelle ist ein Datenobjekt. Ist das Repository beispielsweise ein LDAP-Repository, ist das Datenobjekt "LdapEntityTypes", das alle spezifischen Konfigurationseinstellungen für den LDAP-Adapter enthält. Falls das Repository keine bestimmte Einstellung benötigt (wie das Datenbankrepository), ist dieser Parameter nicht erforderlich.
Ein Beispiel für die Task ist nachfolgend beschrieben:

Vorgehensweise

  1. Stellen Sie sicher, dass Virtual Member Manager aktiv ist.
  2. Rufen Sie die API-Methode "dynamicUpdateConfig" auf, um die neue Entitätskonfiguration hinzuzufügen. Beispiel für das Hinzufügen eines Entitätstyps "PersonAccount":
    // dynamic update
    Hashtable configData = new Hashtable();
    configData.put(DynamicConfigConstants.DYNA_CONFIG_KEY_REPOS_ID, "LDAP1");
    configData.put(DynamicConfigConstants.DYNA_CONFIG_KEY_ENTITY_TYPE, DO_PERSON_ACCOUNT);
    List rdns = new ArrayList();
    rdns.add("uid");
    configData.put(DynamicConfigConstants.DYNA_CONFIG_KEY_RDNS, rdns);
    configData.put(DynamicConfigConstants.DYNA_CONFIG_KEY_DEFAULT_PARENT, "cn=users,dc=yourco,dc=com");
    DataObject configProvider = SDOHelper.createConfigProviderDataObject();
    DataObject ldapRepos = SDOHelper.createConfigRepositoryDataObject(configProvider,
                           ConfigConstants.CONFIG_DO_LDAP_REPOSITORY_TYPE);
    DataObject ldapEntity = ldapRepos.createDataObject(ConfigConstants.CONFIG_DO_LDAP_ENTITY_TYPES);
    ldapEntity.setString(ConfigConstants.CONFIG_PROP_NAME, DO_PERSON_ACCOUNT);
    ldapEntity.getList(CONFIG_DO_OBJECTCLASSES).add("ePerson");
    ldapEntity.getList(CONFIG_DO_OBJECTCLASSES_FOR_CREATE).add("inetOrgPerson");
    ldapEntity.getList(CONFIG_DO_OBJECTCLASSES_FOR_CREATE).add("ePerson");
    Hashtable entityConfigs = new Hashtable();
    entityConfigs.put("LDAP1", ldapEntity);
    configData.put(DynamicConfigConstants.DYNA_CONFIG_KEY_ENTITY_CONFIGS, entityConfigs);
    service.dynamicUpdateConfig(DynamicConfigConstants.DYNA_CONFIG_EVENT_ADD_ENTITY_CONFIG, configData);


Rechtliche Hinweise | Feedback