Wednesday, April 6, 2011

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

    Snowright : 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!
    Hugo Palma : 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.

0 comments:

Post a Comment