@Override public final SelectImpl orderBy(SortField<?>... fields) { getQuery().addOrderBy(fields); return this; }
@Override public final SelectImpl orderBy(OrderField<?>... fields) { getQuery().addOrderBy(fields); return this; }
@Override public final SelectImpl orderBy(Collection<? extends OrderField<?>> fields) { getQuery().addOrderBy(fields); return this; }
@Override public final SelectImpl orderBy(int... fieldIndexes) { getQuery().addOrderBy(fieldIndexes); return this; }
@Override public final SelectImpl orderBy(Field<?>... fields) { getQuery().addOrderBy(fields); return this; }
@Override public final SelectImpl orderBy(int... fieldIndexes) { getQuery().addOrderBy(fieldIndexes); return this; }
@Override public final SelectImpl orderBy(Collection<? extends SortField<?>> fields) { getQuery().addOrderBy(fields); return this; }
@Override public final SelectImpl orderSiblingsBy(Collection<? extends SortField<?>> fields) { getQuery().addOrderBy(fields); getQuery().setOrderBySiblings(true); return this; }
@Override public final SelectImpl orderSiblingsBy(OrderField<?>... fields) { getQuery().addOrderBy(fields); getQuery().setOrderBySiblings(true); return this; }
@Override public final SelectImpl orderSiblingsBy(Collection<? extends OrderField<?>> fields) { getQuery().addOrderBy(fields); getQuery().setOrderBySiblings(true); return this; }
@Override public final SelectImpl orderSiblingsBy(SortField<?>... fields) { getQuery().addOrderBy(fields); getQuery().setOrderBySiblings(true); return this; }
@Override public final SelectImpl orderSiblingsBy(int... fieldIndexes) { getQuery().addOrderBy(fieldIndexes); getQuery().setOrderBySiblings(true); return this; }
@Override public final SelectImpl orderSiblingsBy(int... fieldIndexes) { getQuery().addOrderBy(fieldIndexes); getQuery().setOrderBySiblings(true); return this; }
@Override public final SelectImpl orderSiblingsBy(Field<?>... fields) { getQuery().addOrderBy(fields); getQuery().setOrderBySiblings(true); return this; }
query.addOrderBy(sortField.desc()); break; default: query.addOrderBy(sortField.asc()); switch (sort.getOrderEnum()) { case DESC: query.addOrderBy(idSort.desc()); break; default: query.addOrderBy(idSort.asc()); query.addOrderBy(idSort.asc());
public List<ProcessEntry> list(UUID parentInstanceId, Set<String> tags) { try (DSLContext tx = DSL.using(cfg)) { SelectQuery<Record> query = buildSelect(tx, DEFAULT_INCLUDES); query.addConditions(PROCESS_QUEUE.PARENT_INSTANCE_ID.eq(parentInstanceId)); filterByTags(query, tags); query.addOrderBy(PROCESS_QUEUE.CREATED_AT.desc()); return query.fetch(this::toEntry); } }
protected void addJoin(SelectQuery<?> query, Table<?> toTable, SchemaFactory schemaFactory, String fromType, Table<?> from, String asName, Relationship rel) { TableField<?, Object> fieldFrom = null; TableField<?, Object> fieldTo = null; switch (rel.getRelationshipType()) { case REFERENCE: fieldFrom = JooqUtils.getTableField(getMetaDataManager(), fromType, rel.getPropertyName()); fieldTo = JooqUtils.getTableField(getMetaDataManager(), schemaFactory.getSchemaName(rel.getObjectType()), ObjectMetaDataManager.ID_FIELD); break; case CHILD: fieldFrom = JooqUtils.getTableField(getMetaDataManager(), fromType, ObjectMetaDataManager.ID_FIELD); fieldTo = JooqUtils.getTableField(getMetaDataManager(), schemaFactory.getSchemaName(rel.getObjectType()), rel.getPropertyName()); break; default: throw new IllegalArgumentException("Illegal Relationship type [" + rel.getRelationshipType() + "]"); } if (fieldFrom == null || fieldTo == null) { throw new IllegalStateException("Failed to construction join query for [" + fromType + "] [" + from + "] [" + rel + "]"); } query.addJoin(toTable, JoinType.LEFT_OUTER_JOIN, fieldFrom.eq(fieldTo.getTable().as(asName).field(fieldTo.getName()))); query.addOrderBy(fieldTo.getTable().as(asName).field(ObjectMetaDataManager.ID_FIELD).asc()); }
query.addOrderBy(PROCESS_QUEUE.CREATED_AT.asc()); } else { query.addOrderBy(PROCESS_QUEUE.CREATED_AT.desc());
protected void addMappingJoins(SelectQuery<?> query, Table<?> toTable, SchemaFactory schemaFactory, String fromType, Table<?> from, String asName, MapRelationship rel) { Table<?> mappingTable = JooqUtils.getTableFromRecordClass(rel.getMappingType()); /* * We don't required the mapping type to be visible external, that's why * we use the schemaFactory from the objectManager, because it is the * superset schemaFactory. */ String mappingType = getObjectManager().getSchemaFactory().getSchemaName(rel.getMappingType()); TableField<?, Object> fieldFrom = JooqUtils.getTableField(getMetaDataManager(), fromType, ObjectMetaDataManager.ID_FIELD); TableField<?, Object> fieldTo = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getPropertyName()); TableField<?, Object> fieldRemoved = JooqUtils.getTableField(getMetaDataManager(), mappingType, ObjectMetaDataManager.REMOVED_FIELD); org.jooq.Condition cond = fieldFrom.eq(fieldTo.getTable().field(fieldTo.getName())).and( fieldRemoved == null ? DSL.trueCondition() : fieldRemoved.isNull()); query.addJoin(mappingTable, JoinType.LEFT_OUTER_JOIN, cond); fieldFrom = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getOtherRelationship().getPropertyName()); fieldTo = JooqUtils.getTableField(getMetaDataManager(), schemaFactory.getSchemaName(rel.getObjectType()), ObjectMetaDataManager.ID_FIELD); cond = fieldFrom.eq(fieldTo.getTable().asTable(asName).field(fieldTo.getName())); query.addJoin(toTable, JoinType.LEFT_OUTER_JOIN, cond); query.addOrderBy(fieldTo.getTable().asTable(asName).field(fieldTo.getName()).asc()); }