public BpmTask(BpmTask task) { this.assignee = task.getAssignee(); this.owner = task.getOwner(); this.taskName = task.getTaskName(); this.internalTaskId = task.getInternalTaskId(); this.executionId = task.getExecutionId(); this.createDate = task.getCreateDate(); this.finishDate = task.getFinishDate(); this.processInstance = task.getProcessInstance(); this.isFinished = task.isFinished(); }
public ProcessStateConfiguration getProcessStateConfiguration(BpmTask task) { // HibernateTemplate ht = getHibernateTemplate(); List res = getSession().createCriteria(ProcessStateConfiguration.class) .add(Restrictions.eq("definition", task.getProcessInstance().getDefinition())) .add(Restrictions.eq("name", task.getTaskName())).list(); if (res.isEmpty()) return null; return (ProcessStateConfiguration) res.get(0); }
protected boolean hasUserPriviledgesToViewTask() { // default permission checking if (task.getPotentialOwners().contains(user.getLogin())) return true; if(StringUtils.isEmpty(task.getAssignee())) { for (String queueName : userQueues) if (task.getQueues().contains(queueName)) return true; } else if(task.getAssignee().equals(user.getLogin())) return true; return hasUserRightsToTask(); }
@Override protected IAttributesConsumer getConsumer() { return task.getProcessInstance(); }
task.getProcessInstance().setSimpleAttribute(changeOwnerAttributeKey, changeOwnerAttributeValue); TaskUtil.saveComment(task, context.getUser(), getUserSource(), comment); List<BpmTask> newTasks = getBpmSession(context, task.getAssignee()).performAction(actionName, task, false); String actionPseudoStateName = ActionPseudoTaskBean.getActionPseudoStateName(task.getTaskName(), actionName); ProcessStateConfiguration actionPseudoState = task.getProcessDefinition().getProcessStateConfigurationByName(actionPseudoStateName);
private void processTaskAssigne(BpmTask bpmTask) String assignee = bpmTask.getAssignee(); Long processId = bpmTask.getProcessInstance().getId(); String taskIdString = bpmTask.getInternalTaskId(); for(String ownerLogin: bpmTask.getProcessInstance().getOwners())
String taskOwner = task.getAssignee(); processComment.setProcessState(task.getTaskName()); processComment.setBody(comment); processComment.setAuthorLogin(authorLogin); ProcessInstance pi = task.getProcessInstance().getRootProcessInstance();
@Override public BpmTask refreshTaskData(BpmTask task, ProcessToolContext ctx) { MutableBpmTask bpmTask = task instanceof MutableBpmTask ? (MutableBpmTask) task : new MutableBpmTask(task); bpmTask.setProcessInstance(getProcessData(task.getProcessInstance().getInternalId(), ctx)); List<Task> tasks = getProcessEngine().getTaskService().createTaskQuery() // .notSuspended() .taskName(task.getTaskName()) .executionId(task.getExecutionId()) .taskAssignee(user.getLogin()) .listPage(0, 1); if (tasks.isEmpty()) { log.warning("Task " + task.getExecutionId() + " not found"); bpmTask.setFinished(true); } return bpmTask; }
@Override protected String getViewedObjectId() { return this.task.getInternalTaskId(); }
public BpmTask performAction(ProcessStateAction action, ProcessToolContext ctx, BpmTask bpmTask) { return performAction(action, bpmTask.getProcessInstance(),ctx, getProcessEngine().getTaskService().createTaskQuery() .taskId(bpmTask.getInternalTaskId()).singleResult()); }
private BpmTask findProcessTask(String internalId,String userLogin,String bpmTaskName ) throws AperteWsWrongArgumentException{ List<BpmTask> findProcessTasks = findProcessTasks(internalId, userLogin); if(findProcessTasks.isEmpty()){ AperteWrongArgumentCodes.NOTASK.throwAperteWebServiceException(); } if(bpmTaskName == null || bpmTaskName.isEmpty()){ return findProcessTasks.get(0); } for (BpmTask bpmTaskTemp : findProcessTasks) { if(bpmTaskTemp.getTaskName().equals(bpmTaskName)){ return bpmTaskTemp; } AperteWrongArgumentCodes.BPMTASK.throwAperteWebServiceException(); } AperteWrongArgumentCodes.PROCESS.throwAperteWebServiceException(); return null; }
private void addClaimActionButton(Element parent) { String actionButtonId = "action-button-claim"; Element buttonNode = parent.ownerDocument().createElement("button") .attr("class", "btn btn-warning") .attr("disabled", "true") .attr("id", actionButtonId); parent.appendChild(buttonNode); Element cancelButtonIcon = parent.ownerDocument().createElement("span") .attr("class", "glyphicon glyphicon-download"); parent.appendChild(buttonNode); buttonNode.appendChild(cancelButtonIcon); buttonNode.appendText(i18Source.getMessage("button.claim")); Long processStateConfigurationId = task.getCurrentProcessStateConfiguration().getId(); scriptBuilder.append("$('#").append(actionButtonId) .append("').click(function() { claimTaskFromQueue('#action-button-claim','null', '") .append(processStateConfigurationId).append("','") .append(task.getInternalTaskId()) .append("'); });") .append("$('#").append(actionButtonId) .append("').tooltip({placement: 'bottom', title: '").append(i18Source.getMessage("button.claim.descrition")).append("'});"); }
@Override public void onProcessFinished(ProcessInstance processInstance, BpmTask bpmTask) { /* Get all queue elements for given process id and delete them */ Long processId = processInstance.getId(); String creatorLogin = bpmTask.getCreator(); /* Create new queue element that is stored as finished process */ UserProcessQueue finishedProcess = new UserProcessQueue(); finishedProcess.setLogin(creatorLogin); finishedProcess.setProcessId(processId); finishedProcess.setQueueType(QueueType.OWN_FINISHED); finishedProcess.setTaskId(Long.parseLong(bpmTask.getInternalTaskId())); queueDao.saveOrUpdate(finishedProcess); }
public static BpmTask createBpmTask(BpmTask task, String taskId) { String extractActionName = extractActionName(taskId); String actionPseudoStateName = getActionPseudoStateName(task.getTaskName(), extractActionName); ProcessStateConfiguration actionPseudoState = task.getProcessDefinition().getProcessStateConfigurationByName(actionPseudoStateName); BpmPseudoTask result = new BpmPseudoTask(task); result.setCurrentProcessStateConfiguration(actionPseudoState); result.setInternalTaskId(taskId); return result; }
private boolean isTaskHasNoOwner() { return task.getAssignee() == null || task.getAssignee().isEmpty(); }
private boolean isTaskFinished() { return task.isFinished(); }
@Override public int compare(BpmTask o1, BpmTask o2) { return o2.getCreateDate().compareTo(o1.getCreateDate()); } });
@Override public void saveData(BpmTask task) { task.getProcessInstance().getRootProcessInstance().setSimpleAttribute("markedImportant", String.valueOf(markProcessImportant)); // override }
@Override public void loadData(BpmTask task) { ProcessInstance pi = task.getProcessInstance().getRootProcessInstance(); ProcessComments comments = pi.findAttributeByClass(ProcessComments.class); if (comments != null) { List<ProcessComment> lst = new ArrayList<ProcessComment>(comments.getComments()); Collections.sort(lst, new Comparator<ProcessComment>() { @Override public int compare(ProcessComment o1, ProcessComment o2) { return -o1.getCreateTime().compareTo(o2.getCreateTime()); } }); for (ProcessComment cmt : lst) { bic.addBean(cmt); } } processState = task.getTaskName(); }
@Override public ProcessInstance processWithContext(ProcessToolContext ctx) { getSession(ctx, user).assignTaskToUser(ctx, taskData.getInternalTaskId(), userLogin); return null; } });