使用Javascript 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 :(得分:0)
您可以使用org.alfresco.repo.security.authority.AuthorityDAO
getAuthorityNodeRefOrNull
方法按名称获取组节点。
不幸的是,AuthorityDAO没有提供获取所有组节点的方法,但如果你查看它的实现代码org.alfresco.repo.security.authority.AuthorityDAOImpl,你将能够轻松地复制代码它做到了,它不是很复杂。
答案 1 :(得分:0)
即将推出新的AuthorityService方法,它将为您提供给定组的noderef:
/**
* 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);
虽然它不在Alfresco的发布版本中,所以现在你需要像Hugo建议的那样从AuthorityDAO调用getAuthorityNodeRefOrNull。