org.jasig.services.persondir.support
Class MergingPersonAttributeDaoImpl

java.lang.Object
  extended by org.jasig.services.persondir.support.BasePersonAttributeDao
      extended by org.jasig.services.persondir.support.AbstractFlatteningPersonAttributeDao
          extended by org.jasig.services.persondir.support.AbstractDefaultAttributePersonAttributeDao
              extended by org.jasig.services.persondir.support.AbstractAggregatingDefaultQueryPersonAttributeDao
                  extended by org.jasig.services.persondir.support.MergingPersonAttributeDaoImpl
All Implemented Interfaces:
IPersonAttributeDao

public class MergingPersonAttributeDaoImpl
extends AbstractAggregatingDefaultQueryPersonAttributeDao

A IPersonAttributeDao implementation which iterates over children IPersonAttributeDaos queries each with the same data and merges their reported attributes in a configurable way. The default merger is MultivaluedAttributeMerger.

Since:
uPortal 2.5
Version:
$Revision$ $Date$
Author:
andrew.petro@yale.edu, Eric Dalquist

Field Summary
 
Fields inherited from class org.jasig.services.persondir.support.AbstractAggregatingDefaultQueryPersonAttributeDao
attrMerger, personAttributeDaos, recoverExceptions, stopOnSuccess
 
Fields inherited from class org.jasig.services.persondir.support.BasePersonAttributeDao
logger
 
Fields inherited from interface org.jasig.services.persondir.IPersonAttributeDao
WILDCARD, WILDCARD_PATTERN
 
Constructor Summary
MergingPersonAttributeDaoImpl()
           
 
Method Summary
protected  Set<IPersonAttributes> getAttributesFromDao(Map<String,List<Object>> seed, boolean isFirstQuery, IPersonAttributeDao currentlyConsidering, Set<IPersonAttributes> resultPeople)
          Calls the current IPersonAttributeDao from using the seed.
 
Methods inherited from class org.jasig.services.persondir.support.AbstractAggregatingDefaultQueryPersonAttributeDao
getAvailableQueryAttributes, getMerger, getPeopleWithMultivaluedAttributes, getPersonAttributeDaos, getPossibleUserAttributeNames, isRecoverExceptions, isStopOnSuccess, setMerger, setPersonAttributeDaos, setRecoverExceptions, setStopOnSuccess
 
Methods inherited from class org.jasig.services.persondir.support.AbstractDefaultAttributePersonAttributeDao
getPerson, getUsernameAttributeProvider, setUsernameAttributeProvider, toSeedMap
 
Methods inherited from class org.jasig.services.persondir.support.AbstractFlatteningPersonAttributeDao
getPeople, toMultivaluedSeed
 
Methods inherited from class org.jasig.services.persondir.support.BasePersonAttributeDao
flattenResults, getMultivaluedUserAttributes, getMultivaluedUserAttributes, getUserAttributes, getUserAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MergingPersonAttributeDaoImpl

public MergingPersonAttributeDaoImpl()
Method Detail

getAttributesFromDao

protected Set<IPersonAttributes> getAttributesFromDao(Map<String,List<Object>> seed,
                                                      boolean isFirstQuery,
                                                      IPersonAttributeDao currentlyConsidering,
                                                      Set<IPersonAttributes> resultPeople)
Calls the current IPersonAttributeDao from using the seed.

Specified by:
getAttributesFromDao in class AbstractAggregatingDefaultQueryPersonAttributeDao
Parameters:
seed - The seed for the original query.
isFirstQuery - If this is the first query, this will stay true until a call to this method returns (does not throw an exception).
currentlyConsidering - The IPersonAttributeDao to execute the query on.
Returns:
The results from the call to the DAO, follows the same rules as IPersonAttributeDao.getUserAttributes(Map).
See Also:
AbstractAggregatingDefaultQueryPersonAttributeDao.getAttributesFromDao(java.util.Map, boolean, org.jasig.services.persondir.IPersonAttributeDao, java.util.Set)


Copyright © 2012 Jasig. All Rights Reserved.