/** * Add a dynamic part of query for the sorting support. * * @param sql SQL text string. * @param sort Sort method. */ public static StringBuilder addSorting(StringBuilder sql, Sort sort) { if (sort != null) { sql.append(" ORDER BY "); for (Sort.Order order : sort) { sql.append(order.getProperty()).append(" ").append(order.getDirection()); if (order.getNullHandling() != Sort.NullHandling.NATIVE) { sql.append(" ").append("NULL "); switch (order.getNullHandling()) { case NULLS_FIRST: sql.append("FIRST"); break; case NULLS_LAST: sql.append("LAST"); break; } } sql.append(", "); } sql.delete(sql.length() - 2, sql.length()); } return sql; }
/** * Add a dynamic part of query for the sorting support. * * @param sql SQL text string. * @param sort Sort method. * @return Sorting criteria in StringBuilder. */ public static StringBuilder addSorting(StringBuilder sql, Sort sort) { if (sort != null && sort != Sort.unsorted()) { sql.append(" ORDER BY "); for (Sort.Order order : sort) { sql.append(order.getProperty()).append(" ").append(order.getDirection()); if (order.getNullHandling() != Sort.NullHandling.NATIVE) { sql.append(" ").append("NULL "); switch (order.getNullHandling()) { case NULLS_FIRST: sql.append("FIRST"); break; case NULLS_LAST: sql.append("LAST"); break; } } sql.append(", "); } sql.delete(sql.length() - 2, sql.length()); } return sql; }
private static String toJpaDirection(Order order) { return order.getDirection().name().toLowerCase(Locale.US); }
private StringBuilder getSortClause(Sort sort) { StringBuilder sortClause = new StringBuilder(); for (Order order : sort) { if (sortClause.length() != 0) { sortClause.append(',').append(' '); } sortClause.append(order.getProperty()).append(' ').append(order.getDirection().isAscending() ? "ASC" : "DESC"); } return sortClause; }
@Override public OrderDto marshal(Order order) throws Exception { if (order == null) { return null; } OrderDto dto = new OrderDto(); dto.direction = order.getDirection(); dto.property = order.getProperty(); return dto; }
private StringBuilder getSortClause(Sort sort) { StringBuilder sortClause = new StringBuilder(); for (Order order : sort) { if (sortClause.length() != 0) { sortClause.append(',').append(' '); } sortClause.append(order.getProperty()).append(' ').append(order.getDirection().isAscending() ? "ASC" : "DESC"); } return sortClause; }
private List<SortField<?>> toOrders(Sort sort) { List<SortField<?>> orders = new ArrayList<>(); for (Order order : sort) { orders.add(field(order.getProperty()).sort(order.getDirection() == Direction.ASC ? SortOrder.ASC : SortOrder.DESC)); } return orders; }
private static String toJpaDirection(Order order) { return order.getDirection().name().toLowerCase(Locale.US); }
public static List<Order> toOrders(Sort sort) { List<Order> orders = new ArrayList<Order>(); for (org.springframework.data.domain.Sort.Order order : sort) { if (order.getDirection() == Sort.Direction.ASC) orders.add(Order.asc(order.getProperty())); else orders.add(Order.desc(order.getProperty())); } return orders; } }
private String getSortOrder(Sort sort) { String result = ""; for (Sort.Order order : sort) { if (!result.isEmpty()) { result += ", "; } result += order.getProperty() + " " + order.getDirection(); } return result; }
private Sort getSearchSort(Pageable pageable) { List<SortField> sortFields = Lists.newArrayList(); if(pageable != null && pageable.getSort() != null) { for (org.springframework.data.domain.Sort.Order sortOrder : pageable.getSort()) { sortFields.add(getAvailableSortField(sortOrder.getProperty(), sortOrder.getDirection())); } } return new Sort(sortFields.toArray(new SortField[0])); }
private Sort getSearchSort(Pageable pageable) { if (pageable == null || pageable.getSort() == null) { return null; } List<SortField> sortFields = Lists.newArrayList(); for (org.springframework.data.domain.Sort.Order sortOrder : pageable.getSort()) { sortFields.add(getAvailableSortField(sortOrder.getProperty(), sortOrder.getDirection())); } return new Sort(sortFields.toArray(new SortField[0])); }
private Sort getSearchSort(Pageable pageable) { if(pageable == null || pageable.getSort() == null) { return null; } List<SortField> sortFields = Lists.newArrayList(); for(org.springframework.data.domain.Sort.Order sortOrder : pageable.getSort()) { sortFields.add(getAvailableSortField(sortOrder.getProperty(), sortOrder.getDirection())); } return new Sort(sortFields.toArray(new SortField[0])); }
protected String buildStandardOrderBy(Sort sort) { if (null == sort || sort.isUnsorted()) { return ""; } final Map<String, String> map = findNormalColumns().stream() .collect(Collectors.toMap(p -> p.getName(), p -> p.getColumnName())); return " order by " + sort.stream() .map(order -> map.getOrDefault(order.getProperty(), order.getProperty()) + ' ' + order.getDirection().name().toLowerCase()) .collect(Collectors.joining(",")); }
private List<SortField<?>> toOrders(Sort sort) { List<SortField<?>> orders = new ArrayList<SortField<?>>(); for (Order order : sort) { orders.add(field(order.getProperty()).sort(order.getDirection() == Direction.ASC ? SortOrder.ASC : SortOrder.DESC)); } return orders; }
public void onCreation(PartTreeMongoQuery query) { PartTree tree = query.getTree(); if (!tree.hasPredicate()) { return; } Index index = new Index(); index.named(query.getQueryMethod().getName()); Sort sort = tree.getSort(); for (Part part : tree.getParts()) { if (GEOSPATIAL_TYPES.contains(part.getType())) { return; } String property = part.getProperty().toDotPath(); Direction order = toDirection(sort, property); index.on(property, order); } // Add fixed sorting criteria to index if (sort.isSorted()) { for (Order order : sort) { index.on(order.getProperty(), order.getDirection()); } } MongoEntityMetadata<?> metadata = query.getQueryMethod().getEntityInformation(); indexOperationsProvider.indexOps(metadata.getCollectionName()).ensureIndex(index); LOG.debug(String.format("Created %s!", index)); }
private String getSortOrder(Sort sort) { return sort.stream() .map(order -> order.getProperty() + " " + order.getDirection()) .collect(Collectors.joining(", ")); }
for (Sort.Order order : query.getSort()) { FieldSortBuilder sort = SortBuilders.fieldSort(order.getProperty()) .order(order.getDirection().isDescending() ? SortOrder.DESC : SortOrder.ASC); if (order.getNullHandling() == Sort.NullHandling.NULLS_FIRST) { sort.missing("_first");
public void onCreation(PartTreeMongoQuery query) { PartTree tree = query.getTree(); if (!tree.hasPredicate()) { return; } Index index = new Index(); index.named(query.getQueryMethod().getName()); Sort sort = tree.getSort(); for (Part part : tree.getParts()) { if (GEOSPATIAL_TYPES.contains(part.getType())) { return; } String property = part.getProperty().toDotPath(); Direction order = toDirection(sort, property); index.on(property, order); } // Add fixed sorting criteria to index if (sort.isSorted()) { for (Order order : sort) { index.on(order.getProperty(), order.getDirection()); } } MongoEntityMetadata<?> metadata = query.getQueryMethod().getEntityInformation(); indexOperationsProvider.indexOps(metadata.getCollectionName()).ensureIndex(index); LOG.debug(String.format("Created %s!", index)); }
private static List<FieldSortBuilder> sort(Query query, ElasticsearchPersistentEntity<?> entity) { if (query.getSort() == null || query.getSort().isUnsorted()) { return Collections.emptyList(); } List<FieldSortBuilder> mappedSort = new ArrayList<>(); for (Sort.Order order : query.getSort()) { ElasticsearchPersistentProperty property = entity.getPersistentProperty(order.getProperty()); String fieldName = property != null ? property.getFieldName() : order.getProperty(); FieldSortBuilder sort = SortBuilders.fieldSort(fieldName) .order(order.getDirection().isDescending() ? SortOrder.DESC : SortOrder.ASC); if (order.getNullHandling() == Sort.NullHandling.NULLS_FIRST) { sort.missing("_first"); } else if (order.getNullHandling() == Sort.NullHandling.NULLS_LAST) { sort.missing("_last"); } mappedSort.add(sort); } return mappedSort; }