@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(); List<ProcessInstanceLog> processLogs = new ArrayList(pi.getProcessLogs()); Collections.sort(processLogs, ProcessInstanceLog.DEFAULT_COMPARATOR); for (ProcessInstanceLog pl : processLogs) { logInfos.add(getProcessLogInfo(pl)); } }
@Override public List<ProcessStateWidget> filterChildren(BpmTask task, List<ProcessStateWidget> sortedList) { String key = task.getProcessInstance().getSimpleAttributeValue(selectorKey); if (key == null) { key = task.getProcessInstance().getRootProcessInstance().getSimpleAttributeValue(selectorKey); } if(key == null){ Map<String, Object> variables = ProcessToolContext.Util.getThreadProcessToolContext().getBpmVariables(task.getProcessInstance()); key = (String) variables.get(selectorKey); } if(key == null) return new ArrayList<ProcessStateWidget>(0); String[] conditionsArray = conditions.split("[,; ]+"); int index = -1; for (int i = 0; i < conditionsArray.length; i++) { if (key.equals(conditionsArray[i].trim())) index = i; } try { return Arrays.asList(sortedList.get(index)); } catch (IndexOutOfBoundsException e) { return new ArrayList<ProcessStateWidget>(0); } } }
@Override public void loadData(BpmTask task) { ProcessInstance pi = task.getProcessInstance().getRootProcessInstance(); if (mode.equalsIgnoreCase(MODE_SMART)) { if (!"true".equalsIgnoreCase(pi.getSimpleAttributeValue("commentAdded", "false"))) { showContent = false; } } bic.removeAllItems(); 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 o2.getCreateTime().compareTo(o1.getCreateTime()); } }); for (int i = 0; i < displayedComments && i < lst.size(); ++i) { bic.addBean(lst.get(i)); } } }
@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 void saveData(BpmTask task) { ProcessInstance pi = task.getProcessInstance().getRootProcessInstance(); ProcessComments comments = pi.findAttributeByClass(ProcessComments.class); if (comments == null) { comments = new ProcessComments(); comments.setProcessInstance(pi); comments.setKey(ProcessComments.class.getName()); pi.getProcessAttributes().add(comments); } comments.setComments(new HashSet()); for (ProcessComment pc : bic.getItemIds()) { comments.getComments().add(pc); pc.setComments(comments); } }
@Override protected void auditLog(Collection<HandlingResult> results) { ProcessInstance process = getProvider().getProcessInstance(); if (process != null && !results.isEmpty()) { String json = null; try { json = mapper.writeValueAsString(results); } catch (Exception e) { logger.log(Level.SEVERE, e.getMessage(), e); } ProcessInstanceLog log = new ProcessInstanceLog(); log.setState(null); log.setEntryDate(new Date()); log.setEventI18NKey("process.log.process-change"); // todo if (getProvider() instanceof BpmTask) log.setUserLogin(((BpmTask) getProvider()).getAssignee()); log.setLogType(ProcessInstanceLog.LOG_TYPE_PROCESS_CHANGE); log.setOwnProcessInstance(process); log.setLogValue(json); process.getRootProcessInstance().addProcessLog(log); } } }
private void saveComment() { if (skipAddingComment) { return; } ProcessToolContext ctx = getCurrentContext(); ProcessComment pc = dialog.getProcessComment(); pc.setAuthor(ctx.getUserDataDAO().loadOrCreateUserByLogin(loggedUser)); pc.setAuthorSubstitute(substitutingUser != null ? ctx.getUserDataDAO().loadOrCreateUserByLogin(substitutingUser) : null); pc.setCreateTime(new Date()); pc.setProcessState(task.getTaskName()); ProcessInstance pi = task.getProcessInstance().getRootProcessInstance(); ProcessComments comments = pi.findAttributeByClass(ProcessComments.class); if (comments == null) { comments = new ProcessComments(); comments.setProcessInstance(pi); comments.setKey(ProcessComments.class.getName()); pi.getProcessAttributes().add(comments); } comments.getComments().add(pc); pc.setComments(comments); pi.setSimpleAttribute("commentAdded", "true"); } }
Hibernate.initialize(attributesProvider.getProcessInstance().getProcessAttributes()); Hibernate.initialize(attributesProvider.getProcessInstance().getProcessSimpleAttributes()); Hibernate.initialize(attributesProvider.getProcessInstance().getRootProcessInstance()); String processStateConfigurationId = attributesProvider.getProcessInstance().getRootProcessInstance().getSimpleAttributeValue(attributeName); .setParent(divContentNode) .setWidget(childWidget) .setAttributesProvider(attributesProvider.getProcessInstance().getRootProcessInstance()) .setForcePrivileges(forcePrivileges) .setPrivileges(getPrivileges(widget));
ProcessInstance pi = task.getProcessInstance().getRootProcessInstance();