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() |
java.util.Set<java.lang.String> |
getAvailableQueryAttributes() |
java.util.Set<IPersonAttributes> |
getPeopleWithMultivaluedAttributes(java.util.Map<java.lang.String,java.util.List<java.lang.Object>> queryParameters) |
java.util.Set<java.lang.String> |
getPossibleUserAttributeNames() |
void |
setAvailableQueryAttributes(java.util.Set<java.lang.String> availableQueryAttributes) |
void |
setDataSource(javax.sql.DataSource dataSource) |
void |
setSql(java.lang.String sql) |
void |
setUserAttributeNames(java.util.Set<java.lang.String> userAttributeNames) |
void |
setUsernameAttributeProvider(IUsernameAttributeProvider usernameAttributeProvider)
The
IUsernameAttributeProvider to use for determining the username attribute
to use when none is provided. |
getPerson, getUsernameAttributeProvider, toSeedMapgetPeople, toMultivaluedSeedcompareTo, flattenResults, getMultivaluedUserAttributes, getMultivaluedUserAttributes, getOrder, getUserAttributes, getUserAttributes, setOrderpublic NamedParameterJdbcPersonAttributeDao()
public void setDataSource(javax.sql.DataSource dataSource)
public void setSql(java.lang.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(java.util.Set<java.lang.String> availableQueryAttributes)
public void setUserAttributeNames(java.util.Set<java.lang.String> userAttributeNames)
public void afterPropertiesSet()
throws java.lang.Exception
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanjava.lang.Exceptionpublic java.util.Set<java.lang.String> getAvailableQueryAttributes()
getAvailableQueryAttributes in interface IPersonAttributeDaopublic java.util.Set<IPersonAttributes> getPeopleWithMultivaluedAttributes(java.util.Map<java.lang.String,java.util.List<java.lang.Object>> queryParameters)
getPeopleWithMultivaluedAttributes in interface IPersonAttributeDaopublic java.util.Set<java.lang.String> getPossibleUserAttributeNames()
getPossibleUserAttributeNames in interface IPersonAttributeDaoCopyright © 2005-2018. All Rights Reserved.