gpt4 book ai didi

java - 如果 Alfresco 中已存在文档,则使用 Chemistry CMIS 创建文档的新版本

转载 作者:行者123 更新时间:2023-12-02 03:33:00 24 4
gpt4 key购买 nike

我正在尝试使用 Chemistry CMIS 创建文档,如下所示

final Map<String, Object> reportProps = new HashMap<String, Object>();
reportProps.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document");
reportProps.put(PropertyIds.NAME,file.getName());

session.getFolder().createDocument(reportProps, contentStream, VersioningState.MAJOR);

如果同名文档已存在,则会抛出 CmisContentAlreadyExistsException。

如果抛出此异常,我想创建文档的新版本。

或者有没有一种方法可以让我使用 Chemistry CMIS 检查 Alfresco 存储库中是否已存在给定名称的文档,以便我可以无论如何获取该文档并使用新版本 checkin 该文档。

欢迎任何其他方法。

最佳答案

我通常检查文档是否已经存在,如果存在我就进行更新。我不进行 checkout / checkin 过程,因为我设置 Alfresco 为每个更新创建版本(但我想这两种方法都可以)。

我对 CMIS 不太有经验,但我记得这篇文章谈论了您的用例。

http://ecmarchitect.com/archives/2013/08/26/3528

Document document = null;
try {
document = parentFolder.createDocument(props, contentStream, null);
System.out.println("Created new document: " + document.getId());
} catch (CmisContentAlreadyExistsException ccaee) {
document = (Document) cmisSession.getObjectByPath(parentFolder.getPath() + "/" + fileName);
System.out.println("Document already exists: " + fileName);
}
return document;

关于java - 如果 Alfresco 中已存在文档,则使用 Chemistry CMIS 创建文档的新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com