You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2018/11/10 05:58:48 UTC
[syncope] branch 2_1_X updated: [SYNCOPE-1395] small refactor for
orderBy init
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/2_1_X by this push:
new 1325e63 [SYNCOPE-1395] small refactor for orderBy init
1325e63 is described below
commit 1325e634931402b82211c1bda855a2d963078bf1
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Sat Nov 10 06:58:17 2018 +0100
[SYNCOPE-1395] small refactor for orderBy init
---
.../persistence/jpa/dao/AbstractAnySearchDAO.java | 20 +++++++++++++-------
.../core/persistence/jpa/dao/JPAAnySearchDAO.java | 2 +-
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnySearchDAO.java
index 2a204cc..6800dbe 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnySearchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/AbstractAnySearchDAO.java
@@ -136,12 +136,6 @@ public abstract class AbstractAnySearchDAO extends AbstractDAO<Any<?>> implement
return search(SyncopeConstants.FULL_ADMIN_REALMS, cond, -1, -1, orderBy, kind);
}
- protected List<OrderByClause> filterOrderBy(final List<OrderByClause> orderBy) {
- return orderBy.stream().
- filter(clause -> !ArrayUtils.contains(ORDER_BY_NOT_ALLOWED, clause.getField())).
- collect(Collectors.toList());
- }
-
protected abstract <T extends Any<?>> List<T> doSearch(
Set<String> adminRealms,
SearchCond searchCondition,
@@ -353,7 +347,19 @@ public abstract class AbstractAnySearchDAO extends AbstractDAO<Any<?>> implement
return Collections.<T>emptyList();
}
- return doSearch(adminRealms, cond, page, itemsPerPage, orderBy, kind);
+ List<OrderByClause> effectiveOrderBy;
+ if (orderBy.isEmpty()) {
+ OrderByClause keyClause = new OrderByClause();
+ keyClause.setField(kind == AnyTypeKind.USER ? "username" : "name");
+ keyClause.setDirection(OrderByClause.Direction.ASC);
+ effectiveOrderBy = Collections.singletonList(keyClause);
+ } else {
+ effectiveOrderBy = orderBy.stream().
+ filter(clause -> !ArrayUtils.contains(ORDER_BY_NOT_ALLOWED, clause.getField())).
+ collect(Collectors.toList());;
+ }
+
+ return doSearch(adminRealms, cond, page, itemsPerPage, effectiveOrderBy, kind);
}
@Override
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
index 53c52d9..5810207 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAAnySearchDAO.java
@@ -326,7 +326,7 @@ public class JPAAnySearchDAO extends AbstractAnySearchDAO {
OrderBySupport obs = new OrderBySupport();
- filterOrderBy(orderBy).forEach(clause -> {
+ orderBy.forEach(clause -> {
OrderBySupport.Item item = new OrderBySupport.Item();
if (anyUtils.getField(clause.getField()) == null) {