Alfresco Java 将文档移动到特定位置的代码

Alfresco Java code to move documents to specific

我想将工作流附带的文档移动到某个特定位置。我在 java 脚本中完成了此操作。

        var destNode = search.findNode("workspace://SpacesStore/55bbdd0e-c185-4ab4-a7e8-5e8d9701a5ed");                     
                for (var i = 0; i < bpm_package.children.length; i++)
                {
                    bpm_package.children[i].move(destNode);
                }

但我想要 java 版本的做同样的事情?请帮我! 提前致谢。

您可以使用 fileFolderService 移动任何 document.There fileFolderService 中名为 move.You 的方法可以在下面 link.

http://dev.alfresco.com/resource/docs/java/org/alfresco/service/cmr/model/FileFolderService.html

要使用 filefolderService,您需要注入 service.Ig 您正在使用 javabackend webscript,您可以像下面那样在任何上下文文件中执行此操作。

<bean id="webscript.{Path}.get" class="com.yaskawa.api.WebScript"
        parent="webscript">
        <property name="fileFolderService" ref="fileFolderService" />
    </bean>

示例如下

FileFolderService().move(node,destNode, "NameOnDestination")

希望这对您有所帮助:)

这是 Java 等价物:

ActivitiScriptNode bpmPackageScriptNode = (ActivitiScriptNode) delegateTask.getVariable("bpm_package");
if(bpmPackageScriptNode != null) {
    NodeRef bpmPackage = bpmPackageScriptNode.getNodeRef();
    List<ChildAssociationRef> children = nodeService.getChildAssocs(
            bpmPackage, WorkflowModel.ASSOC_PACKAGE_CONTAINS, RegexQNamePattern.MATCH_ALL);
    for (ChildAssociationRef child : children) {
        NodeRef childRef = child.getChildRef();
        fileService.move(childRef, destinationXpath, null);
    }   
}

最好使用 FileFolderService 中的 move(...) 而不是 NodeSerivce 因为一些额外的检查。