public static Set<String> executeRoleMapper(final RoleMapper roleMapper, final TaskInstance task, final String roleId, final Map<String, Object[]> parameters) throws Exception { final ProcessInstanceUUID processInstanceUUID = task.getProcessInstanceUUID(); if (parameters != null) { final Map<String, Object[]> inputs = getInputs(parameters); final ActivityInstanceUUID activityInstanceUUID = task.getUUID(); final Binding binding = getBinding(null, null, activityInstanceUUID, processInstanceUUID, true); setParameters(binding, inputs, roleMapper); } return roleMapper.searchMembers(new StandardQueryAPIAccessorImpl(), processInstanceUUID, roleId); }
protected void mapRole(Performer performer) { ClassInfo rolemapperInfo = performer.getRoleMapper(); if (rolemapperInfo != null) { RoleMapper roleMapper = ClassDataLoader.getRoleMapperInstance(packageUUID, rolemapperInfo); try { this.candidates = roleMapper.searchMembers( AccessorUtil.getQueryAPIAccessor(), instanceUUID, performer.getParticipantId()); } catch (Exception e) { throw new BonitaWrapperException( new RoleMapperInvocationException(rolemapperInfo.toString(), e) ); } } }