2013-06-24 93 views
0

我是GSoC'13實習生。我正在爲Apache OpenOffice開發CMIS UCP。 我想知道如何將網址分成幾部分。 要填充會話參數,我需要回購對象的url +路徑。分別。 還有別的辦法嗎?如何將cmis url拆分爲相對於存儲庫的存儲庫路徑和路徑?

+0

通常情況下,您只需要AtomPub(或其他)綁定終結點的URL,那麼您就可以從中獲得一切。你究竟想要做什麼? – Gagravarr

+0

我不想問atompub網址和對象的路徑分開。我想要一條路。例如,存儲在以下位置的文件夾應該由http:// localhost:8080/inmemory/atom/A1/My_Folder-代表:http:// localhost:8080/inmemory/atom帶有路徑/ My_Folder- 0-0。所以,我想利用現有的方案,或者自己定義一個方案。 –

+0

用戶如何知道這樣的URL(可能是由URL組成)?他們肯定知道的是CMIS終點,可能還有路徑嗎? – Gagravarr

回答

1

如果您知道對象的路徑,可以使用getObjectByPath(它是org.apache.chemistry.opencmis.client.api.Session上的方法)來檢索它。

如果你有一個對象,並且你想知道它的路徑,你可以調用該對象的getPaths()方法,該方法返回該對象的路徑列表(在支持多文件的存儲庫中,文檔可以有多個路徑,但是文件夾永遠不能是多字段的)。

除非您使用瀏覽器綁定(CMIS 1.1中的新增功能),否則構造爲使用其路徑直接導航到對象的實際URL是存儲庫特定的。但是目前還沒有任何CMIS 1.1瀏覽器綁定的生產實現。

+0

有沒有辦法請求存儲庫返回它遵循的url方案? –

+0

使用Atom Pub綁定可以調用存儲庫的服務URL,然後檢查返回的cmisra:uritemplate元素。有一個cmisra:「objectbypath」類型,可能對你有用。 –