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 2019/02/04 16:39:19 UTC
[syncope] branch 2_1_X updated: Flowable: simplifying forms
retrieval
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 f4c81a5 Flowable: simplifying forms retrieval
f4c81a5 is described below
commit f4c81a5490255ae84214791bde6ba44f57599109
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Mon Feb 4 17:38:56 2019 +0100
Flowable: simplifying forms retrieval
---
.../resources/pgjsonb/domains/MasterContent.xml | 1 +
.../src/test/resources/domains/MasterContent.xml | 1 +
.../flowable/impl/FlowableUserRequestHandler.java | 21 +++------------------
.../org/apache/syncope/fit/core/UserSelfITCase.java | 2 ++
4 files changed, 7 insertions(+), 18 deletions(-)
diff --git a/core/persistence-jpa-json/src/test/resources/pgjsonb/domains/MasterContent.xml b/core/persistence-jpa-json/src/test/resources/pgjsonb/domains/MasterContent.xml
index 60834e6..9bbfcbf 100644
--- a/core/persistence-jpa-json/src/test/resources/pgjsonb/domains/MasterContent.xml
+++ b/core/persistence-jpa-json/src/test/resources/pgjsonb/domains/MasterContent.xml
@@ -318,6 +318,7 @@ under the License.
<SyncopeRole_entitlements entitlement="ANYTYPE_READ" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="ANYTYPECLASS_LIST" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="ANYTYPECLASS_READ" role_id="User manager"/>
+ <SyncopeRole_entitlements entitlement="USER_REQUEST_FORM_LIST" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="USER_REQUEST_FORM_CLAIM" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="USER_REQUEST_FORM_SUBMIT" role_id="User manager"/>
<SyncopeRole_Realm role_id="User manager" realm_id="e4c28e7a-9dbf-4ee7-9441-93812a0d4a28"/>
diff --git a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
index 5a41085..fe0077d 100644
--- a/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
+++ b/core/persistence-jpa/src/test/resources/domains/MasterContent.xml
@@ -253,6 +253,7 @@ under the License.
<SyncopeRole_entitlements entitlement="ANYTYPE_READ" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="ANYTYPECLASS_LIST" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="ANYTYPECLASS_READ" role_id="User manager"/>
+ <SyncopeRole_entitlements entitlement="USER_REQUEST_FORM_LIST" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="USER_REQUEST_FORM_CLAIM" role_id="User manager"/>
<SyncopeRole_entitlements entitlement="USER_REQUEST_FORM_SUBMIT" role_id="User manager"/>
<SyncopeRole_Realm role_id="User manager" realm_id="e4c28e7a-9dbf-4ee7-9441-93812a0d4a28"/>
diff --git a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java
index 22bd357..86a6c03 100644
--- a/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java
+++ b/ext/flowable/flowable-bpmn/src/main/java/org/apache/syncope/core/flowable/impl/FlowableUserRequestHandler.java
@@ -19,7 +19,6 @@
package org.apache.syncope.core.flowable.impl;
import org.apache.syncope.core.flowable.api.UserRequestHandler;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -459,29 +458,15 @@ public class FlowableUserRequestHandler implements UserRequestHandler {
final int size,
final List<OrderByClause> orderByClauses) {
- Pair<Integer, List<UserRequestForm>> forms;
-
TaskQuery query = engine.getTaskService().createTaskQuery().taskWithFormKey();
if (userKey != null) {
query.processInstanceBusinessKeyLike(FlowableRuntimeUtils.getProcBusinessKey("%", userKey));
}
String authUser = AuthContextUtils.getUsername();
- if (adminUser.equals(authUser)) {
- forms = getForms(query, page, size, orderByClauses);
- } else {
- User user = userDAO.findByUsername(authUser);
- forms = getForms(query.taskCandidateOrAssigned(user.getUsername()), page, size, orderByClauses);
-
- List<String> candidateGroups = new ArrayList<>(userDAO.findAllGroupNames(user));
- if (!candidateGroups.isEmpty()) {
- forms = getForms(query.taskCandidateGroupIn(candidateGroups), page, size, orderByClauses);
- }
- }
-
- return forms == null
- ? Pair.of(0, Collections.<UserRequestForm>emptyList())
- : forms;
+ return adminUser.equals(authUser)
+ ? getForms(query, page, size, orderByClauses)
+ : getForms(query.taskCandidateOrAssigned(authUser), page, size, orderByClauses);
}
protected Pair<Integer, List<UserRequestForm>> getForms(
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
index 08c1d6a..2fad213 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
@@ -512,6 +512,8 @@ public class UserSelfITCase extends AbstractITCase {
// 4. claim task from bellini, with role "User manager" and in groupForWorkflowApproval
UserRequestService userService3 = clientFactory.create("bellini", ADMIN_PWD).
getService(UserRequestService.class);
+ assertEquals(1, userService3.getForms(
+ new UserRequestFormQuery.Builder().user(userTO.getKey()).build()).getTotalCount());
form = userService3.claimForm(form.getTaskId());
assertNotNull(form);
assertNotNull(form.getTaskId());