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; }