Usando scripts BeanShell
Um script beanShell representa um programa na linguagem beanShell, que pode ser definido para gerar o valor do mapeamento de um atributo.
Segundo a documentação do beanShell, o beanShell é um interpretador de programas em Java e permite adicionar variáveis no contexto da interpretação.
Todo script beanShell executado no mapeamento do provisionamento contem a variável com o nome 'entry' que representa uma referência para o objeto que está sendo provisionado, no caso uma conta, ou um direito ou um membro de direito.
Essa referência contem os mesmos atributos descritos na tabela da seção Objetos e atributos disponíveis para o mapeamento de atributo.
Nota
Além da variável entry, o script tem disponível a referência para vários serviços da API do Blazon, como: userServiceAPI, accountServiceAPI, entitlementServiceAPI, roleServiceAPI, resourceServiceAPI, passwordPolicyServiceAPI, organizationUnitServiceAPI, membershipEntitlementServiceAPI, membershipRoleServiceAPI.
O script pode ter várias linhas e o valor final da execução do script será o valor dado como retorno, através do comando 'return', ou o valor da ultima atribuição.
A tabela abaixo ilustra alguns exemplos de scripts beanShell:
Atributo padrão 'firstName' do usuário da conta, no provisionamento de conta.
return entry.user.firstName;
Atributo padrão 'lastName' do usuário da conta, em letras maiúsculas (caso exista), no provisionamento de conta
lastName = entry.user.lastName;
if(lastName == null) {
return "";
}
return lastName.toUpperCase();
Atributo padrão 'accountIdentifier' da conta, no provisionamento de membro de direito.
return entry.account.accountIdentifier;
Atributo padrão 'accountIdentifier' da conta, no provisionamento de membro de direito, e concatenado com o termo "_ID".
accId = entry.account.accountIdentifier;
return accId + "_ID";
Atributo adicional 'occupationCode' do usuário da conta, no provisionamento de conta.
return entry.user.get('occupationCode');
Atributo padrão 'name' do direito, no provisionamento de membro de direito.
return entry.entitlement.name;
Atributo padrão 'name' do departamento do usuário da conta, no provisionamento de conta.
return entry.user.department.name;
Atualizado
Isto foi útil?