// ----------> GENERATED FILE - DON'T TOUCH! <---------- // generator: ilarkesto.mda.legacy.generator.DaoGenerator package scrum.server.sprint; 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 GTaskDao extends ilarkesto.persistence.ADao<Task> { public final String getEntityName() { return Task.TYPE; } public final Class getEntityClass() { return Task.class; } public Set<Task> getEntitiesVisibleForUser(final scrum.server.admin.User user) { return getEntities(new Predicate<Task>() { public boolean test(Task e) { return Auth.isVisible(e, user); } }); } // --- clear caches --- public void clearCaches() { tasksByRequirementCache.clear(); requirementsCache = null; tasksByNumberCache.clear(); numbersCache = null; tasksByLabelCache.clear(); labelsCache = null; tasksByDescriptionCache.clear(); descriptionsCache = null; tasksByRemainingWorkCache.clear(); remainingWorksCache = null; tasksByBurnedWorkCache.clear(); burnedWorksCache = null; tasksByOwnerCache.clear(); ownersCache = null; tasksByImpedimentCache.clear(); impedimentsCache = null; } @Override public void entityDeleted(EntityEvent event) { super.entityDeleted(event); if (event.getEntity() instanceof Task) { clearCaches(); } } @Override public void entitySaved(EntityEvent event) { super.entitySaved(event); if (event.getEntity() instanceof Task) { clearCaches(); } } // ----------------------------------------------------------- // - requirement // ----------------------------------------------------------- private final Cache<scrum.server.project.Requirement,Set<Task>> tasksByRequirementCache = new Cache<scrum.server.project.Requirement,Set<Task>>( new Cache.Factory<scrum.server.project.Requirement,Set<Task>>() { public Set<Task> create(scrum.server.project.Requirement requirement) { return getEntities(new IsRequirement(requirement)); } }); public final Set<Task> getTasksByRequirement(scrum.server.project.Requirement requirement) { return tasksByRequirementCache.get(requirement); } private Set<scrum.server.project.Requirement> requirementsCache; public final Set<scrum.server.project.Requirement> getRequirements() { if (requirementsCache == null) { requirementsCache = new HashSet<scrum.server.project.Requirement>(); for (Task e : getEntities()) { if (e.isRequirementSet()) requirementsCache.add(e.getRequirement()); } } return requirementsCache; } private static class IsRequirement implements Predicate<Task> { private scrum.server.project.Requirement value; public IsRequirement(scrum.server.project.Requirement value) { this.value = value; } public boolean test(Task e) { return e.isRequirement(value); } } // ----------------------------------------------------------- // - number // ----------------------------------------------------------- private final Cache<Integer,Set<Task>> tasksByNumberCache = new Cache<Integer,Set<Task>>( new Cache.Factory<Integer,Set<Task>>() { public Set<Task> create(Integer number) { return getEntities(new IsNumber(number)); } }); public final Set<Task> getTasksByNumber(int number) { return tasksByNumberCache.get(number); } private Set<Integer> numbersCache; public final Set<Integer> getNumbers() { if (numbersCache == null) { numbersCache = new HashSet<Integer>(); for (Task e : getEntities()) { numbersCache.add(e.getNumber()); } } return numbersCache; } private static class IsNumber implements Predicate<Task> { private int value; public IsNumber(int value) { this.value = value; } public boolean test(Task e) { return e.isNumber(value); } } // ----------------------------------------------------------- // - label // ----------------------------------------------------------- private final Cache<java.lang.String,Set<Task>> tasksByLabelCache = new Cache<java.lang.String,Set<Task>>( new Cache.Factory<java.lang.String,Set<Task>>() { public Set<Task> create(java.lang.String label) { return getEntities(new IsLabel(label)); } }); public final Set<Task> getTasksByLabel(java.lang.String label) { return tasksByLabelCache.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 (Task e : getEntities()) { if (e.isLabelSet()) labelsCache.add(e.getLabel()); } } return labelsCache; } private static class IsLabel implements Predicate<Task> { private java.lang.String value; public IsLabel(java.lang.String value) { this.value = value; } public boolean test(Task e) { return e.isLabel(value); } } // ----------------------------------------------------------- // - description // ----------------------------------------------------------- private final Cache<java.lang.String,Set<Task>> tasksByDescriptionCache = new Cache<java.lang.String,Set<Task>>( new Cache.Factory<java.lang.String,Set<Task>>() { public Set<Task> create(java.lang.String description) { return getEntities(new IsDescription(description)); } }); public final Set<Task> getTasksByDescription(java.lang.String description) { return tasksByDescriptionCache.get(description); } private Set<java.lang.String> descriptionsCache; public final Set<java.lang.String> getDescriptions() { if (descriptionsCache == null) { descriptionsCache = new HashSet<java.lang.String>(); for (Task e : getEntities()) { if (e.isDescriptionSet()) descriptionsCache.add(e.getDescription()); } } return descriptionsCache; } private static class IsDescription implements Predicate<Task> { private java.lang.String value; public IsDescription(java.lang.String value) { this.value = value; } public boolean test(Task e) { return e.isDescription(value); } } // ----------------------------------------------------------- // - remainingWork // ----------------------------------------------------------- private final Cache<Integer,Set<Task>> tasksByRemainingWorkCache = new Cache<Integer,Set<Task>>( new Cache.Factory<Integer,Set<Task>>() { public Set<Task> create(Integer remainingWork) { return getEntities(new IsRemainingWork(remainingWork)); } }); public final Set<Task> getTasksByRemainingWork(int remainingWork) { return tasksByRemainingWorkCache.get(remainingWork); } private Set<Integer> remainingWorksCache; public final Set<Integer> getRemainingWorks() { if (remainingWorksCache == null) { remainingWorksCache = new HashSet<Integer>(); for (Task e : getEntities()) { remainingWorksCache.add(e.getRemainingWork()); } } return remainingWorksCache; } private static class IsRemainingWork implements Predicate<Task> { private int value; public IsRemainingWork(int value) { this.value = value; } public boolean test(Task e) { return e.isRemainingWork(value); } } // ----------------------------------------------------------- // - burnedWork // ----------------------------------------------------------- private final Cache<Integer,Set<Task>> tasksByBurnedWorkCache = new Cache<Integer,Set<Task>>( new Cache.Factory<Integer,Set<Task>>() { public Set<Task> create(Integer burnedWork) { return getEntities(new IsBurnedWork(burnedWork)); } }); public final Set<Task> getTasksByBurnedWork(int burnedWork) { return tasksByBurnedWorkCache.get(burnedWork); } private Set<Integer> burnedWorksCache; public final Set<Integer> getBurnedWorks() { if (burnedWorksCache == null) { burnedWorksCache = new HashSet<Integer>(); for (Task e : getEntities()) { burnedWorksCache.add(e.getBurnedWork()); } } return burnedWorksCache; } private static class IsBurnedWork implements Predicate<Task> { private int value; public IsBurnedWork(int value) { this.value = value; } public boolean test(Task e) { return e.isBurnedWork(value); } } // ----------------------------------------------------------- // - owner // ----------------------------------------------------------- private final Cache<scrum.server.admin.User,Set<Task>> tasksByOwnerCache = new Cache<scrum.server.admin.User,Set<Task>>( new Cache.Factory<scrum.server.admin.User,Set<Task>>() { public Set<Task> create(scrum.server.admin.User owner) { return getEntities(new IsOwner(owner)); } }); public final Set<Task> getTasksByOwner(scrum.server.admin.User owner) { return tasksByOwnerCache.get(owner); } private Set<scrum.server.admin.User> ownersCache; public final Set<scrum.server.admin.User> getOwners() { if (ownersCache == null) { ownersCache = new HashSet<scrum.server.admin.User>(); for (Task e : getEntities()) { if (e.isOwnerSet()) ownersCache.add(e.getOwner()); } } return ownersCache; } private static class IsOwner implements Predicate<Task> { private scrum.server.admin.User value; public IsOwner(scrum.server.admin.User value) { this.value = value; } public boolean test(Task e) { return e.isOwner(value); } } // ----------------------------------------------------------- // - impediment // ----------------------------------------------------------- private final Cache<scrum.server.impediments.Impediment,Set<Task>> tasksByImpedimentCache = new Cache<scrum.server.impediments.Impediment,Set<Task>>( new Cache.Factory<scrum.server.impediments.Impediment,Set<Task>>() { public Set<Task> create(scrum.server.impediments.Impediment impediment) { return getEntities(new IsImpediment(impediment)); } }); public final Set<Task> getTasksByImpediment(scrum.server.impediments.Impediment impediment) { return tasksByImpedimentCache.get(impediment); } private Set<scrum.server.impediments.Impediment> impedimentsCache; public final Set<scrum.server.impediments.Impediment> getImpediments() { if (impedimentsCache == null) { impedimentsCache = new HashSet<scrum.server.impediments.Impediment>(); for (Task e : getEntities()) { if (e.isImpedimentSet()) impedimentsCache.add(e.getImpediment()); } } return impedimentsCache; } private static class IsImpediment implements Predicate<Task> { private scrum.server.impediments.Impediment value; public IsImpediment(scrum.server.impediments.Impediment value) { this.value = value; } public boolean test(Task e) { return e.isImpediment(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.RequirementDao requirementDao; public void setRequirementDao(scrum.server.project.RequirementDao requirementDao) { this.requirementDao = requirementDao; } scrum.server.impediments.ImpedimentDao impedimentDao; public void setImpedimentDao(scrum.server.impediments.ImpedimentDao impedimentDao) { this.impedimentDao = impedimentDao; } }