如何获得在露天3.1的Java后援Webscript组节点
题
使用的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);
}
解决方案
可以使用org.alfresco.repo.security.authority.AuthorityDAO
getAuthorityNodeRefOrNull
方法来获取由所述名称的一组节点。
不幸的是,AuthorityDAO不提供一种方法来获取所有分组节点,但如果你看一下它的代码是实现org.alfresco.repo.security.authority.AuthorityDAOImpl你就可以很容易地复制代码这样做,这不是很复杂的。
其他提示
还有即将推出的是会给你一个给定组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);
这不是在露天的发行版本的,所以现在你需要从AuthorityDAO调用getAuthorityNodeRefOrNull雨果建议。
不隶属于 StackOverflow