Incluindo Dinamicamente uma Nova Configuração de Tipo de Entidade

Use este procedimento para incluir dinamicamente uma nova configuração de tipo de entidade suportada.

Antes de Iniciar

Esse tipo de entidade já deverá existir no esquema.

Sobre Esta Tarefa

Nota: Quando essa chamada dinâmica é feita, somente a configuração na memória é atualizada. O arquivo de configuração não é atualizado.
Tipo de Evento
DYNA_CONFIG_EVENT_ADD_ENTITY_CONFIG
Dados de Configuração
DYNA_CONFIG_KEY_ENTITY_TYPE (required) - [String]
Especifica o nome qualificado do tipo de entidade a ser incluído.
DYNA_CONFIG_KEY_RDNS (required) - [List]
Especifica as propriedades do nome distinto relativo (RDN) do tipo de entidade.
DYNA_CONFIG_KEY_DEFAULT_PARENT (required) - [String
Especifica o pai padrão do tipo de entidade.
DYNA_CONFIG_KEY_ENTITY_CONFIGS - [Hashtable]
Especifica a chave da hashtable, que é o ID do repositório. O valor da hashtable é um objeto de dados. Por exemplo, se for um repositório LDAP, o objeto de dados será LdapEntityTypes, que contém todas as definições de configuração específicas do adaptador LDAP. Se o repositório não precisar de nenhuma configuração específica (como repositório de banco de dados), esse parâmetro não será necessário.
A seguir, uma tarefa de amostra:

Procedimento

  1. Assegure-se de que o gerenciador de membro virtual esteja em execução.
  2. Chame o método da API dynamicUpdateConfig para incluir a nova configuração de entidade. Por exemplo, para incluir um tipo de entidade PersonAccount:
    // atualização 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);


Termos de uso | Feedback