1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.flowable.impl;
20
21 import org.apache.syncope.common.lib.to.UserTO;
22 import org.apache.syncope.core.flowable.support.DomainProcessEngine;
23 import org.apache.syncope.core.persistence.api.entity.user.User;
24
25 public class FlowableWorkflowUtils {
26
27 public static boolean isUserIngroup(final UserTO user, final String groupName) {
28 return user.getMemberships().stream().
29 anyMatch(membership -> groupName != null && groupName.equals(membership.getGroupName()));
30 }
31
32 protected final DomainProcessEngine engine;
33
34 public FlowableWorkflowUtils(final DomainProcessEngine engine) {
35 this.engine = engine;
36 }
37
38 public void setUserWorkflowVariable(final String variableName, final Object value, final User user) {
39 engine.getRuntimeService().
40 setVariable(FlowableRuntimeUtils.getWFProcInstID(engine, user.getKey()), variableName, value);
41 }
42
43 public Object getUserWorkflowVariable(final String variableName, final User user) {
44 return engine.getRuntimeService().
45 getVariable(FlowableRuntimeUtils.getWFProcInstID(engine, user.getKey()), variableName);
46 }
47 }