我需要更新workflowTask的帮助,将文件添加到现有工作流程。
我的代码是:
List<NodeRef> addNodes = new ArrayList<NodeRef>();
addNodes.add(addNodeRef);
Map<QName, List<NodeRef>> nodesAdd = new HashMap<QName, List<NodeRef>>();
nodesAdd.put(WorkflowModel.ASSOC_PACKAGE, addNodes);
workflowService.updateTask(currentTask.getId(), null, nodesAdd, null); //nullpointer
是否有其他方式将项目添加到已经运行的工作流程中?
我的错误在哪里?
提前致谢
答案 0 :(得分:5)
您必须将儿童添加到包中。像这样:
NodeRef packageNodeRef = ((ActivitiScriptNode)variables.get(bpm_package")).getNodeRef();
QName qname = nodeService.getPrimaryParent(toAddNodeRef).getQName();
QName assocTypeQName = WorkflowModel.ASSOC_PACKAGE_CONTAINS;
nodeService.addChild(packageNodeRef, toAddNodeRef, assocTypeQName, qname);