The following subsections will explain the use case realization for the use cases in the Search NPO package. Please refer to Chapter 1 for use case descriptions.
The search facility is a generic facility that can seamlessly plug into the navigation scheme of any functionality desiring to use the NPO search function. Plugging of a search function into the navigation scheme of other functions is accomplished by using a combination of three techniques:
The request handler calling the search function does so by rendering a search function-related view that transfers control to the request handler of the search facility.
The search facility's request handler remembers the request handler that invoked the search facility.
After the search is completed, the search facility transfers the control back to the calling request handler by rendering.
This use case is realized using the class structure depicted in Figure 5-23. The complete semantics will be are explained later in the section "Create the Campaign Use Case." Observe that the SearchAndListNPOAction is subclassed from DispatchAction.
Figure 5-23: Search NPO class diagram
SearchAndListNPOForm uses a Collection object searchResult, which is a coarse-grained object consisting of NPOViewDTO objects. The business tier uses the value list handler pattern [Core] to provide this collection; this pattern is explained in Chapter 7.