Как разделить URL-адрес cmis на путь к репозиторию и путь по отношению к репозиторию?

Я стажер GSoC'13. Я работаю над разработкой CMIS UCP для Apache OpenOffice. Я хотел знать, как разделить URL-адрес на его части. Чтобы заполнить параметры сеанса, мне нужен URL + путь объекта в репо. отдельно. Есть ли другой способ?


person Rajath S    schedule 24.06.2013    source источник
comment
Обычно вам просто нужен URL-адрес конечной точки привязки AtomPub (или другой), после чего вы получаете все от этого. Что именно ты пытаешься сделать?   -  person Gagravarr    schedule 24.06.2013
comment
Я не хочу запрашивать URL-адрес atompub и путь к объекту отдельно. Я хочу, чтобы это было по одному пути. например, папка, хранящаяся на: localhost:8080/inmemory/atom с путем /My_Folder-0-0 в репозитории A1 должен быть представлен как localhost:8080/inmemory/atom/A1/ Моя_Папка-0-0 . Итак, я хочу использовать существующую схему или определить ее самостоятельно.   -  person Rajath S    schedule 26.06.2013
comment
Как пользователь узнает такую ​​(возможно, выдуманную) мысль URL? Наверняка все, что они знают, это конечная точка CMIS и, возможно, путь?   -  person Gagravarr    schedule 27.06.2013


Ответы (1)


Если вы знаете путь к объекту, вы можете получить его с помощью getObjectByPath, который является методом в org.apache.chemistry.opencmis.client.api.Session.

Если у вас есть объект и вы хотите узнать его путь, вы можете вызвать метод объекта getPaths(), который возвращает список путей для объекта (в репозиториях, поддерживающих мультифайловость, документы могут иметь несколько путей, но папки могут никогда не быть многофайловым).

Фактический URL-адрес, который вы создадите для прямого перехода к объекту, используя его путь, зависит от репозитория, если только вы не используете привязку браузера (новое в CMIS 1.1). Но пока нет производственных реализаций привязки браузера CMIS 1.1.

person Jeff Potts    schedule 25.06.2013
comment
Есть ли способ запросить репозиторий вернуть схему URL-адресов, которой он следует? - person Rajath S; 26.06.2013
comment
Используя привязку Atom Pub, вы можете вызвать URL-адрес службы репозитория, а затем проверить возвращенные элементы cmisra:uritemplate. Есть один с cmisra: type of objectbypath, который может быть вам полезен для этого. - person Jeff Potts; 01.07.2013