org.jasig.portal.services.persondir.support.legacy
Class LegacyPersonAttributeDao

java.lang.Object
  extended by org.jasig.portal.services.persondir.support.legacy.LegacyPersonAttributeDao
All Implemented Interfaces:
IPersonAttributeDao

public class LegacyPersonAttributeDao
extends java.lang.Object
implements IPersonAttributeDao

This implementation attempts to recreate the uPortal 2.4.2 PersonDirectory behavior of configuration using PersonDirs.xml.

Since:
uPortal 2.5
Version:
$Revision: 1.4 $ $Date: 2005/04/06 15:31:13 $
Author:
andrew.petro@yale.edu, Eric Dalquist edalquist@unicon.net

Field Summary
private  IPersonAttributeDao delegate
           
static java.lang.String PERSON_DIRS_FILE_PATH
           
 
Constructor Summary
LegacyPersonAttributeDao()
          This constructor builds a legacy PersonDirectory implementation suitable for environments in which Spring configuration is not available.
 
Method Summary
 java.util.Set getPossibleUserAttributeNames()
          Gets a Set of attribute names that may be returned by the IPersonAttributeDao.getUserAttributes(Map).
 java.util.Map getUserAttributes(java.util.Map seed)
          Obtains a mutable Map from attribute names to values for the given query seed which is an immutable Map.
 java.util.Map getUserAttributes(java.lang.String uid)
          This method uses a single attribute to get a Map of user attributes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

delegate

private IPersonAttributeDao delegate

PERSON_DIRS_FILE_PATH

public static final java.lang.String PERSON_DIRS_FILE_PATH
See Also:
Constant Field Values
Constructor Detail

LegacyPersonAttributeDao

public LegacyPersonAttributeDao()
                         throws ResourceMissingException,
                                java.io.IOException,
                                javax.xml.parsers.ParserConfigurationException,
                                org.xml.sax.SAXException
This constructor builds a legacy PersonDirectory implementation suitable for environments in which Spring configuration is not available.

Throws:
org.xml.sax.SAXException - when PersonDirs.xml is not well formed
javax.xml.parsers.ParserConfigurationException - when ResourceLoader is misconfigured
java.io.IOException - - when PersonDirs.xml cannot be read
ResourceMissingException - - when /properties/PersonDirs.xml is missing
Method Detail

getPossibleUserAttributeNames

public java.util.Set getPossibleUserAttributeNames()
Description copied from interface: IPersonAttributeDao
Gets a Set of attribute names that may be returned by the IPersonAttributeDao.getUserAttributes(Map). The names returned represent all possible names IPersonAttributeDao.getUserAttributes(Map) could return. If the dao doesn't have a way to know all possible attribute names this method should return null.
Returns an immutable Set.

Specified by:
getPossibleUserAttributeNames in interface IPersonAttributeDao
Returns:
A {link Set} of possible attribute names for user queries.

getUserAttributes

public java.util.Map getUserAttributes(java.util.Map seed)
Description copied from interface: IPersonAttributeDao
Obtains a mutable Map from attribute names to values for the given query seed which is an immutable Map. The values may be mutable objects but it is recommended that they be immutable.
For the returned Map; Keys must be String, Values can be any Object, they are typically Strings.
Values may also be multi-valued, in this case they are of type List and the list contents are the values of the attribute.
This method returns according to the following rules:

Unless otherwise specified by an implementation the returned Map will not be a union of the seed and query results. If your are given a Map that includes the attribute "phone" and value "555-1212" and the returned Map contains the attribute "phone" with the value "555-1212", this means that your implementation also believes that the "phone" attribute should have this value.

Specified by:
getUserAttributes in interface IPersonAttributeDao
Parameters:
seed - immutable Map of attributes to values to seed the query
Returns:
Map from attribute names to values

getUserAttributes

public java.util.Map getUserAttributes(java.lang.String uid)
Description copied from interface: IPersonAttributeDao
This method uses a single attribute to get a Map of user attributes.
This methods follows the same return rules as IPersonAttributeDao.getUserAttributes(Map)

Specified by:
getUserAttributes in interface IPersonAttributeDao
Parameters:
uid - The string to use as the value in the seed
Returns:
Map from attribute names to values
See Also:
IPersonAttributeDao.getUserAttributes(Map)