Question

Avec Javascript Webscript, je peux obtenir un nœud de groupe avec le code suivant:

var group = People.getGroup(groupname);

Quel serait l'équivalent Java soutenu de ce code?

Jusqu'à présent, je ne peux obtenir un ensemble de tous les noms de groupe, mais je voudrais pouvoir itérer l'ensemble et obtenir le nœud de groupe réel.

//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);
}
Était-ce utile?

La solution

Vous pouvez utiliser la méthode org.alfresco.repo.security.authority.AuthorityDAO de getAuthorityNodeRefOrNull pour obtenir un nœud de groupe par le nom.

Malheureusement, le AuthorityDAO ne fournit pas une méthode pour obtenir tous les nœuds du groupe, mais si vous regardez le code de celui-ci est mise en œuvre org.alfresco.repo.security.authority.AuthorityDAOImpl vous serez en mesure de copier facilement le code le fait, ce n'est pas très complexe.

Autres conseils

Il y a une nouvelle méthode de AuthorityService venir bientôt que vous donnera le noderef pour un groupe donné:

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

Il est pas dans une version publiée d'Alfresco, donc pour l'instant, vous aurez besoin d'appeler getAuthorityNodeRefOrNull d'un AuthorityDAO comme Hugo suggéré.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top