Alfresco - 将项目添加到现有工作流程

时间:2014-06-18 07:41:40

标签: workflow alfresco

我需要更新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
  • currentTask不为null,是工作流中的实际任务,我想要添加项目
  • addNodes列表实际上传到alfresco文件夹的NodeRef
  • addNodeRef只是一个上传到alfresco的项目

是否有其他方式将项目添加到已经运行的工作流程中?

我的错误在哪里?

提前致谢

1 个答案:

答案 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);