如何在Alfresco 3.1的Java-Backed Webscript中获取Group节点

时间:2010-01-16 02:32:41

标签: java alfresco

使用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);
}

2 个答案:

答案 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。