// ----------> GENERATED FILE - DON'T TOUCH! <---------- // generator: ilarkesto.mda.legacy.generator.DaoGenerator package scrum.server.release; import java.util.*; import ilarkesto.persistence.*; import ilarkesto.core.logging.Log; import ilarkesto.base.*; import ilarkesto.base.time.*; import ilarkesto.auth.*; import ilarkesto.fp.*; public abstract class GReleaseDao extends ilarkesto.persistence.ADao<Release> { public final String getEntityName() { return Release.TYPE; } public final Class getEntityClass() { return Release.class; } public Set<Release> getEntitiesVisibleForUser(final scrum.server.admin.User user) { return getEntities(new Predicate<Release>() { public boolean test(Release e) { return Auth.isVisible(e, user); } }); } // --- clear caches --- public void clearCaches() { releasesByProjectCache.clear(); projectsCache = null; releasesByParentReleaseCache.clear(); parentReleasesCache = null; releasesBySprintCache.clear(); sprintsCache = null; releasesByNumberCache.clear(); numbersCache = null; releasesByLabelCache.clear(); labelsCache = null; releasesByNoteCache.clear(); notesCache = null; releasesByReleaseDateCache.clear(); releaseDatesCache = null; releasesByReleasedCache.clear(); releasesByReleaseNotesCache.clear(); releaseNotessCache = null; releasesByScmTagCache.clear(); scmTagsCache = null; } @Override public void entityDeleted(EntityEvent event) { super.entityDeleted(event); if (event.getEntity() instanceof Release) { clearCaches(); } } @Override public void entitySaved(EntityEvent event) { super.entitySaved(event); if (event.getEntity() instanceof Release) { clearCaches(); } } // ----------------------------------------------------------- // - project // ----------------------------------------------------------- private final Cache<scrum.server.project.Project,Set<Release>> releasesByProjectCache = new Cache<scrum.server.project.Project,Set<Release>>( new Cache.Factory<scrum.server.project.Project,Set<Release>>() { public Set<Release> create(scrum.server.project.Project project) { return getEntities(new IsProject(project)); } }); public final Set<Release> getReleasesByProject(scrum.server.project.Project project) { return releasesByProjectCache.get(project); } private Set<scrum.server.project.Project> projectsCache; public final Set<scrum.server.project.Project> getProjects() { if (projectsCache == null) { projectsCache = new HashSet<scrum.server.project.Project>(); for (Release e : getEntities()) { if (e.isProjectSet()) projectsCache.add(e.getProject()); } } return projectsCache; } private static class IsProject implements Predicate<Release> { private scrum.server.project.Project value; public IsProject(scrum.server.project.Project value) { this.value = value; } public boolean test(Release e) { return e.isProject(value); } } // ----------------------------------------------------------- // - parentRelease // ----------------------------------------------------------- private final Cache<scrum.server.release.Release,Set<Release>> releasesByParentReleaseCache = new Cache<scrum.server.release.Release,Set<Release>>( new Cache.Factory<scrum.server.release.Release,Set<Release>>() { public Set<Release> create(scrum.server.release.Release parentRelease) { return getEntities(new IsParentRelease(parentRelease)); } }); public final Set<Release> getReleasesByParentRelease(scrum.server.release.Release parentRelease) { return releasesByParentReleaseCache.get(parentRelease); } private Set<scrum.server.release.Release> parentReleasesCache; public final Set<scrum.server.release.Release> getParentReleases() { if (parentReleasesCache == null) { parentReleasesCache = new HashSet<scrum.server.release.Release>(); for (Release e : getEntities()) { if (e.isParentReleaseSet()) parentReleasesCache.add(e.getParentRelease()); } } return parentReleasesCache; } private static class IsParentRelease implements Predicate<Release> { private scrum.server.release.Release value; public IsParentRelease(scrum.server.release.Release value) { this.value = value; } public boolean test(Release e) { return e.isParentRelease(value); } } // ----------------------------------------------------------- // - sprints // ----------------------------------------------------------- private final Cache<scrum.server.sprint.Sprint,Set<Release>> releasesBySprintCache = new Cache<scrum.server.sprint.Sprint,Set<Release>>( new Cache.Factory<scrum.server.sprint.Sprint,Set<Release>>() { public Set<Release> create(scrum.server.sprint.Sprint sprint) { return getEntities(new ContainsSprint(sprint)); } }); public final Set<Release> getReleasesBySprint(scrum.server.sprint.Sprint sprint) { return releasesBySprintCache.get(sprint); } private Set<scrum.server.sprint.Sprint> sprintsCache; public final Set<scrum.server.sprint.Sprint> getSprints() { if (sprintsCache == null) { sprintsCache = new HashSet<scrum.server.sprint.Sprint>(); for (Release e : getEntities()) { sprintsCache.addAll(e.getSprints()); } } return sprintsCache; } private static class ContainsSprint implements Predicate<Release> { private scrum.server.sprint.Sprint value; public ContainsSprint(scrum.server.sprint.Sprint value) { this.value = value; } public boolean test(Release e) { return e.containsSprint(value); } } // ----------------------------------------------------------- // - number // ----------------------------------------------------------- private final Cache<Integer,Set<Release>> releasesByNumberCache = new Cache<Integer,Set<Release>>( new Cache.Factory<Integer,Set<Release>>() { public Set<Release> create(Integer number) { return getEntities(new IsNumber(number)); } }); public final Set<Release> getReleasesByNumber(int number) { return releasesByNumberCache.get(number); } private Set<Integer> numbersCache; public final Set<Integer> getNumbers() { if (numbersCache == null) { numbersCache = new HashSet<Integer>(); for (Release e : getEntities()) { numbersCache.add(e.getNumber()); } } return numbersCache; } private static class IsNumber implements Predicate<Release> { private int value; public IsNumber(int value) { this.value = value; } public boolean test(Release e) { return e.isNumber(value); } } // ----------------------------------------------------------- // - label // ----------------------------------------------------------- private final Cache<java.lang.String,Set<Release>> releasesByLabelCache = new Cache<java.lang.String,Set<Release>>( new Cache.Factory<java.lang.String,Set<Release>>() { public Set<Release> create(java.lang.String label) { return getEntities(new IsLabel(label)); } }); public final Set<Release> getReleasesByLabel(java.lang.String label) { return releasesByLabelCache.get(label); } private Set<java.lang.String> labelsCache; public final Set<java.lang.String> getLabels() { if (labelsCache == null) { labelsCache = new HashSet<java.lang.String>(); for (Release e : getEntities()) { if (e.isLabelSet()) labelsCache.add(e.getLabel()); } } return labelsCache; } private static class IsLabel implements Predicate<Release> { private java.lang.String value; public IsLabel(java.lang.String value) { this.value = value; } public boolean test(Release e) { return e.isLabel(value); } } // ----------------------------------------------------------- // - note // ----------------------------------------------------------- private final Cache<java.lang.String,Set<Release>> releasesByNoteCache = new Cache<java.lang.String,Set<Release>>( new Cache.Factory<java.lang.String,Set<Release>>() { public Set<Release> create(java.lang.String note) { return getEntities(new IsNote(note)); } }); public final Set<Release> getReleasesByNote(java.lang.String note) { return releasesByNoteCache.get(note); } private Set<java.lang.String> notesCache; public final Set<java.lang.String> getNotes() { if (notesCache == null) { notesCache = new HashSet<java.lang.String>(); for (Release e : getEntities()) { if (e.isNoteSet()) notesCache.add(e.getNote()); } } return notesCache; } private static class IsNote implements Predicate<Release> { private java.lang.String value; public IsNote(java.lang.String value) { this.value = value; } public boolean test(Release e) { return e.isNote(value); } } // ----------------------------------------------------------- // - releaseDate // ----------------------------------------------------------- private final Cache<ilarkesto.base.time.Date,Set<Release>> releasesByReleaseDateCache = new Cache<ilarkesto.base.time.Date,Set<Release>>( new Cache.Factory<ilarkesto.base.time.Date,Set<Release>>() { public Set<Release> create(ilarkesto.base.time.Date releaseDate) { return getEntities(new IsReleaseDate(releaseDate)); } }); public final Set<Release> getReleasesByReleaseDate(ilarkesto.base.time.Date releaseDate) { return releasesByReleaseDateCache.get(releaseDate); } private Set<ilarkesto.base.time.Date> releaseDatesCache; public final Set<ilarkesto.base.time.Date> getReleaseDates() { if (releaseDatesCache == null) { releaseDatesCache = new HashSet<ilarkesto.base.time.Date>(); for (Release e : getEntities()) { if (e.isReleaseDateSet()) releaseDatesCache.add(e.getReleaseDate()); } } return releaseDatesCache; } private static class IsReleaseDate implements Predicate<Release> { private ilarkesto.base.time.Date value; public IsReleaseDate(ilarkesto.base.time.Date value) { this.value = value; } public boolean test(Release e) { return e.isReleaseDate(value); } } // ----------------------------------------------------------- // - released // ----------------------------------------------------------- private final Cache<Boolean,Set<Release>> releasesByReleasedCache = new Cache<Boolean,Set<Release>>( new Cache.Factory<Boolean,Set<Release>>() { public Set<Release> create(Boolean released) { return getEntities(new IsReleased(released)); } }); public final Set<Release> getReleasesByReleased(boolean released) { return releasesByReleasedCache.get(released); } private static class IsReleased implements Predicate<Release> { private boolean value; public IsReleased(boolean value) { this.value = value; } public boolean test(Release e) { return value == e.isReleased(); } } // ----------------------------------------------------------- // - releaseNotes // ----------------------------------------------------------- private final Cache<java.lang.String,Set<Release>> releasesByReleaseNotesCache = new Cache<java.lang.String,Set<Release>>( new Cache.Factory<java.lang.String,Set<Release>>() { public Set<Release> create(java.lang.String releaseNotes) { return getEntities(new IsReleaseNotes(releaseNotes)); } }); public final Set<Release> getReleasesByReleaseNotes(java.lang.String releaseNotes) { return releasesByReleaseNotesCache.get(releaseNotes); } private Set<java.lang.String> releaseNotessCache; public final Set<java.lang.String> getReleaseNotess() { if (releaseNotessCache == null) { releaseNotessCache = new HashSet<java.lang.String>(); for (Release e : getEntities()) { if (e.isReleaseNotesSet()) releaseNotessCache.add(e.getReleaseNotes()); } } return releaseNotessCache; } private static class IsReleaseNotes implements Predicate<Release> { private java.lang.String value; public IsReleaseNotes(java.lang.String value) { this.value = value; } public boolean test(Release e) { return e.isReleaseNotes(value); } } // ----------------------------------------------------------- // - scmTag // ----------------------------------------------------------- private final Cache<java.lang.String,Set<Release>> releasesByScmTagCache = new Cache<java.lang.String,Set<Release>>( new Cache.Factory<java.lang.String,Set<Release>>() { public Set<Release> create(java.lang.String scmTag) { return getEntities(new IsScmTag(scmTag)); } }); public final Set<Release> getReleasesByScmTag(java.lang.String scmTag) { return releasesByScmTagCache.get(scmTag); } private Set<java.lang.String> scmTagsCache; public final Set<java.lang.String> getScmTags() { if (scmTagsCache == null) { scmTagsCache = new HashSet<java.lang.String>(); for (Release e : getEntities()) { if (e.isScmTagSet()) scmTagsCache.add(e.getScmTag()); } } return scmTagsCache; } private static class IsScmTag implements Predicate<Release> { private java.lang.String value; public IsScmTag(java.lang.String value) { this.value = value; } public boolean test(Release e) { return e.isScmTag(value); } } // --- valueObject classes --- @Override protected Set<Class> getValueObjectClasses() { Set<Class> ret = new HashSet<Class>(super.getValueObjectClasses()); return ret; } @Override public Map<String, Class> getAliases() { Map<String, Class> aliases = new HashMap<String, Class>(super.getAliases()); return aliases; } // --- dependencies --- scrum.server.project.ProjectDao projectDao; public void setProjectDao(scrum.server.project.ProjectDao projectDao) { this.projectDao = projectDao; } scrum.server.sprint.SprintDao sprintDao; public void setSprintDao(scrum.server.sprint.SprintDao sprintDao) { this.sprintDao = sprintDao; } }