use of com.querydsl.core.Tuple in project midpoint by Evolveum.
the class QAccessCertificationCampaignMapping method loadCases.
private void loadCases(AccessCertificationCampaignType base, Collection<SelectorOptions<GetOperationOptions>> options, @NotNull JdbcSession jdbcSession, boolean forceFull) throws SchemaException {
QAccessCertificationCaseMapping casesMapping = QAccessCertificationCaseMapping.getAccessCertificationCaseMapping();
PrismContainer<AccessCertificationCaseType> cases = base.asPrismObject().findOrCreateContainer(F_CASE);
QAccessCertificationCase qcase = casesMapping.defaultAlias();
var query = jdbcSession.newQuery().from(qcase).select(casesMapping.selectExpressions(qcase, options)).where(qcase.ownerOid.eq(SqaleUtils.oidToUUid(base.getOid())));
// Load all / changed containers
Collection<Long> idsToFetch = casesToFetch(options);
if (forceFull || idsToFetch == null) {
// Noop, no need to add additional condition
// we are fetching all cases
cases.setIncomplete(false);
} else if (idsToFetch.isEmpty()) {
return;
} else {
// We fetch only containers explicitly mentioned in retrieve options
query = query.where(qcase.cid.in(idsToFetch));
}
List<Tuple> rows = query.fetch();
for (Tuple row : rows) {
AccessCertificationCaseType c = casesMapping.toSchemaObject(row, qcase, options, jdbcSession, forceFull);
cases.add(c.asPrismContainerValue());
}
}
use of com.querydsl.core.Tuple in project querydsl by querydsl.
the class CollQueryStandardTest method nested_tupleProjection.
@Test
public void nested_tupleProjection() {
Concatenation concat = new Concatenation(cat.name, cat.name);
List<Tuple> tuples = CollQueryFactory.from(cat, data).select(concat, cat.name, cat.birthdate).fetch();
for (Tuple tuple : tuples) {
assertNotNull(tuple.get(cat.name));
assertNotNull(tuple.get(cat.birthdate));
assertEquals(tuple.get(cat.name) + tuple.get(cat.name), tuple.get(concat));
}
}
use of com.querydsl.core.Tuple in project querydsl by querydsl.
the class CollQueryStandardTest method tupleOneFieldProjection.
@Test
public void tupleOneFieldProjection() {
List<Tuple> tuples = CollQueryFactory.from(cat, data).select(new Expression<?>[] { cat.name }).fetch();
for (Tuple tuple : tuples) {
assertEquals(1, tuple.size());
assertNotNull(tuple.get(cat.name));
}
}
use of com.querydsl.core.Tuple in project querydsl by querydsl.
the class CollQueryTest method various.
@Test
public void various() {
StringPath a = Expressions.stringPath("a");
StringPath b = Expressions.stringPath("b");
for (Tuple strs : from(a, "aa", "bb", "cc").from(b, Arrays.asList("a", "b")).where(a.startsWith(b)).select(a, b).fetch()) {
assertEquals(strs.get(a), strs.get(b) + strs.get(b));
}
query().from(cat, cats).select(cat.mate).fetch();
query().from(cat, cats).select(cat.kittens).fetch();
query().from(cat, cats).where(cat.kittens.isEmpty()).select(cat).fetch();
query().from(cat, cats).where(cat.kittens.isNotEmpty()).select(cat).fetch();
query().from(cat, cats).where(cat.name.matches("fri.*")).select(cat.name).fetch();
}
use of com.querydsl.core.Tuple in project querydsl by querydsl.
the class QTupleTest method newInstanceObjectArray.
@Test
public void newInstanceObjectArray() {
Tuple tuple = tupleExpression.newInstance("1", 42, true);
assertEquals(3, tuple.size());
assertEquals("1", tuple.get(0, String.class));
assertEquals(Integer.valueOf(42), tuple.get(1, Integer.class));
assertEquals(Boolean.TRUE, tuple.get(2, Boolean.class));
assertEquals("1", tuple.get(first));
assertEquals(Integer.valueOf(42), tuple.get(second));
assertEquals(Boolean.TRUE, tuple.get(third));
}
Aggregations