/** * please use #setOrderBy instead * * @param column * @return */ @Deprecated public SearchTemplate setOrderBy(String column) { int orderBySize = this.orderBys.size(); if (orderBySize == 0) { this.orderBys.add(new OrderBy(column)); } else if (orderBySize == 1) { OrderBy orderBy = this.orderBys.get(0); this.orderBys.clear(); this.orderBys.add(new OrderBy(column, orderBy.getDirection())); } else { throw new IllegalStateException("Please use addOderBy"); } return this; }
@Override public StorageResults visit(OrderBy orderBy) { TypedExpression field = orderBy.getExpression(); if (field instanceof Field) { FieldMetadata fieldMetadata = ((Field) field).getFieldMetadata(); SortField sortField = new SortField( fieldMetadata.getName(), getSortType(fieldMetadata), orderBy.getDirection() == OrderBy.Direction.DESC); query.setSort(new Sort(sortField)); return null; } else { throw new NotImplementedException( "No support for order by for full text search on non-field."); } }