public <T extends ProcessInstanceAttribute> T findAttributeByClass(Class<T> clazz) { Set<ProcessInstanceAttribute> attrs = getProcessAttributes(); for (ProcessInstanceAttribute pia : attrs) { if (clazz.isAssignableFrom(pia.getClass())) { return (T) pia; } } return null; }
public <T extends ProcessInstanceAttribute> Set<T> findAttributesByClass(Class<T> clazz) { Set<T> result = new HashSet<T>(); Set<ProcessInstanceAttribute> attrs = getProcessAttributes(); for (ProcessInstanceAttribute pia : attrs) { if (clazz.isAssignableFrom(pia.getClass())) { result.add((T) pia); } } return result; }
public ProcessInstanceAttribute findAttributeByKey(String key) { Set<ProcessInstanceAttribute> attrs = getProcessAttributes(); for (ProcessInstanceAttribute pia : attrs) { if (pia.getKey() != null && pia.getKey().equals(key)) { return pia; } } return null; }
@Override public void loadData(final BpmTask task) { boundProperties.clear(); dictContainers.clear(); if (Strings.hasText(widgetsDefinition)) { widgetsDefinitionElement = (WidgetsDefinitionElement) definitionLoader.unmarshall(widgetsDefinition); } this.processInstance = task.getProcessInstance(); processAttributes.clear(); for (ProcessInstanceAttribute attribute : processInstance.getProcessAttributes()) { processAttributes.put(attribute.getKey(), attribute); } }
ProcessInstance pi = task.getProcessInstance(); processAttributes.clear(); for (ProcessInstanceAttribute attribute : pi.getProcessAttributes()) { processAttributes.put(attribute.getKey(), attribute);
@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); } }
protected ProcessInstance startProcessInstance(ProcessDefinitionConfig config, String externalKey, ProcessToolContext ctx, ProcessInstance pi) { ProcessEngine processEngine = getProcessEngine(); final RuntimeService execService = processEngine.getRuntimeService(); Map vars = new HashMap(); vars.put("processInstanceId", String.valueOf(pi.getId())); vars.put("initiator", user.getLogin()); for (ProcessInstanceAttribute pia : pi.getProcessAttributes()) { if (pia instanceof BpmVariable) { BpmVariable bpmVar = (BpmVariable) pia; if (hasText(bpmVar.getBpmVariableName())) { vars.put(bpmVar.getBpmVariableName(), bpmVar.getBpmVariableValue()); } } } org.activiti.engine.runtime.ProcessInstance instance = execService .startProcessInstanceByKey(config.getBpmDefinitionKey(), externalKey, vars); pi.setInternalId(instance.getId()); fillProcessAssignmentData(pi, ctx); return pi; }
@Override public void updateContext(ProcessInstance processInstance) { RuntimeService es = getProcessEngine().getRuntimeService(); for (ProcessInstanceAttribute pia : processInstance.getProcessAttributes()) { if (pia instanceof BpmVariable) { BpmVariable bpmVar = (BpmVariable) pia; if (hasText(bpmVar.getBpmVariableName())) { es.setVariable(processInstance.getInternalId(), bpmVar.getBpmVariableName(), bpmVar.getBpmVariableValue()); } } } }
for (ProcessInstanceAttribute pia : pi.getProcessAttributes()) { if (pia instanceof BpmVariable) { BpmVariable bpmVar = (BpmVariable) pia;
@Override public void saveProcessInstance(ProcessInstance processInstance, ProcessToolContext ctx) { RuntimeService es = getProcessEngine().getRuntimeService(); for (ProcessInstanceAttribute pia : processInstance.getProcessAttributes()) { if (pia instanceof BpmVariable) { BpmVariable bpmVar = (BpmVariable) pia; if (hasText(bpmVar.getBpmVariableName())) { es.setVariable(processInstance.getInternalId(), bpmVar.getBpmVariableName(), bpmVar.getBpmVariableValue()); } } } super.saveProcessInstance(processInstance, ctx); }
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"); } }
Set<ProcessInstanceAttribute> procAttrib = processInstance.getProcessAttributes(); for (ProcessInstanceAttribute attrib:procAttrib){ if (attrib instanceof ProcessInstanceAttachmentAttribute && attrib.getId()!=null){ for (ProcessInstanceAttribute attr : processInstance.getProcessAttributes()) { if (attr instanceof Searchable) { Collection<ProcessInstanceSearchAttribute> attributes = ((Searchable) attr).getAttributes();
IAttributesProvider attributesProvider = widgetHierarchyBean.getAttributesProvider(); if (attributesProvider != null && attributesProvider.getProcessInstance() != null) { Hibernate.initialize(attributesProvider.getProcessInstance().getProcessAttributes()); Hibernate.initialize(attributesProvider.getProcessInstance().getProcessSimpleAttributes()); Hibernate.initialize(attributesProvider.getProcessInstance().getRootProcessInstance());