我正在使用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:secondaryObjectTypeIds)到任何cmis:document时,仍可以删除该文件。
也许这不是正确的方法。
有人可以指出正确的方向来实施此功能吗?
我用来添加属性的代码:
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服务器仅限于基本功能。
希望这可以帮助...