package scrum.server.release; import ilarkesto.fp.Predicate; import java.util.Set; import scrum.server.project.Project; public class ReleaseDao extends GReleaseDao { public Release getReleaseByNumber(final int number, final Project project) { return getEntity(new Predicate<Release>() { @Override public boolean test(Release t) { return t.isNumber(number) && t.isProject(project); } }); } public Release getNextRelease(Project project) { Release next = null; Set<Release> releases = getReleasesByProject(project); for (Release release : releases) { if (release.isReleased()) continue; if (next == null || release.getReleaseDate().isBefore(next.getReleaseDate())) { next = release; } } return next; } public Release getCurrentRelease(Project project) { Release latest = null; Set<Release> releases = getReleasesByProject(project); for (Release release : releases) { if (!release.isReleased()) continue; if (latest == null || release.getReleaseDate().isAfter(latest.getReleaseDate())) { latest = release; } } return latest; } }