Transform String profile attribute to Array when querying the attribute repository

23 views
Skip to first unread message

Martin Böhmer

unread,
Dec 7, 2018, 3:51:41 PM12/7/18
to CAS Community
Hi,

I'm using a JDBC-based attribute repository to resolve attributes in single-row style. The groups a user is a member of are returned from the database as a comma-seperated list, i.e. the attribute is a single-valued String. I need to transform this String into a mulit-valued attribute, i.e. an attribute representing an array with the individual groups. I'm aware of the option to do this upon attribute release, e.g. using a groovy script. As I have a lot of services that I need to release the group memberships to, I would prefer to do the transformation earlier when querying the attribute repository, include the array attribute in the user profile and release it without any service-specific transformations.

However, I cannot find a way to get there. How would I implement this?

What I tried is adjusting the database (PostgresQL) to return an array instead of a String. Unfortunately, this results in an error I described in another thread. Changing the attribute resolving mode multi-row style is not a feasible option as this would create a lot of overhead and performance drawbacks.

So, I would really appreciate help on how to implement the transformation.

Cheers,

Martin
Reply all
Reply to author
Forward
0 new messages