2010-01-16 64 views
0

用JavaScript Webscript,我可以得到一組節點下面的代碼:如何獲得組節點露天3.1的Java後援Webscript

var group = People.getGroup(groupname); 

什麼是這個代碼的Java的支持相當於?

到目前爲止,我只能得到一組所有組名,但我希望能夠遍歷該組並獲取實際的組節點。

//Gets all groups, but only as a set of groupnames 
Set<String> groups = new HashSet<String>(); 
groups.addAll(authorityService.getAllAuthorities(AuthorityType.GROUP)); 
for (String groupname : groups) { 
    //jscript equivalent - var group = People.getGroup(groupname); 
} 

回答

0

可以使用org.alfresco.repo.security.authority.AuthorityDAOgetAuthorityNodeRefOrNull方法來獲取由名字一組節點。

不幸的是,AuthorityDAO沒有提供獲取所有組節點的方法,但是如果您查看它的代碼實現org.alfresco.repo.security.authority.AuthorityDAOImpl,您將能夠輕鬆地複製代碼這樣做,它不是很複雜。

+0

感謝您的回覆。不幸的是,我受到了時間的限制,並最終使用了這個特定組件的javascript webscript等價物。如果我有一些時間,我可能會再次嘗試在java中。作爲一名初學者,有時候由於缺乏文檔,很難找到我的答案。感謝您指點我正確的方向! – Snowright 2010-01-19 09:30:36

+0

的確如此,在Alfresco API中找到這種東西並不容易。 我通常會做的是在Alfresco源代碼上搜索我想要的東西。這就是我對AuthorityDAO的看法。 – 2010-01-19 10:16:42

+0

我將此標記爲答案。當我寫下第一份答覆時,我想我有一段時間了。道歉! – Snowright 2011-11-01 01:53:32

0

還有即將推出的是會給你noderef給定組新AuthorityService方法:

/** 
* Gets the authority node for the specified name 
* 
* @param name The authority name 
* 
* @return the reference to the authority node 
*/ 
public NodeRef getAuthorityNodeRef(String name); 

這不是在露天的發行版本的,所以現在你需要調用getAuthorityNodeRefOrNull Hugo建議,可以從AuthorityDAO那裏獲得。