我正在使用Apache化学和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);谢谢你,米雷茨
发布于 2013-12-11 14:50:22
对不起,但是InMemory存储库不支持保留&持有。默认情况下,规范中用于保留和保存的预定义类型不会从InMemory服务器公开。如果您在创建此类型之后,服务器将识别类型和属性,但它将不知道与属性(如hold )关联的语义。实际上,您不应该尝试在运行时添加预定义类型(那些以cmis:开头的类型),因为它们的存在表明是否支持该功能。
对于测试保留和保存,InMemory服务器不是合适的服务器。InMemory服务器仅限于基本功能。
希望这能帮上忙。
https://stackoverflow.com/questions/20519886
复制相似问题