diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java index 3874c8dba7..42d7b1d37a 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java +++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorServiceImpl.java @@ -57,10 +57,7 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long> } @Override - public Iterator<Employee> findSupervisorKeywords() { - QEmployee employee = QEmployee.employee; - OrderSpecifier<?> orderBySize = employee.keywords.keywords.size().desc(); - BooleanExpression employeeExists = employee.isNotNull(); - return queryDslPredicateExecutor.findAll(employeeExists, orderBySize).iterator(); + public Iterator<Employee> findSupervisorQuery(BooleanExpression booleanExpression, OrderSpecifier<?> orderSpecifier) { + return queryDslPredicateExecutor.findAll(booleanExpression, orderSpecifier).iterator(); } } diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java b/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java index d76bec5c4e..96d2968792 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java +++ b/src/main/java/se/su/dsv/scipro/springdata/services/SupervisorService.java @@ -1,4 +1,6 @@ package se.su.dsv.scipro.springdata.services; +import com.mysema.query.types.OrderSpecifier; +import com.mysema.query.types.expr.BooleanExpression; import se.su.dsv.scipro.data.dataobjects.Employee; import java.util.Date; @@ -15,5 +17,5 @@ public interface SupervisorService extends CrudService<Employee,Long>, QueryServ public Iterable<Employee> findByUsersName(final Date dateCreated); - public Iterator<Employee> findSupervisorKeywords(); + public Iterator<Employee> findSupervisorQuery(BooleanExpression booleanExpression, OrderSpecifier<?> orderSpecifier); } diff --git a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java index 3f3b762398..4e8ac4366d 100644 --- a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java +++ b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java @@ -1,5 +1,7 @@ package se.su.dsv.scipro.springdata; +import com.mysema.query.types.OrderSpecifier; +import com.mysema.query.types.expr.BooleanExpression; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -11,6 +13,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; import se.su.dsv.scipro.data.dao.interfaces.UserDao; import se.su.dsv.scipro.data.dataobjects.Employee; +import se.su.dsv.scipro.data.dataobjects.QEmployee; import se.su.dsv.scipro.data.dataobjects.User; import se.su.dsv.scipro.match.Weights; import se.su.dsv.scipro.match.dao.interfaces.KeywordDao; @@ -235,7 +238,10 @@ public class TestSupervisor { keyword = createKeyword(keywordTypeWord, "Java", false); tholerus.getKeywords().getAll().add(keyword); tholerus = supervisorService.save(tholerus); - Iterator<Employee> employeeIterator = supervisorService.findSupervisorKeywords(); + QEmployee employee = QEmployee.employee; + OrderSpecifier<?> orderBySize = employee.keywords.keywords.size().desc(); + BooleanExpression employeeExists = employee.isNotNull(); + Iterator<Employee> employeeIterator = supervisorService.findSupervisorQuery(employeeExists, orderBySize); while (employeeIterator.hasNext()) { employeeList.add(employeeIterator.next()); }