You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2017/12/20 08:32:40 UTC
syncope git commit: fix for paged dynamic membership loading
Repository: syncope
Updated Branches:
refs/heads/2_0_X cb134c7bb -> 33fda85dc
fix for paged dynamic membership loading
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/33fda85d
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/33fda85d
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/33fda85d
Branch: refs/heads/2_0_X
Commit: 33fda85dc6992ba1c63299f9a1882b8ba10a743a
Parents: cb134c7
Author: fmartelli <fa...@gmail.com>
Authored: Wed Dec 20 09:32:26 2017 +0100
Committer: fmartelli <fa...@gmail.com>
Committed: Wed Dec 20 09:32:26 2017 +0100
----------------------------------------------------------------------
.../syncope/core/persistence/jpa/dao/JPAGroupDAO.java | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/33fda85d/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
index 03c1219..23c7af6 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAGroupDAO.java
@@ -298,7 +298,9 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
// refresh dynamic memberships
if (merged.getUDynMembership() != null) {
- for (int page = 1; page <= (countUDynMembers(group) / AnyDAO.DEFAULT_PAGE_SIZE) + 1; page++) {
+ clearUDynMembers(merged);
+ int count = countUDynMembers(group);
+ for (int page = 1; page <= (count / AnyDAO.DEFAULT_PAGE_SIZE) + 1; page++) {
List<User> matching = searchDAO().search(
Collections.<String>singleton(merged.getRealm().getFullPath()),
buildDynMembershipCond(merged.getUDynMembership().getFIQLCond(), merged.getRealm()),
@@ -307,8 +309,6 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
Collections.<OrderByClause>emptyList(),
AnyTypeKind.USER);
- clearUDynMembers(merged);
-
for (User user : matching) {
Query insert = entityManager().createNativeQuery("INSERT INTO " + UDYNMEMB_TABLE + " VALUES(?, ?)");
insert.setParameter(1, user.getKey());
@@ -320,7 +320,9 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
}
}
for (ADynGroupMembership memb : merged.getADynMemberships()) {
- for (int page = 1; page <= (countADynMembers(group) / AnyDAO.DEFAULT_PAGE_SIZE) + 1; page++) {
+ clearADynMembers(merged);
+ int count = countADynMembers(group);
+ for (int page = 1; page <= (count / AnyDAO.DEFAULT_PAGE_SIZE) + 1; page++) {
List<AnyObject> matching = searchDAO().search(
Collections.<String>singleton(merged.getRealm().getFullPath()),
buildDynMembershipCond(memb.getFIQLCond(), merged.getRealm()),
@@ -329,8 +331,6 @@ public class JPAGroupDAO extends AbstractAnyDAO<Group> implements GroupDAO {
Collections.<OrderByClause>emptyList(),
AnyTypeKind.ANY_OBJECT);
- clearADynMembers(merged);
-
for (AnyObject anyObject : matching) {
Query insert = entityManager().createNativeQuery(
"INSERT INTO " + ADYNMEMB_TABLE + " VALUES(?, ?, ?)");