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 183793d694..e9c4d20f74 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 @@ -16,6 +16,7 @@ import se.su.dsv.scipro.springdata.services.SupervisorService; import javax.annotation.Resource; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; +import java.util.Date; import java.util.List; @@ -44,9 +45,11 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long> } @Override - public List<Employee> findByUsersName() { QEmployee employee = QEmployee.employee; + public List<Employee> findByUsersName(final Date dateCreated) { + QEmployee employee = QEmployee.employee; BooleanExpression lastName = employee.user.lastName.eq("Vahlman"); - return new JPAQuery(em).from(employee).where(lastName).list(employee); + BooleanExpression isNewEmployee = employee.user.dateCreated.eq(dateCreated); + return new JPAQuery(em).from(employee).where((lastName).and(isNewEmployee)).list(employee); } } 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 20347695d6..418a726b6a 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,6 +1,7 @@ package se.su.dsv.scipro.springdata.services; import se.su.dsv.scipro.data.dataobjects.Employee; +import java.util.Date; import java.util.List; /** @@ -10,5 +11,5 @@ import java.util.List; public interface SupervisorService extends CrudService<Employee,Long>, QueryService<Employee, Long> { public List<Employee> findAllEmployees(org.springframework.data.domain.Sort orders); - public List<Employee> findByUsersName(); + public List<Employee> findByUsersName(final Date dateCreated); } 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 476bd29a2e..1fb987c45e 100644 --- a/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java +++ b/src/test/java/se/su/dsv/scipro/springdata/TestSupervisor.java @@ -22,10 +22,8 @@ import se.su.dsv.scipro.match.dataobject.Keyword; import se.su.dsv.scipro.match.dataobject.KeywordType; import se.su.dsv.scipro.springdata.services.SupervisorService; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; +import java.util.*; + import static org.junit.Assert.*; @RunWith(SpringJUnit4ClassRunner.class) @@ -142,9 +140,11 @@ public class TestSupervisor { @Rollback public void findEmployeeByName() { List<Employee> employeeList = new ArrayList<Employee>(); + Date dateCreated = new Date(); Employee vahlman = getEmployee("Tom", "Vahlman", "tom@dsv.su.se"); + vahlman.getUser().setDateCreated(dateCreated); vahlman = supervisorService.save(vahlman); - employeeList.addAll(supervisorService.findByUsersName()); + employeeList.addAll(supervisorService.findByUsersName(dateCreated)); assertFalse(employeeList.isEmpty()); assertTrue(employeeList.get(0).equals(vahlman)); }