public static List<ProjectDTO> getProjectsByUpdateDate(Date updateDate) {
    List<ProjectDTO> projectDTOs = new ArrayList<ProjectDTO>();

    // Collect the projects
    List<TmpProject> tmpProjects = tmpProjectDAO.getTmpProjectsByUpdateDate(updateDate);

    // For each project, collect and map the data
    // TODO: this should be done in a single query
    for (Iterator<TmpProject> iterator = tmpProjects.iterator(); iterator.hasNext(); ) {
      TmpProject tmpProject = iterator.next();
      ProjectDTO projectDTO = ProjectManager.generateProjectDTO(tmpProject);
      projectDTOs.add(projectDTO);
    }
    return projectDTOs;
  }