public class NamedParameterJdbcPersonAttributeDao extends AbstractDefaultAttributePersonAttributeDao implements org.springframework.beans.factory.InitializingBean
NamedParameterJdbcTemplate.
Specify any valid SQL, using named parameters as necessary. Name the columns you want as
attributes with the property 'userAttributeNames' (you can adjust names to taste using
aliases in your SQL). Supports multi-valued attributes through inner joins.
Example SQL: SELECT USER_ID FROM UP_USER WHERE USER_NAME = :username
Example Sprring Configuration:
<bean id="rolesUserSource" class="org.jasig.services.persondir.support.jdbc.NamedParameterJdbcPersonAttributeDao"> <property name="dataSource" ref="PersonDB" /> <property name="sql"> <value> SELECT rolename AS scsRoleName from s_external_role where oprid = UPPER(:username) </value> </property> <property name="usernameAttributeProvider" ref="usernameAttributeProvider" /> <property name="userAttributeNames"> <set> <value>scsRoleName</value> </set> </property> </bean>loggerWILDCARD, WILDCARD_PATTERN| Constructor and Description |
|---|
NamedParameterJdbcPersonAttributeDao() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
Set<String> |
getAvailableQueryAttributes() |
Set<IPersonAttributes> |
getPeopleWithMultivaluedAttributes(Map<String,List<Object>> queryParameters) |
Set<String> |
getPossibleUserAttributeNames() |
void |
setAvailableQueryAttributes(Set<String> availableQueryAttributes) |
void |
setDataSource(DataSource dataSource) |
void |
setSql(String sql) |
void |
setUserAttributeNames(Set<String> userAttributeNames) |
void |
setUsernameAttributeProvider(IUsernameAttributeProvider usernameAttributeProvider)
The
IUsernameAttributeProvider to use for determining the username attribute
to use when none is provided. |
getPerson, getUsernameAttributeProvider, toSeedMapgetPeople, toMultivaluedSeedflattenResults, getMultivaluedUserAttributes, getMultivaluedUserAttributes, getUserAttributes, getUserAttributespublic NamedParameterJdbcPersonAttributeDao()
public void setDataSource(DataSource dataSource)
public void setSql(String sql)
public void setUsernameAttributeProvider(IUsernameAttributeProvider usernameAttributeProvider)
AbstractDefaultAttributePersonAttributeDaoIUsernameAttributeProvider to use for determining the username attribute
to use when none is provided. The provider is used when calls are made to AbstractDefaultAttributePersonAttributeDao.getPerson(String)
to build a query Map and then call IPersonAttributeDao.getPeopleWithMultivaluedAttributes(Map)setUsernameAttributeProvider in class AbstractDefaultAttributePersonAttributeDaousernameAttributeProvider - the usernameAttributeProvider to setpublic void setAvailableQueryAttributes(Set<String> availableQueryAttributes)
public void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanExceptionpublic Set<String> getAvailableQueryAttributes()
getAvailableQueryAttributes in interface IPersonAttributeDaopublic Set<IPersonAttributes> getPeopleWithMultivaluedAttributes(Map<String,List<Object>> queryParameters)
getPeopleWithMultivaluedAttributes in interface IPersonAttributeDaopublic Set<String> getPossibleUserAttributeNames()
getPossibleUserAttributeNames in interface IPersonAttributeDaoCopyright © 2015 Jasig. All Rights Reserved.