use of org.kie.api.task.model.User in project jbpm by kiegroup.
the class UserGroupCallbackTaskCommand method persistIfNotExists.
protected void persistIfNotExists(final OrganizationalEntity entity, TaskContext context) {
TaskPersistenceContext tpc = context.getPersistenceContext();
OrganizationalEntity orgEntity = tpc.findOrgEntity(entity.getId());
if (orgEntity == null || (orgEntity instanceof Group && entity instanceof User) || (orgEntity instanceof User && entity instanceof Group)) {
tpc.persistOrgEntity(entity);
}
}
use of org.kie.api.task.model.User in project jbpm by kiegroup.
the class UserGroupCallbackTaskCommand method doCallbackOperationForTaskDeadlines.
protected void doCallbackOperationForTaskDeadlines(Deadlines deadlines, TaskContext context) {
if (deadlines != null) {
if (deadlines.getStartDeadlines() != null) {
List<? extends Deadline> startDeadlines = deadlines.getStartDeadlines();
for (Deadline startDeadline : startDeadlines) {
List<? extends Escalation> escalations = startDeadline.getEscalations();
if (escalations != null) {
for (Escalation escalation : escalations) {
List<? extends Notification> notifications = escalation.getNotifications();
List<? extends Reassignment> ressignments = escalation.getReassignments();
if (notifications != null) {
for (Notification notification : notifications) {
List<? extends OrganizationalEntity> recipients = notification.getRecipients();
if (recipients != null) {
for (OrganizationalEntity recipient : recipients) {
if (recipient instanceof User) {
doCallbackUserOperation(recipient.getId(), context);
}
if (recipient instanceof Group) {
doCallbackGroupOperation(recipient.getId(), context);
}
}
}
List<? extends OrganizationalEntity> administrators = notification.getBusinessAdministrators();
if (administrators != null) {
for (OrganizationalEntity administrator : administrators) {
if (administrator instanceof User) {
doCallbackUserOperation(administrator.getId(), context);
}
if (administrator instanceof Group) {
doCallbackGroupOperation(administrator.getId(), context);
}
}
}
}
}
if (ressignments != null) {
for (Reassignment reassignment : ressignments) {
List<? extends OrganizationalEntity> potentialOwners = reassignment.getPotentialOwners();
if (potentialOwners != null) {
for (OrganizationalEntity potentialOwner : potentialOwners) {
if (potentialOwner instanceof User) {
doCallbackUserOperation(potentialOwner.getId(), context);
}
if (potentialOwner instanceof Group) {
doCallbackGroupOperation(potentialOwner.getId(), context);
}
}
}
}
}
}
}
}
}
if (deadlines.getEndDeadlines() != null) {
List<? extends Deadline> endDeadlines = deadlines.getEndDeadlines();
for (Deadline endDeadline : endDeadlines) {
List<? extends Escalation> escalations = endDeadline.getEscalations();
if (escalations != null) {
for (Escalation escalation : escalations) {
List<? extends Notification> notifications = escalation.getNotifications();
List<? extends Reassignment> ressignments = escalation.getReassignments();
if (notifications != null) {
for (Notification notification : notifications) {
List<? extends OrganizationalEntity> recipients = notification.getRecipients();
if (recipients != null) {
for (OrganizationalEntity recipient : recipients) {
if (recipient instanceof User) {
doCallbackUserOperation(recipient.getId(), context);
}
if (recipient instanceof Group) {
doCallbackGroupOperation(recipient.getId(), context);
}
}
}
List<? extends OrganizationalEntity> administrators = notification.getBusinessAdministrators();
if (administrators != null) {
for (OrganizationalEntity administrator : administrators) {
if (administrator instanceof User) {
doCallbackUserOperation(administrator.getId(), context);
}
if (administrator instanceof Group) {
doCallbackGroupOperation(administrator.getId(), context);
}
}
}
}
}
if (ressignments != null) {
for (Reassignment reassignment : ressignments) {
List<? extends OrganizationalEntity> potentialOwners = reassignment.getPotentialOwners();
if (potentialOwners != null) {
for (OrganizationalEntity potentialOwner : potentialOwners) {
if (potentialOwner instanceof User) {
doCallbackUserOperation(potentialOwner.getId(), context);
}
if (potentialOwner instanceof Group) {
doCallbackGroupOperation(potentialOwner.getId(), context);
}
}
}
}
}
}
}
}
}
}
}
use of org.kie.api.task.model.User in project jbpm by kiegroup.
the class UserGroupCallbackTaskCommand method addUserFromCallbackOperation.
protected User addUserFromCallbackOperation(String userId, TaskContext context) {
User user = context.getPersistenceContext().findUser(userId);
boolean userExists = user != null;
if (!StringUtils.isEmpty(userId) && !userExists) {
user = TaskModelProvider.getFactory().newUser();
((InternalOrganizationalEntity) user).setId(userId);
persistIfNotExists(user, context);
}
return user;
}
use of org.kie.api.task.model.User in project jbpm by kiegroup.
the class AddTaskCommand method initializeTask.
private void initializeTask(Task task) {
Status assignedStatus = null;
if (task.getPeopleAssignments() != null && task.getPeopleAssignments().getPotentialOwners() != null && task.getPeopleAssignments().getPotentialOwners().size() == 1) {
// if there is a single potential owner, assign and set status to Reserved
OrganizationalEntity potentialOwner = task.getPeopleAssignments().getPotentialOwners().get(0);
// if there is a single potential user owner, assign and set status to Reserved
if (potentialOwner instanceof User) {
((InternalTaskData) task.getTaskData()).setActualOwner((User) potentialOwner);
assignedStatus = Status.Reserved;
}
// If there is a group set as potentialOwners, set the status to Ready ??
if (potentialOwner instanceof Group) {
assignedStatus = Status.Ready;
}
} else if (task.getPeopleAssignments() != null && task.getPeopleAssignments().getPotentialOwners() != null && task.getPeopleAssignments().getPotentialOwners().size() > 1) {
// multiple potential owners, so set to Ready so one can claim.
assignedStatus = Status.Ready;
} else {
// @TODO: we have no potential owners
}
if (assignedStatus != null) {
((InternalTaskData) task.getTaskData()).setStatus(assignedStatus);
}
}
use of org.kie.api.task.model.User in project jbpm by kiegroup.
the class AddUsersGroupsCommand method execute.
public Void execute(Context cntxt) {
TaskContext context = (TaskContext) cntxt;
TaskIdentityService identityService = context.getTaskIdentityService();
for (User user : users.values()) {
identityService.addUser(user);
}
for (Group group : groups.values()) {
identityService.addGroup(group);
}
return null;
}
Aggregations