2016-03-24 87 views
0

最近我正在向Alfresco存儲庫中的文件添加元數據。我正在使用以下代碼:更改AlfrescoDocument屬性沒有任何影響

AlfrescoDocument alfDoc = (AlfrescoDocument) doc; 
    Map<String, Object> aspectProperties = new HashMap<String, Object>(); 
    aspectProperties.put("cm:description", "test1"); 
    alfDoc.removeAspect("P:cm:titled"); 
    alfDoc.addAspect("P:cm:titled", aspectProperties); 
    System.out.println(alfDoc.getProperties()); 

我無法讓這個工作。可以用這個清除標題,但我不能只設置一個 - 描述是空白的。我究竟做錯了什麼?

我的圖書館:

  • 露天-opencmis擴展-1.0
  • 化學-opencmis-客戶0.13.0
  • 化學-opencmis公地-0.13.0

我正在使用這個Java類的廢料:

http://svn.codespot.com/a/apache-extras.org/alfresco-opencmis-extension/trunk/src/test/org/alfresco/cmis/client/test/CMISClientTest.java

+0

你爲什麼要刪除然後重新添加方面?爲什麼不直接設置屬性? – Gagravarr

+1

您使用了哪個終點(您的服務網址是什麼)?這很重要,因爲如果您使用CMIS 1.1,則不應使用OpenCMIS Extension。 –

+0

Ow。情況可能如此。我正在使用以下網址:「alfresco/api/-default-/public/cmis/versions/1.1/atom」。你能給我一些建議嗎? – ShirouWrath

回答

1

你應該使用updateProperties方法,如果使用露天OpenCMIS擴展 或者如果使用的Apache OpenCMIS然後this

Unitl你不顯式調用updateProperties方法就不會犯的倉庫一側這些變化顯示here

+0

我嘗試updateProperties方法,但它似乎工作,直到我手動更改屬性使用Alfresco共享接口。 – ShirouWrath

+0

下面是一個例子:1.上傳文件到存儲庫2.使用「cmis:description」和updateProperties設置屬性3.結果在戶外可見4.我手動更改共享界面中的值5.這次運行相同的代碼什麼也不做 - 不影響文件屬性,不顯示錯誤。 – ShirouWrath