PropertyProviders

It is possible to configure entitlements with entitlement properties.

This has the effect that during assignment of the entitlement these properties have to be filled by the assigner. The value(s) of these properties are then stored with the assignment.

During provisioning these values can then be used.

The possible values to fill out in these input fields or drop down components, can be fetched from external sources.

This mechanism is called property providers.

An example is the Entitlement Administrator entitlement.

The property providers also support filtering functions based on locale and context.

Some property values are only assignable or usable within a certain organisation or entitlement context. Therefore the organisation code and entitlement code can be used as a filtering mechanism.

There are currently 3 custom property providers deployed

StaticPropertyProvider

This provider is presenting the values that are stored in the configuration of this property provider.

No enhanced filtering mechanisms are available for this provider.

The classname to be used in the configuration is

be.personify.util.properties.provider.impl.StaticPropertyProvider

FilePropertyProvider

This provider reads a file on the filesystem and presents the values and descriptions.

Note that this property provider has extended filtering mechanisms. The format is the following.

//code,description,ORG_CODE,ENT_CODE,locale
READ,Read permissions,,,en
WRITE,Write permissions,,,en
SUPERADMIN,Administrator,,ADMIN,en
READHR,Read permissions for the HR department,HR,,en
READ,Lees rechten,,nl
WRITE,Schrijfrechten,,nl

The class to be used for configuring is

be.personify.util.properties.provider.impl.FilePropertyProvider

Crafting you own property provider

You can create your own property provider by creating a new java maven project and include following dependency:

<dependency>
    <groupId>be.personify</groupId>
    <artifactId>personify-util</artifactId>
    <version>1.4.1.RELEASE</version>
</dependency>

This will give you the possibility of implementing the class Generator.

....
import be.personify.util.properties.provider.EntitlementPropertyProvider;
....

public class CustomPropertyProvider extends EntitlementPropertyProvider {

  @Override
  public Map<String, String> getProperties( EntitlementPropertyFilter filter, Locale locale) {
  }

  @Override
  public void validateConfiguration(Map<String, String> configuration) throws Exception {
  }
  

}

T

Last updated