2013-12-11 5 views
0

Я разрабатываю универсальное клиентское приложение CMIS 1.1 в JAVA с использованием Apache Chemistry и CXF.Возможность CMIS Hold

В настоящее время я strugling с возможностью удержания из КМИС описано здесь: http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html#x1-13200016

При создании вторичного типа в хранилище InMemory с идентификатором «КМИС: 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); 

Спасибо, Miretz

ответ

2

Извините, но хранилище InMemory не поддерживает удержание & ПРОВЕЛ. Предопределенные типы из спецификации для хранения и удержания не отображаются на сервере InMemory по умолчанию. Если впоследствии вы создадите такой тип, сервер будет распознавать тип и свойства, но он не будет знать семантики, связанные с такими свойствами, как hold. На самом деле вы не должны пытаться добавлять предопределенные типы (те, которые начинаются с cmis:) во время выполнения, потому что их присутствие указывает, поддерживается ли функциональность или нет.

Для тестирования хранения и хранения сервера InMemory не является подходящим сервером. Сервер InMemory ограничен базовыми функциями.

Надеюсь, что это поможет ...

+0

Спасибо! Есть ли сервер репозитория, с которым я могу проверить? – Miretz

+1

На данный момент, вероятно, не так много репозитариев с поддержкой CMIS 1.1. Вы можете попытаться создать пробную учетную запись здесь: https://account.hanatrial.ondemand.com/, а затем следовать документации службы документа. Однако, чтобы сделать это доступным за пределами облачной платформы, необходимы дополнительные шаги (создание прокси-моста). – user1253067

+0

ОК, большое спасибо за вашу помощь. – Miretz