org.kuali.rice.kns.lookup
Interface LookupResultsService

All Superinterfaces:
Serializable
All Known Implementing Classes:
LookupResultsServiceImpl

public interface LookupResultsService
extends Serializable


Method Summary
 void clearPersistedLookupResults(String lookupResultsSequenceNumber)
          Removes the lookup results that were persisted under this lookup results sequence number
 void clearPersistedSelectedObjectIds(String lookupResultsSequenceNumber)
          Removes the lookup results that were persisted under this selected object IDs
 void deleteOldLookupResults(Timestamp expirationDate)
          removes all LookupResults BO where the lookup date attribute is older than the parameter
 void deleteOldSelectedObjectIds(Timestamp expirationDate)
          removes all LookupResults BO where the lookup date attribute is older than the parameter
 String getLookupId(BusinessObject businessObject)
          Determines the lookup id for a given business object
 boolean isAuthorizedToAccessLookupResults(String lookupResultsSequenceNumber, String personId)
          Returns whether a user is allowed to view the lookup results of the given sequence number
 boolean isAuthorizedToAccessSelectedObjectIds(String lookupResultsSequenceNumber, String personId)
          Returns whether a user is allowed to view the selected object IDs of the given sequence number
 void persistResultsTable(String lookupResultsSequenceNumber, List<ResultRow> resultTable, String personId)
          Persists a list of result row objects into a database.
 void persistSelectedObjectIds(String lookupResultsSequenceNumber, Set<String> selectedObjectIds, String personId)
          Persists a list of BO object IDs that have been selected for return to the calling document (the back location in lookup terminology).
 List<ResultRow> retrieveResultsTable(String lookupResultsSequenceNumber, String personId)
          Returns the list of result rows that was persisted under the passed in sequence number
<T extends BusinessObject>
Collection<T>
retrieveSelectedResultBOs(String lookupResultsSequenceNumber, Class<T> boClass, String personId)
          Returns the BOs that correspond to the selected objected IDs that were persisted under the given lookup results number DB data may have changed since the time the user clicked the "search" button (e.g.
 

Method Detail

persistResultsTable

void persistResultsTable(String lookupResultsSequenceNumber,
                         List<ResultRow> resultTable,
                         String personId)
                         throws Exception
Persists a list of result row objects into a database. The lookup results sequence number acts like a key identifying the lookup results set. If results are persisted under the same sequence number, then the previously persisted list will be overwritten.

Parameters:
lookupResultsSequenceNumber - the lookup sequence number. Every time a user clicks "search", a new sequence number should be generated
resultTable - A list of result rows. Note that this list does not contain BOs, but the data necessary to render a lookup results screen
personId - the user that is performing the search. This prevents a malicious user from passing someone else's sequence number (which he can guess) and eventually retrieving it, possibly exposing sensitive data
Throws:
Exception

persistSelectedObjectIds

void persistSelectedObjectIds(String lookupResultsSequenceNumber,
                              Set<String> selectedObjectIds,
                              String personId)
                              throws Exception
Persists a list of BO object IDs that have been selected for return to the calling document (the back location in lookup terminology). The lookup results sequence number acts like a key identifying the selected object IDs. If results are persisted under the same sequence number, then the previously persisted list will be overwritten.

Parameters:
lookupResultsSequenceNumber - the lookup sequence number. Every time a user clicks "search", a new sequence number should be generated
selectedObjectIds - A set of the object IDs of the selected rows.
personId - the user that is performing the search. This prevents a malicious user from passing someone else's sequence number (which he can guess) and eventually retrieving it, possibly exposing sensitive data
Throws:
Exception

retrieveResultsTable

List<ResultRow> retrieveResultsTable(String lookupResultsSequenceNumber,
                                     String personId)
                                     throws Exception
Returns the list of result rows that was persisted under the passed in sequence number

Parameters:
lookupResultsSequenceNumber - the lookup sequence number that was used to persist
personId - the user id that was used to persist the results table. This prevents a malicious user from passing someone else's sequence number (which he can guess) and eventually retrieving it, possibly exposing sensitive data
Returns:
Throws:
Exception - many reasons, including if the user id parameter does not match the user used to persist the results

retrieveSelectedResultBOs

<T extends BusinessObject> Collection<T> retrieveSelectedResultBOs(String lookupResultsSequenceNumber,
                                                                   Class<T> boClass,
                                                                   String personId)
                                                               throws Exception
Returns the BOs that correspond to the selected objected IDs that were persisted under the given lookup results number DB data may have changed since the time the user clicked the "search" button (e.g. someone may have changed a value that was used as a query criterion). If so, implementations may or may not choose to handle this situation.

Parameters:
lookupResultsSequenceNumber - the lookup sequence number that was used to persist
boClass - The class of BO being retrieved from the lookup
personId - the user id that was used to persist the results table. This prevents a malicious user from passing someone else's sequence number (which he can guess) and eventually retrieving it, possibly exposing sensitive data
Returns:
A list of BOs corresponding to the
Throws:
Exception - many reasons, including if the user id parameter does not match the user used to persist the results

isAuthorizedToAccessLookupResults

boolean isAuthorizedToAccessLookupResults(String lookupResultsSequenceNumber,
                                          String personId)
Returns whether a user is allowed to view the lookup results of the given sequence number

Parameters:
lookupResultsSequenceNumber - the lookup sequence number that was used to persist the results table
personId - the user id that was used to persist the results table.
Returns:
if the user ID used to persist the lookup results is the same user ID as the parameter

isAuthorizedToAccessSelectedObjectIds

boolean isAuthorizedToAccessSelectedObjectIds(String lookupResultsSequenceNumber,
                                              String personId)
Returns whether a user is allowed to view the selected object IDs of the given sequence number

Parameters:
lookupResultsSequenceNumber - the lookup sequence number that was used to persist the selected object IDs
personId - the user id that was used to persist the selected object IDs
Returns:
if the user ID used to persist the selected object IDs is the same user ID as the parameter

clearPersistedLookupResults

void clearPersistedLookupResults(String lookupResultsSequenceNumber)
                                 throws Exception
Removes the lookup results that were persisted under this lookup results sequence number

Parameters:
lookupResultsSequenceNumber -
Throws:
Exception

clearPersistedSelectedObjectIds

void clearPersistedSelectedObjectIds(String lookupResultsSequenceNumber)
                                     throws Exception
Removes the lookup results that were persisted under this selected object IDs

Parameters:
lookupResultsSequenceNumber -
Throws:
Exception

deleteOldLookupResults

void deleteOldLookupResults(Timestamp expirationDate)
removes all LookupResults BO where the lookup date attribute is older than the parameter

Parameters:
expirationDate - all LookupResults having a lookup date before this date will be removed

deleteOldSelectedObjectIds

void deleteOldSelectedObjectIds(Timestamp expirationDate)
removes all LookupResults BO where the lookup date attribute is older than the parameter

Parameters:
expirationDate - all LookupResults having a lookup date before this date will be removed

getLookupId

String getLookupId(BusinessObject businessObject)
Determines the lookup id for a given business object

Parameters:
businessObject - the business object to get a lookup id for
Returns:
the lookup id


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