我正在使用 Apache Chemistry 和 CXF 在 JAVA 中开发通用 CMIS 1.1 客户端应用程序。
目前,我正在努力解决此处描述的 CMIS 的保持功能: http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html#x1-13200016
当我在 InMemory 存储库中创建 ID 为“cmis:rm_hold”的辅助类型并将该类型添加到任何 cmis:document 的属性 (cmis:secondaryObjectTypeIds) 时,该文件仍然可以被删除。
也许这不是正确的方法。
有人可以为我指出实现此功能的正确方向吗?
我用来添加属性的代码:
CmisPropertiesType properties = new CmisPropertiesType();
CmisPropertyId propertyId = new CmisPropertyId();
propertyId.setPropertyDefinitionId("cmis:secondaryObjectTypeIds");
propertyId.getValue().add("cmis:rm_hold");
properties.getProperty().add(propertyId);
objectServicePort.updateProperties(
cmisContext.getRepositoryId(),
new Holder<String>(id.getDocId()), null, properties, null);
谢谢你, 米雷兹
最佳答案
抱歉,InMemory 存储库不支持保留和保留。默认情况下,InMemory 服务器不会公开保留和保留规范中的预定义类型。如果您随后创建这样的类型,服务器将识别该类型和属性,但不会知道与“hold”等属性关联的语义。事实上,您不应该尝试在运行时添加预定义类型(以 cmis: 开头的类型),因为它们的存在表明该功能是否受支持。
对于测试保留和保留,InMemory 服务器不是合适的服务器。 InMemory 服务器仅限于基本功能。
希望这有帮助...
关于java - CMIS 保持能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20519886/