Ajout dynamique d'une nouvelle configuration de type d'entité

Cette procédure permet d'ajouter dynamiquement une nouvelle configuration de type d'entité prise en charge.

Avant de commencer

Ce type d'entité doit déjà exister dans le schéma.

Pourquoi et quand exécuter cette tâche

Remarque : Lorsque cet appel dynamique est effectué, seule la configuration en mémoire est mise à jour. Le fichier de configuration n'est pas mis à jour.
Type d'événement
DYNA_CONFIG_EVENT_ADD_ENTITY_CONFIG
Données de configuration
DYNA_CONFIG_KEY_ENTITY_TYPE (requis) - [String]
Indique le nom qualifié du type d'entité à ajouter.
DYNA_CONFIG_KEY_RDNS (requis) - [List]
Indique les propriétés du nom distinctif relatif (RDN) du type d'entité.
DYNA_CONFIG_KEY_DEFAULT_PARENT (requis) - [String
Indique le parent par défaut du type d'entité.
DYNA_CONFIG_KEY_ENTITY_CONFIGS - [Hashtable]
Indique la clé de la table de hachage, qui correspond à l'ID référentiel. La valeur de la table de hachage est un objet de données. Par exemple, si le référentiel est un référentiel LDAP, l'objet de données est ldapentitytypes, qui contient tous les paramètres de configuration spécifiques à l'adaptateur LDAP. Si le référentiel n'a pas besoin de paramètres spécifiques (comme un référentiel de base de données), ce paramètre n'est pas nécessaire.
Voici un exemple de tâche :

Procédure

  1. Assurez-vous que virtual member manager est en cours d'exécution.
  2. Appelez la méthode de l'API dynamicUpdateConfig qui permet d'ajouter la nouvelle configuration d'entité. Par exemple, pour ajouter un type d'entité PersonAccount :
    // mise à jour dynamique
    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);


Conditions d'utilisation | Commentaires