Added a new test for queryDslPredicateExecutor.findAll.
This commit is contained in:
parent
612bc873eb
commit
a3a19952c4
src
main/java/se/su/dsv/scipro/springdata
test/java/se/su/dsv/scipro/springdata
@ -1,9 +1,7 @@
|
||||
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.*;
|
||||
import com.mysema.query.types.expr.BooleanExpression;
|
||||
import org.hibernate.hql.ast.tree.OrderByClause;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -18,9 +16,8 @@ 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;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Service ( "supervisorService" )
|
||||
@Transactional ( readOnly = true )
|
||||
@ -57,7 +54,22 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
|
||||
BooleanExpression isNewEmployee = employee.user.dateCreated.eq(dateCreated);
|
||||
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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<Employee> findSupervisorKeywords() {
|
||||
QEmployee employee = QEmployee.employee;
|
||||
/* BooleanExpression lastName = employee.user.lastName.eq("Moattar")
|
||||
.or(employee.user.lastName.eq("Herder")
|
||||
.or(employee.user.lastName.eq("Larsson"))
|
||||
.or(employee.user.lastName.eq("Friis"))
|
||||
.or(employee.user.lastName.eq("Tholerus"))
|
||||
.or(employee.user.lastName.eq("Hallberg")));
|
||||
*/
|
||||
OrderSpecifier<?> orderBySize = employee.keywords.keywords.size().desc();
|
||||
// where(lastName).
|
||||
BooleanExpression employeeExists = employee.isNotNull();
|
||||
return queryDslPredicateExecutor.findAll(employeeExists, orderBySize).iterator();
|
||||
//return new JPAQuery(em).from(employee).orderBy(orderBySize).list(employee);
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package se.su.dsv.scipro.springdata.services;
|
||||
import se.su.dsv.scipro.data.dataobjects.Employee;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -9,7 +10,10 @@ import java.util.List;
|
||||
* date: 2012 03 26
|
||||
*/
|
||||
public interface SupervisorService extends CrudService<Employee,Long>, QueryService<Employee, Long> {
|
||||
public List<Employee> findAllEmployees(org.springframework.data.domain.Sort orders);
|
||||
public //List<Employee>
|
||||
List<Employee> findAllEmployees(org.springframework.data.domain.Sort orders);
|
||||
|
||||
public Iterable<Employee> findByUsersName(final Date dateCreated);
|
||||
|
||||
public Iterator<Employee> findSupervisorKeywords();
|
||||
}
|
||||
|
@ -1,12 +1,9 @@
|
||||
package se.su.dsv.scipro.springdata;
|
||||
|
||||
|
||||
import org.apache.commons.lang.builder.CompareToBuilder;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.test.annotation.Rollback;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
@ -208,4 +205,42 @@ public class TestSupervisor {
|
||||
assertTrue(employeeList.get(0).equals(tholerus));
|
||||
assertTrue(employeeList.get(1).equals(herder));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test for implementing a supervisorService with Spring Data
|
||||
*/
|
||||
@Test
|
||||
@Transactional
|
||||
@Rollback
|
||||
public void findNewSupervisorKeywords() {
|
||||
List<Employee> employeeList = new ArrayList<Employee>();
|
||||
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);
|
||||
keyword = createKeyword(keywordTypeWord, "Maven", false);
|
||||
herder.getKeywords().getAll().add(keyword);
|
||||
herder = supervisorService.save(herder);
|
||||
|
||||
keyword = createKeyword(keywordTypeWord, "JUnit", false);
|
||||
tholerus.getKeywords().getAll().add(keyword);
|
||||
keyword = createKeyword(keywordTypeWord, "Maven", false);
|
||||
tholerus.getKeywords().getAll().add(keyword);
|
||||
keyword = createKeyword(keywordTypeWord, "Java", false);
|
||||
tholerus.getKeywords().getAll().add(keyword);
|
||||
tholerus = supervisorService.save(tholerus);
|
||||
Iterator<Employee> employeeIterator = supervisorService.findSupervisorKeywords();
|
||||
while (employeeIterator.hasNext()) {
|
||||
employeeList.add(employeeIterator.next());
|
||||
}
|
||||
assertFalse(employeeList.isEmpty());
|
||||
assertTrue(employeeList.get(0).equals(tholerus));
|
||||
assertTrue(employeeList.get(1).equals(herder));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user