added level filtering to project dao methods

This commit is contained in:
Fredrik Friis 2012-02-14 10:31:20 +09:00
parent c1e7a2725c
commit e9e4781fb5
2 changed files with 11 additions and 26 deletions
src/main/java/se/su/dsv/scipro/data/dao

@ -5,7 +5,6 @@ import java.util.Collection;
import java.util.Date;
import java.util.List;
import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
import se.su.dsv.scipro.data.dataobjects.Employee;
import se.su.dsv.scipro.data.dataobjects.Log;
import se.su.dsv.scipro.data.dataobjects.Project;
@ -98,7 +97,6 @@ public interface ProjectDao extends Dao<Project>{
// TODO: private Collection<DSVUnit> units;
// TODO: private Collection<DSVField> fields;
public Date getDateCreated() {
return dateCreated;

@ -1,6 +1,7 @@
package se.su.dsv.scipro.data.dao.jpa;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
@ -516,9 +517,8 @@ public class ProjectDaoJPAImp extends AbstractDaoJPAImp<Project> implements Proj
private AbstractQuerySet<Project> createQuerySet(ProjectDao.Params params) {
return new QuerySet()
// .categories(params.getCategories())
.filterString(params.getFilterString())
// .creator(params.getCreator())
.projectClasses(params.getProjectClasses())
.createdAfter(params.getCreatedAfter())
.createdBefore(params.getCreatedBefore())
.sortField(params.getSortField(), params.getDirection())
@ -541,6 +541,15 @@ public class ProjectDaoJPAImp extends AbstractDaoJPAImp<Project> implements Proj
return this;
}
public QuerySet projectClasses(Collection<ProjectClass> projectClasses) {
if (projectClasses != null) {
getQuery().combine(
new Query().where("_.projectClass IN (:projectClasses)")
.parameter("projectClasses", projectClasses));
}
return this;
}
public QuerySet createdBefore(Date createdBefore) {
if (createdBefore != null) {
getQuery().combine(
@ -558,28 +567,6 @@ public class ProjectDaoJPAImp extends AbstractDaoJPAImp<Project> implements Proj
}
return this;
}
// public QuerySet creator(User user) {
// if (user != null) {
// getQuery().combine(
// new Query()
// .where("_.creator = :user")
// .parameter("user", user));
// }
// return this;
// }
// public QuerySet categories(Collection<ChecklistCategory> categories) {
// if (categories != null && !categories.isEmpty()) {
// getQuery().combine(
// new Query()
// .join("_.categories c")
// .where("c IN (:categories)")
// .parameter("categories", categories)
// .distinct());
// }
// return this;
// }
@Override
public Query initQuery() {