Just added a simple test with a JPAQuery.

This commit is contained in:
Tom Vahlman 2012-04-07 17:23:27 +02:00
parent 96e7478fc1
commit 43db68fe23
2 changed files with 43 additions and 32 deletions
src
main/java/se/su/dsv/scipro/springdata/serviceimpls
test/java/se/su/dsv/scipro/springdata

@ -1,9 +1,11 @@
package se.su.dsv.scipro.springdata.serviceimpls;
import com.mysema.query.jpa.impl.JPAQuery;
import com.mysema.query.types.OrderSpecifier;
import com.mysema.query.types.Predicate;
import com.mysema.query.types.Visitor;
import com.mysema.query.types.expr.BooleanExpression;
import org.hibernate.hql.ast.tree.OrderByClause;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
@ -29,8 +31,8 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
private SupervisorRepo supervisorRepo;
// @PersistenceContext
// private EntityManager em;
@PersistenceContext
private EntityManager em;
@Autowired
@ -47,10 +49,15 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
@Override
public Iterable<Employee> findByUsersName(final Date dateCreated) {
QEmployee employee = QEmployee.employee;
BooleanExpression lastName = employee.user.lastName.eq("Vahlman");
BooleanExpression lastName = employee.user.lastName.eq("Vahlman")
.or(employee.user.lastName.eq("Larsson")
.or(employee.user.lastName.eq("Friis"))
.or(employee.user.lastName.eq("Tholerus"))
.or(employee.user.lastName.eq("Hallberg")));
BooleanExpression isNewEmployee = employee.user.dateCreated.eq(dateCreated);
return queryDslPredicateExecutor.findAll((lastName).and(isNewEmployee));
//return new JPAQuery(em).from(employee).where((lastName).and(isNewEmployee)).list(employee);
OrderSpecifier<?> order = employee.user.lastName.asc();
return queryDslPredicateExecutor.findAll((lastName).and(isNewEmployee), order);
//return new JPAQuery(em).from(employee).where((lastName).and(isNewEmployee)).orderBy(order).list(employee);
}
}

@ -63,11 +63,12 @@ public class TestSupervisor {
return weights;
}
private Employee getEmployee(final String firstName, final String lastName, final String email) {
private Employee getEmployee(final String firstName, final String lastName, final String email, final Date dateCreated) {
User user = new User();
user.setFirstName(firstName);
user.setLastName(lastName);
user.setEmailAddress(email);
user.setDateCreated(dateCreated);
user = userDao.save(user);
assertNotNull(user);
Employee employee = new Employee();
@ -97,12 +98,12 @@ public class TestSupervisor {
@Rollback
public void findSupervisorLastName() {
List<Employee> employeeList = new ArrayList<Employee>();
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se");
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se");
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se");
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se");
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se", null);
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se", null);
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se", null);
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se", null);
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se", null);
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se", null);
Sort sortOrder = new Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.lastName");
employeeList.addAll(supervisorService.findAllEmployees(sortOrder));
assertFalse(employeeList.isEmpty());
@ -118,12 +119,12 @@ public class TestSupervisor {
@Rollback
public void findSupervisorFirstName() {
List<Employee> employeeList = new ArrayList<Employee>();
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se");
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se");
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se");
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se");
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se", null);
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se", null);
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se", null);
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se", null);
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se", null);
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se", null);
Sort sortOrder = new Sort(org.springframework.data.domain.Sort.Direction.ASC, "user.firstName");
employeeList.addAll(supervisorService.findAllEmployees(sortOrder));
assertFalse(employeeList.isEmpty());
@ -141,18 +142,21 @@ public class TestSupervisor {
public void findEmployeeByName() {
List<Employee> employeeList = new ArrayList<Employee>();
Date dateCreated = new Date();
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se");
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se");
Employee vahlman = getEmployee("Tom", "Vahlman", "tom@dsv.su.se");
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se");
vahlman.getUser().setDateCreated(dateCreated);
vahlman = supervisorService.save(vahlman);
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se", dateCreated);
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se", dateCreated);
Employee vahlman = getEmployee("Tom", "Vahlman", "tom@dsv.su.se", dateCreated);
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se", dateCreated);
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se", dateCreated);
for(Employee employee : supervisorService.findByUsersName(dateCreated)) {
employeeList.add(employee);
}
assertFalse(employeeList.isEmpty());
assertTrue(employeeList.size() == 1);
assertTrue(employeeList.get(0).equals(vahlman));
assertTrue(employeeList.size() == 5);
assertTrue(employeeList.get(0).equals(friis));
assertTrue(employeeList.get(1).equals(hallberg));
assertTrue(employeeList.get(2).equals(larsson));
assertTrue(employeeList.get(3).equals(tholerus));
assertTrue(employeeList.get(4).equals(vahlman));
}
/**
@ -163,12 +167,12 @@ public class TestSupervisor {
@Rollback
public void findSupervisorKeywords() {
List<Employee> employeeList = new ArrayList<Employee>();
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se");
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se");
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se");
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se");
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se");
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se");
Employee larsson = getEmployee("Ken", "Larsson", "kenlars@dsv.su.se", null);
Employee hallberg = getEmployee("David", "Hallberg", "dhallb@dsv.su.se", null);
Employee tholerus = getEmployee("Torgny", "Tholerus", "torgny@dsv.su.se", null);
Employee herder = getEmployee("Niklas", "Herder", "herder@dsv.su.se", null);
Employee moattar = getEmployee("Golrokh", "Moattar", "goli@dsv.su.se", null);
Employee friis = getEmployee("Fredrik", "Friis", "fre-fri@dsv.su.se", null);
Keyword keyword = createKeyword(keywordTypeWord, "JUnit", false);
herder.getKeywords().getAll().add(keyword);