开发者

How to get Group node in Alfresco 3.1's Java-Backed Webscript

With Javascript Webscript, I can get a group node with the following code:

var group = People.getGroup(groupname);

What would be the Java-backed equivalent of this code?

So far I can only get a set of all group names, but I would like to be able to iterate through the set and get the actual group node.

//Gets all groups, but only as a set of groupnames
Set<String> groups = new HashSet<String>();
groups.addAll(authorityService.getAllAuthoritie开发者_运维技巧s(AuthorityType.GROUP));
for (String groupname : groups) {
  //jscript equivalent - var group = People.getGroup(groupname);
}


You can use the org.alfresco.repo.security.authority.AuthorityDAO getAuthorityNodeRefOrNull method to get a group node by the name.

Unfortunately the AuthorityDAO doesn't provide a method to get all group node, but if you look at the code of it's implementation org.alfresco.repo.security.authority.AuthorityDAOImpl you'll be able to easily copy the code that does it, it's not very complex.


There's a new AuthorityService method coming soon that'll give you the noderef for a given group:

/**
 * 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);

It's not in a released version of Alfresco though, so for now you'll need to call getAuthorityNodeRefOrNull from a AuthorityDAO as Hugo suggested.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜