prepared service methods
This commit is contained in:
parent
9b03f34c7a
commit
4a432a7d36
src/main/java/se/su/dsv/scipro/springdata
@ -1,6 +1,7 @@
|
||||
package se.su.dsv.scipro.springdata.serviceimpls;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -57,11 +58,21 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
|
||||
return projectRepo.findAll(titleContains(filterString).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString))), pageable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<Project> find(Date fromDate, Date toDate, Pageable pageable) {
|
||||
return projectRepo.findAll(projectCreatedAfter(fromDate).and(projectCreatedBefore(toDate)), pageable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long count(String filterString) {
|
||||
return projectRepo.count(titleContains(filterString));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long count(Date fromDate, Date toDate) {
|
||||
return projectRepo.count(projectCreatedAfter(fromDate).and(projectCreatedBefore(toDate)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Project> getProjectsByUser(User user) {
|
||||
Student student = studentRepo.findByUser(user);
|
||||
@ -137,6 +148,13 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
|
||||
return QProject.project.headSupervisor.user.lastName.containsIgnoreCase(searchTerm);
|
||||
}
|
||||
|
||||
private BooleanExpression projectCreatedAfter(Date date){
|
||||
return QProject.project.dateCreated.after(date);
|
||||
}
|
||||
|
||||
private BooleanExpression projectCreatedBefore(Date date){
|
||||
return QProject.project.dateCreated.before(date);
|
||||
}
|
||||
|
||||
private BooleanExpression hasProjectClass(ProjectClass pc) {
|
||||
if (pc != null)
|
||||
|
@ -1,5 +1,6 @@
|
||||
package se.su.dsv.scipro.springdata.services;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.domain.Page;
|
||||
@ -11,7 +12,9 @@ import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
|
||||
public interface ProjectService extends GenericService<Project,Long>, QueryService<Project, Long> {
|
||||
|
||||
public Page<Project> find(String filterString, Pageable pageable);
|
||||
public Page<Project> find(Date fromDate, Date toDate, Pageable pageable);
|
||||
public Long count(String filterString);
|
||||
public Long count(Date fromDate, Date toDate);
|
||||
public List<Project> getProjectsByUser(User user);
|
||||
public List<Project> getProjectsByUserAndStatus(User author, ProjectStatus status);
|
||||
public List<Project> getSupervisorProjectsForPeer(User supervisor, ProjectClass pc, ProjectStatus status, Student author, String title);
|
||||
|
Loading…
x
Reference in New Issue
Block a user