package scrum.server.project;
import ilarkesto.fp.Predicate;
import scrum.server.issues.Issue;
public class RequirementDao extends GRequirementDao {
@Override
public Requirement newEntityInstance() {
Requirement requirement = super.newEntityInstance();
requirement.setLabel("New Story");
return requirement;
}
public Requirement getRequirementByNumber(final int number, final Project project) {
return getEntity(new Predicate<Requirement>() {
public boolean test(Requirement r) {
return r.isNumber(number) && r.isProject(project);
}
});
}
// --- test data ---
public Requirement postRequirement(Project project, String label, Float estimation) {
Requirement requirement = newEntityInstance();
requirement.setProject(project);
requirement.setLabel(label);
requirement.setEstimatedWork(estimation);
saveEntity(requirement);
requirement.updateNumber();
return requirement;
}
public Requirement postRequirement(Issue issue) {
Requirement requirement = newEntityInstance();
requirement.setProject(issue.getProject());
requirement.setLabel(issue.getLabel());
requirement.setDescription(issue.getDescription());
requirement.setIssue(issue);
issue.setStory(requirement);
saveEntity(requirement);
requirement.updateNumber();
return requirement;
}
}