use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class GroupByTest method group_by_null.
@Test
@Ignore
public void group_by_null() {
Map<Integer, Group> results = CollQueryFactory.from(post, posts).from(comment, comments).where(comment.post.id.eq(post.id)).transform(groupBy(post.id).as(post.name, set(comment.id), list(comment.text)));
Group group = results.get(null);
assertNull(group.getOne(post.id));
assertEquals("null post", group.getOne(post.name));
assertEquals(toSet(7, 8), group.getSet(comment.id));
assertEquals(Arrays.asList("comment 7", "comment 8"), group.getList(comment.text));
}
use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class GroupByTest method map_.
@Test
@Ignore
public void map_() {
Map<Integer, Group> results = CollQueryFactory.from(post, posts).from(comment, comments).where(comment.post.id.eq(post.id)).transform(groupBy(post.id).as(post.name, map(comment.id, comment.text)));
Group group = results.get(1);
Map<Integer, String> comments = group.getMap(comment.id, comment.text);
assertEquals(1, comments.size());
// assertEquals("comment 2", comments.get(2));
}
use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class GroupByTest method classCastException.
// @Test(expected=NoSuchElementException.class)
// public void noSuchElementException() {
// Map<Integer, Group> results = BASIC_RESULTS.transform(
// groupBy(postId, postName, set(commentId), list(commentText)));
//
// Group group = results.get(1);
// group.getSet(qComment);
// }
@Test(expected = ClassCastException.class)
public void classCastException() {
Map<Integer, Group> results = CollQueryFactory.from(post, posts).from(comment, comments).where(comment.post.id.eq(post.id)).transform(groupBy(post.id).as(post.name, set(comment.id), list(comment.text)));
Group group = results.get(1);
group.getList(comment.id);
}
use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class AbstractJPATest method transform_groupBy2.
@Test
@ExcludeIn(DERBY)
public void transform_groupBy2() {
QCat kitten = new QCat("kitten");
Map<List<?>, Group> result = query().from(cat).innerJoin(cat.kittens, kitten).transform(GroupBy.groupBy(cat.id, kitten.id).as(cat, kitten));
assertFalse(result.isEmpty());
for (Tuple row : query().from(cat).innerJoin(cat.kittens, kitten).select(cat, kitten).fetch()) {
assertNotNull(result.get(Arrays.asList(row.get(cat).getId(), row.get(kitten).getId())));
}
}
use of com.querydsl.core.group.Group in project querydsl by querydsl.
the class SelectBase method groupBy_superior.
@Test
public void groupBy_superior() {
SQLQuery<?> qry = query().from(employee).innerJoin(employee._superiorIdKey, employee2);
QTuple subordinates = Projections.tuple(employee2.id, employee2.firstname, employee2.lastname);
Map<Integer, Group> results = qry.transform(GroupBy.groupBy(employee.id).as(employee.firstname, employee.lastname, GroupBy.map(employee2.id, subordinates)));
assertEquals(2, results.size());
// Mike Smith
Group group = results.get(1);
assertEquals("Mike", group.getOne(employee.firstname));
assertEquals("Smith", group.getOne(employee.lastname));
Map<Integer, Tuple> emps = group.getMap(employee2.id, subordinates);
assertEquals(4, emps.size());
assertEquals("Steve", emps.get(12).get(employee2.firstname));
// Mary Smith
group = results.get(2);
assertEquals("Mary", group.getOne(employee.firstname));
assertEquals("Smith", group.getOne(employee.lastname));
emps = group.getMap(employee2.id, subordinates);
assertEquals(4, emps.size());
assertEquals("Mason", emps.get(21).get(employee2.lastname));
}
Aggregations