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:

Descrição do valor do mapeamento de atributo
Script sugerido

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?