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

Workflow Alfresco-将项目添加到现有工作流,workflow,alfresco,Workflow,Alfresco,我需要有关更新工作流任务、将文件添加到现有工作流的帮助 我的代码是: List<NodeRef> addNodes = new ArrayList<NodeRef>(); addNodes.add(addNodeRef); Map<QName, List<NodeRef>> nodesAdd = new HashMap<QName, List<NodeRef>>(); nodesAdd.pu

我需要有关更新工作流任务、将文件添加到现有工作流的帮助

我的代码是:

    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
List addNodes=new ArrayList();
addNodes.add(addNodeRef);
Map nodesAdd=new HashMap();
nodesAdd.put(WorkflowModel.ASSOC_包,addNodes);
workflowService.updateTask(currentTask.getId(),null,nodesAdd,null)//空指针
  • currentTask不为null,是工作流中的实际任务,我要在其中添加项
  • addNodes是已上载到alfresco文件夹的实际节点列表
  • addNodeRef只是一个上传到alfresco的项目
是否有其他方式将项目添加到已运行的工作流中

我的错在哪里


提前感谢

您必须将孩子添加到包中。像这样:

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

您必须将子项添加到包中。像这样:

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

非常感谢,它工作得非常好!非常感谢。非常感谢,它工作得非常好!非常感谢。