Just added a simple test with a JPAQuery.

This commit is contained in:
Tom Vahlman 2012-04-06 14:17:21 +02:00
parent 7c1a00aeec
commit 9fe8659bfc
3 changed files with 36 additions and 0 deletions
src
main/java/se/su/dsv/scipro/springdata
test/java/se/su/dsv/scipro/springdata

@ -1,14 +1,21 @@
package se.su.dsv.scipro.springdata.serviceimpls;
import com.mysema.query.jpa.impl.JPAQuery;
import com.mysema.query.types.Predicate;
import com.mysema.query.types.Visitor;
import com.mysema.query.types.expr.BooleanExpression;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import se.su.dsv.scipro.data.dataobjects.Employee;
import se.su.dsv.scipro.data.dataobjects.QEmployee;
import se.su.dsv.scipro.springdata.repos.SupervisorRepo;
import se.su.dsv.scipro.springdata.services.SupervisorService;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
@ -20,6 +27,11 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
@Resource
private SupervisorRepo supervisorRepo;
@PersistenceContext
private EntityManager em;
@Autowired
public SupervisorServiceImpl(@Qualifier("supervisorRepo") SupervisorRepo supervisorRepo) {
super(supervisorRepo, supervisorRepo);
@ -31,4 +43,10 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
return supervisorRepo.findAll(orders);
}
@Override
public List<Employee> findByUsersName() { QEmployee employee = QEmployee.employee;
BooleanExpression lastName = employee.user.lastName.eq("Vahlman");
return new JPAQuery(em).from(employee).where(lastName).list(employee);
}
}

@ -9,4 +9,6 @@ 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();
}

@ -133,6 +133,22 @@ public class TestSupervisor {
assertTrue(employeeList.get(5).equals(tholerus));
}
/**
* Test for implementing a supervisorService with Spring Data
*/
@Test
@Transactional
@Rollback
public void findEmployeeByName() {
List<Employee> employeeList = new ArrayList<Employee>();
Employee vahlman = getEmployee("Tom", "Vahlman", "tom@dsv.su.se");
vahlman = supervisorService.save(vahlman);
employeeList.addAll(supervisorService.findByUsersName());
assertFalse(employeeList.isEmpty());
assertTrue(employeeList.get(0).equals(vahlman));
}
/**
* Test for implementing a supervisorService with Spring Data
*/