use of com.querydsl.core.types.Order in project rpki-validator-3 by RIPE-NCC.
the class JPARoaPrefixAssertions method toOrderSpecifier.
private OrderSpecifier<?> toOrderSpecifier(Sorting sorting) {
if (sorting == null) {
sorting = Sorting.of(Sorting.By.ASN, Sorting.Direction.ASC);
}
Expression<? extends Comparable> column;
switch(sorting.getBy()) {
case PREFIX:
column = roaPrefixAssertion.prefix;
break;
case COMMENT:
column = roaPrefixAssertion.comment;
break;
case ASN:
default:
column = roaPrefixAssertion.asn;
break;
}
Order order = sorting.getDirection() == Sorting.Direction.DESC ? Order.DESC : Order.ASC;
return new OrderSpecifier<>(order, column);
}
use of com.querydsl.core.types.Order in project rpki-validator-3 by RIPE-NCC.
the class JPARpkiRepositories method toOrderSpecifier.
private OrderSpecifier<?> toOrderSpecifier(Sorting sorting) {
if (sorting == null) {
sorting = Sorting.of(Sorting.By.LOCATION, Sorting.Direction.ASC);
}
Expression<? extends Comparable> column;
switch(sorting.getBy()) {
case TYPE:
column = rpkiRepository.type;
break;
case STATUS:
column = rpkiRepository.status;
break;
case LASTCHECKED:
column = rpkiRepository.updatedAt;
break;
case LOCATION:
default:
column = rpkiRepository.rrdpNotifyUri.coalesce(rpkiRepository.rsyncRepositoryUri);
break;
}
Order order = sorting.getDirection() == Sorting.Direction.DESC ? Order.DESC : Order.ASC;
return new OrderSpecifier<>(order, column);
}
use of com.querydsl.core.types.Order in project midpoint by Evolveum.
the class QLookupTableMapping method pagingAndOrdering.
@SuppressWarnings({ "unchecked", "rawtypes" })
private <R> SQLQuery<R> pagingAndOrdering(SQLQuery<R> query, RelationalValueSearchQuery queryDef, QLookupTableRowMapping rowMapping, QLookupTableRow alias) throws QueryException {
if (queryDef != null && queryDef.getPaging() != null) {
var paging = queryDef.getPaging();
if (paging.getOffset() != null) {
query = query.offset(paging.getOffset());
}
if (paging.getMaxSize() != null) {
query = query.limit(paging.getMaxSize());
}
for (ObjectOrdering ordering : paging.getOrderingInstructions()) {
Order direction = ordering.getDirection() == OrderDirection.DESCENDING ? Order.DESC : Order.ASC;
var mapper = rowMapping.itemMapper(ordering.getOrderBy().firstToQName());
Expression path = mapper.primaryPath(alias, null);
if (ItemPath.equivalent(LookupTableRowType.F_LABEL, ordering.getOrderBy())) {
// old repository uses normalized form for ordering
path = alias.labelNorm;
}
query.orderBy(new OrderSpecifier<>(direction, path));
}
}
return query;
}
Aggregations