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.task;
20
21 import org.apache.syncope.common.lib.request.UserCR;
22 import org.apache.syncope.core.flowable.impl.FlowableRuntimeUtils;
23 import org.apache.syncope.core.persistence.api.entity.EntityFactory;
24 import org.apache.syncope.core.persistence.api.entity.user.User;
25 import org.apache.syncope.core.provisioning.api.data.UserDataBinder;
26 import org.flowable.engine.delegate.DelegateExecution;
27
28 public class Create extends FlowableServiceTask {
29
30 protected final UserDataBinder dataBinder;
31
32 protected final EntityFactory entityFactory;
33
34 public Create(final UserDataBinder dataBinder, final EntityFactory entityFactory) {
35 this.dataBinder = dataBinder;
36 this.entityFactory = entityFactory;
37 }
38
39 @Override
40 protected void doExecute(final DelegateExecution execution) {
41 UserCR userCR = execution.getVariable(FlowableRuntimeUtils.USER_CR, UserCR.class);
42
43
44 User user = entityFactory.newEntity(User.class);
45 dataBinder.create(user, userCR);
46
47
48 execution.setVariable(FlowableRuntimeUtils.USER, user);
49 execution.setVariable(FlowableRuntimeUtils.USER_TO, dataBinder.getUserTO(user, true));
50 }
51 }