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;
|
package se.su.dsv.scipro.springdata.serviceimpls;
|
||||||
|
|
||||||
import com.mysema.query.jpa.impl.JPAQuery;
|
import com.mysema.query.jpa.impl.JPAQuery;
|
||||||
import com.mysema.query.types.OrderSpecifier;
|
import com.mysema.query.types.*;
|
||||||
import com.mysema.query.types.Predicate;
|
|
||||||
import com.mysema.query.types.Visitor;
|
|
||||||
import com.mysema.query.types.expr.BooleanExpression;
|
import com.mysema.query.types.expr.BooleanExpression;
|
||||||
import org.hibernate.hql.ast.tree.OrderByClause;
|
import org.hibernate.hql.ast.tree.OrderByClause;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.annotation.Resource;
|
||||||
import javax.persistence.EntityManager;
|
import javax.persistence.EntityManager;
|
||||||
import javax.persistence.PersistenceContext;
|
import javax.persistence.PersistenceContext;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
@Service ( "supervisorService" )
|
@Service ( "supervisorService" )
|
||||||
@Transactional ( readOnly = true )
|
@Transactional ( readOnly = true )
|
||||||
@ -57,7 +54,22 @@ public class SupervisorServiceImpl extends AbstractQueryService<Employee, Long>
|
|||||||
BooleanExpression isNewEmployee = employee.user.dateCreated.eq(dateCreated);
|
BooleanExpression isNewEmployee = employee.user.dateCreated.eq(dateCreated);
|
||||||
OrderSpecifier<?> order = employee.user.lastName.asc();
|
OrderSpecifier<?> order = employee.user.lastName.asc();
|
||||||
return queryDslPredicateExecutor.findAll((lastName).and(isNewEmployee), order);
|
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 se.su.dsv.scipro.data.dataobjects.Employee;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -9,7 +10,10 @@ import java.util.List;
|
|||||||
* date: 2012 03 26
|
* date: 2012 03 26
|
||||||
*/
|
*/
|
||||||
public interface SupervisorService extends CrudService<Employee,Long>, QueryService<Employee, Long> {
|
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 Iterable<Employee> findByUsersName(final Date dateCreated);
|
||||||
|
|
||||||
|
public Iterator<Employee> findSupervisorKeywords();
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
package se.su.dsv.scipro.springdata;
|
package se.su.dsv.scipro.springdata;
|
||||||
|
|
||||||
|
|
||||||
import org.apache.commons.lang.builder.CompareToBuilder;
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.dao.DataAccessException;
|
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
import org.springframework.test.annotation.Rollback;
|
import org.springframework.test.annotation.Rollback;
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
@ -208,4 +205,42 @@ public class TestSupervisor {
|
|||||||
assertTrue(employeeList.get(0).equals(tholerus));
|
assertTrue(employeeList.get(0).equals(tholerus));
|
||||||
assertTrue(employeeList.get(1).equals(herder));
|
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