Adición dinámica de una nueva configuración de tipo de entidad

Utilice este procedimiento para añadir dinámicamente una nueva configuración de tipo de entidad soportada.

Antes de empezar

Este tipo de entidad ya debe existir en el esquema.

Acerca de esta tarea

Nota: Cuando se realiza esta llamada dinámica, sólo se actualiza la configuración en la memoria. El archivo de configuración no se actualiza.
Tipo de suceso
DYNA_CONFIG_EVENT_ADD_ENTITY_CONFIG
Datos de configuración
DYNA_CONFIG_KEY_ENTITY_TYPE (necesario) - [Serie]
Especifica el nombre calificado del tipo de entidad que debe añadirse.
DYNA_CONFIG_KEY_RDNS (necesario) - [Lista]
Especifica las propiedades de nombre distinguido relativo (RDN) del tipo de entidad.
DYNA_CONFIG_KEY_DEFAULT_PARENT (necesario) - [Serie
Especifica el padre predeterminado del tipo de entidad.
DYNA_CONFIG_KEY_ENTITY_CONFIGS - [Tabla hash]
Especifica la clave de la tabla hash, que es el ID de depósito. El valor de la tabla hash es un objeto de datos. Por ejemplo, si el depósito es un depósito LDAP, el objeto de datos es LdapEntityTypes, que contiene los valores de todas las configuraciones específicas del adaptador LDAP. Si el depósito no necesita ningún valor específico (como el depósito de base de datos), este parámetro no es necesario.
A continuación se proporciona una tarea de ejemplo:

Procedimiento

  1. Asegúrese de que virtual member manager se esté ejecutando.
  2. Invoque el método de API dynamicUpdateConfig para añadir la nueva configuración de entidad. Por ejemplo, para añadir un tipo de entidad PersonAccount:
    // actualización dinámica
    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);


Condiciones de uso | Comentarios