package com.corej2eepatterns.vlh;

// importy

public class ProjectListHandler 
extends ValueListHandler {

  private ProjectDAO dao = null;
   . . .

  // Klient tworzy instancj ProjectTO, ustawia wartoci 
  // zwiazane z kryteriami wyszukiwania i przekazuje instancj
  // ProjectTO jako projectCriteria do konstruktora
  // i metody setCriteria()
  public ProjectListHandler() 
  throws ProjectException, ListHandlerException {
    try {
      this.dao = PSADAOFactory.getProjectDAO();
    } catch (Exception e) {
      // Obsuga wyjtku, zgoszenie ListHandlerException
    }
  }

  // Wykonanie wyszukiwania. Klient wywouje t metod
  // po wczeniejszym odpowiednim ustawieniu waciwoci
  // Powoduje wyszukanie i dostarczenie licie najnowszych danych.
  public void executeSearch(ProjectTO projectCriteria)
  throws ListHandlerException {
    try {
      if (projectCriteria == null) {
        throw new ListHandlerException(
          "Project Criteria required...");
      }
      List resultsList =
        dao.findProjects(projectCriteria);
      setList(resultsList);
    } catch (Exception e) {
      // Obsuga wyjtku, zwrcenie ListHandlerException
    }
  }
}