org.kuali.rice.kim.impl.identity
Class PersonServiceImpl

java.lang.Object
  extended by org.kuali.rice.kim.impl.identity.PersonServiceImpl
All Implemented Interfaces:
PersonService

public class PersonServiceImpl
extends Object
implements PersonService

This is a description of what this class does - kellerj don't forget to fill this in.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Field Summary
protected  Map<String,String> baseLookupCriteria
           
protected  Map<String,String> criteriaConversion
           
protected static String ENTITY_ADDRESS_PROPERTY_PREFIX
           
protected static String ENTITY_AFFILIATION_PROPERTY_PREFIX
           
protected static String ENTITY_EMAIL_PROPERTY_PREFIX
           
protected static String ENTITY_EMPLOYEE_ID_PROPERTY_PREFIX
           
protected static String ENTITY_EXT_ID_PROPERTY_PREFIX
           
protected static String ENTITY_NAME_PROPERTY_PREFIX
           
protected static String ENTITY_PHONE_PROPERTY_PREFIX
           
protected static String ENTITY_TYPE_PROPERTY_PREFIX
           
protected static String EXTENSION
           
protected  ArrayList<String> personCachePropertyNames
           
protected  List<String> personEntityTypeCodes
           
protected static String PRINCIPAL_PROPERTY_PREFIX
           
 
Constructor Summary
PersonServiceImpl()
           
 
Method Summary
protected  PersonImpl convertEntityToPerson(EntityDefault entity, Principal principal)
           
 Map<String,String> convertPersonPropertiesToEntityProperties(Map<String,String> criteria)
           
 List<Person> findPeople(Map<String,String> criteria)
          Perform an unbounded search for person records.
 List<Person> findPeople(Map<String,String> criteria, boolean unbounded)
          Perform a Person lookup.
protected  List<Person> findPeopleInternal(Map<String,String> criteria, boolean unbounded)
           
protected  BusinessObjectMetaDataService getBusinessObjectMetaDataService()
           
protected  IdentityService getIdentityService()
           
protected  MaintenanceDocumentDictionaryService getMaintenanceDocumentDictionaryService()
           
protected  List<Person> getPeople(Collection<String> principalIds)
           
 Person getPerson(String principalId)
          Retrieve a single Person object by Principal ID.
 Person getPersonByEmployeeId(String employeeId)
          Gets a single Person by their employee id.
 List<Person> getPersonByExternalIdentifier(String externalIdentifierTypeCode, String externalId)
          Retrieve a person by an arbitrary external identifier.
 Person getPersonByPrincipalName(String principalName)
          Gets a single Person by their principal name (user ID).
 List<String> getPersonEntityTypeCodes()
          Get the entityTypeCode that can be associated with a Person.
 Class<? extends Person> getPersonImplementationClass()
          Get the class object which points to the class used by the underlying implementation.
protected  RoleService getRoleService()
           
 boolean hasPersonProperty(Class<? extends Person> businessObjectClass, Map<String,String> fieldValues)
          Checks whether the given set of search criteria contain any non-blank properties which need to be applied against a related Person object.
protected  boolean isAddressEntityCriteria(String propertyName)
           
protected  boolean isAffiliationEntityCriteria(String propertyName)
           
protected  boolean isEmailEntityCriteria(String propertyName)
           
protected  boolean isEmployeeIdEntityCriteria(String propertyName)
           
protected  boolean isExternalIdentifierEntityCriteria(String propertyName)
           
protected  boolean isNameEntityCriteria(String propertyName)
           
protected  boolean isPhoneEntityCriteria(String propertyName)
           
protected  List<String> peopleToPrincipalIds(List<Person> people)
           
 Map<String,String> resolvePrincipalNamesToPrincipalIds(BusinessObject businessObject, Map<String,String> fieldValues)
          This method takes a map on its way to populate a business object and replaces all user identifiers with their corresponding universal users
 void setPersonEntityTypeCodes(List<String> personEntityTypeCodes)
           
 Person updatePersonIfNecessary(String sourcePrincipalId, Person currentPerson)
          Compares the Principal ID passed in with that in the Person object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENTITY_EXT_ID_PROPERTY_PREFIX

protected static final String ENTITY_EXT_ID_PROPERTY_PREFIX
See Also:
Constant Field Values

ENTITY_AFFILIATION_PROPERTY_PREFIX

protected static final String ENTITY_AFFILIATION_PROPERTY_PREFIX
See Also:
Constant Field Values

ENTITY_TYPE_PROPERTY_PREFIX

protected static final String ENTITY_TYPE_PROPERTY_PREFIX
See Also:
Constant Field Values

ENTITY_EMAIL_PROPERTY_PREFIX

protected static final String ENTITY_EMAIL_PROPERTY_PREFIX
See Also:
Constant Field Values

ENTITY_PHONE_PROPERTY_PREFIX

protected static final String ENTITY_PHONE_PROPERTY_PREFIX
See Also:
Constant Field Values

ENTITY_ADDRESS_PROPERTY_PREFIX

protected static final String ENTITY_ADDRESS_PROPERTY_PREFIX
See Also:
Constant Field Values

ENTITY_NAME_PROPERTY_PREFIX

protected static final String ENTITY_NAME_PROPERTY_PREFIX
See Also:
Constant Field Values

PRINCIPAL_PROPERTY_PREFIX

protected static final String PRINCIPAL_PROPERTY_PREFIX
See Also:
Constant Field Values

ENTITY_EMPLOYEE_ID_PROPERTY_PREFIX

protected static final String ENTITY_EMPLOYEE_ID_PROPERTY_PREFIX
See Also:
Constant Field Values

EXTENSION

protected static final String EXTENSION
See Also:
Constant Field Values

personEntityTypeCodes

protected List<String> personEntityTypeCodes

baseLookupCriteria

protected Map<String,String> baseLookupCriteria

criteriaConversion

protected Map<String,String> criteriaConversion

personCachePropertyNames

protected ArrayList<String> personCachePropertyNames
Constructor Detail

PersonServiceImpl

public PersonServiceImpl()
Method Detail

getPerson

public Person getPerson(String principalId)
Description copied from interface: PersonService
Retrieve a single Person object by Principal ID.

Specified by:
getPerson in interface PersonService
See Also:
PersonService.getPerson(java.lang.String)

convertEntityToPerson

protected PersonImpl convertEntityToPerson(EntityDefault entity,
                                           Principal principal)

getPersonByPrincipalName

public Person getPersonByPrincipalName(String principalName)
Description copied from interface: PersonService
Gets a single Person by their principal name (user ID).

Specified by:
getPersonByPrincipalName in interface PersonService
See Also:
PersonService.getPersonByPrincipalName(java.lang.String)

getPersonByEmployeeId

public Person getPersonByEmployeeId(String employeeId)
Description copied from interface: PersonService
Gets a single Person by their employee id.

Specified by:
getPersonByEmployeeId in interface PersonService

findPeople

public List<Person> findPeople(Map<String,String> criteria)
Description copied from interface: PersonService
Perform an unbounded search for person records.

Specified by:
findPeople in interface PersonService
See Also:
PersonService.findPeople(Map)

findPeople

public List<Person> findPeople(Map<String,String> criteria,
                               boolean unbounded)
Description copied from interface: PersonService
Perform a Person lookup. If bounded, it will follow the configured KNS lookup limit.

Specified by:
findPeople in interface PersonService
See Also:
PersonService.findPeople(java.util.Map, boolean)

findPeopleInternal

protected List<Person> findPeopleInternal(Map<String,String> criteria,
                                          boolean unbounded)

convertPersonPropertiesToEntityProperties

public Map<String,String> convertPersonPropertiesToEntityProperties(Map<String,String> criteria)

isNameEntityCriteria

protected boolean isNameEntityCriteria(String propertyName)

isAddressEntityCriteria

protected boolean isAddressEntityCriteria(String propertyName)

isPhoneEntityCriteria

protected boolean isPhoneEntityCriteria(String propertyName)

isEmailEntityCriteria

protected boolean isEmailEntityCriteria(String propertyName)

isEmployeeIdEntityCriteria

protected boolean isEmployeeIdEntityCriteria(String propertyName)

isAffiliationEntityCriteria

protected boolean isAffiliationEntityCriteria(String propertyName)

isExternalIdentifierEntityCriteria

protected boolean isExternalIdentifierEntityCriteria(String propertyName)

getPersonEntityTypeCodes

public List<String> getPersonEntityTypeCodes()
Get the entityTypeCode that can be associated with a Person. This will determine where EntityType-related data is pulled from within the KimEntity object. The codes in the list will be examined in the order present.


setPersonEntityTypeCodes

public void setPersonEntityTypeCodes(List<String> personEntityTypeCodes)

getPeople

protected List<Person> getPeople(Collection<String> principalIds)

peopleToPrincipalIds

protected List<String> peopleToPrincipalIds(List<Person> people)

getPersonByExternalIdentifier

public List<Person> getPersonByExternalIdentifier(String externalIdentifierTypeCode,
                                                  String externalId)
Description copied from interface: PersonService
Retrieve a person by an arbitrary external identifier. This method could potentially return multiple results as there is no guarantee of uniqueness for external identifiers.

Specified by:
getPersonByExternalIdentifier in interface PersonService
Parameters:
externalIdentifierTypeCode - Type of external identifier to search for.
externalId - The external identifier.
Returns:
List of Person objects.
See Also:
PersonService.getPersonByExternalIdentifier(java.lang.String, java.lang.String)

updatePersonIfNecessary

public Person updatePersonIfNecessary(String sourcePrincipalId,
                                      Person currentPerson)
Description copied from interface: PersonService
Compares the Principal ID passed in with that in the Person object. If they are the same, it returns the original object. Otherwise, it pulls the Person from KIM based on the sourcePrincipalId.

Specified by:
updatePersonIfNecessary in interface PersonService
See Also:
PersonService.updatePersonIfNecessary(java.lang.String, org.kuali.rice.kim.api.identity.Person)

hasPersonProperty

public boolean hasPersonProperty(Class<? extends Person> businessObjectClass,
                                 Map<String,String> fieldValues)
Description copied from interface: PersonService
Checks whether the given set of search criteria contain any non-blank properties which need to be applied against a related Person object. This would be used by the lookup service to determine if special steps need to be taken when performing a search.

Specified by:
hasPersonProperty in interface PersonService
See Also:
PersonService.hasPersonProperty(java.lang.Class, java.util.Map)

resolvePrincipalNamesToPrincipalIds

public Map<String,String> resolvePrincipalNamesToPrincipalIds(BusinessObject businessObject,
                                                              Map<String,String> fieldValues)
Description copied from interface: PersonService
This method takes a map on its way to populate a business object and replaces all user identifiers with their corresponding universal users

Specified by:
resolvePrincipalNamesToPrincipalIds in interface PersonService
See Also:
PersonService.resolvePrincipalNamesToPrincipalIds(org.kuali.rice.krad.bo.BusinessObject, java.util.Map)

getIdentityService

protected IdentityService getIdentityService()

getRoleService

protected RoleService getRoleService()

getPersonImplementationClass

public Class<? extends Person> getPersonImplementationClass()
Description copied from interface: PersonService
Get the class object which points to the class used by the underlying implementation. This can be used by implementors who may need to construct Person objects without wishing to bind their code to a specific implementation.

Specified by:
getPersonImplementationClass in interface PersonService

getBusinessObjectMetaDataService

protected BusinessObjectMetaDataService getBusinessObjectMetaDataService()

getMaintenanceDocumentDictionaryService

protected MaintenanceDocumentDictionaryService getMaintenanceDocumentDictionaryService()


Copyright © 2005-2011 The Kuali Foundation. All Rights Reserved.