views:

426

answers:

1

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.getAllAuthorities(AuthorityType.GROUP));
for (String groupname : groups) {
  //jscript equivalent - var group = People.getGroup(groupname);
}
A: 

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.

Hugo Palma
Thanks for the reply. Unfortunately I was pressed for time and ended up using the javascript webscript equivalent for this particular component. If I have some time, I probably will try it out in java again. As a beginner, its hard to find my way around the api sometimes due to the lackluster documentation. Thanks for pointing me in the right direction!
Snowright
That's true, it's not easy to find this kind of stuff in the Alfresco API.What i usually do is search on the Alfresco source code for what i want. That's how i found about the AuthorityDAO.
Hugo Palma