2010-01-16 3 views
0

de Avec Javascript Webscript, je peux obtenir un nœud de groupe avec le code suivant:Comment obtenir le noeud Groupe Alfresco 3.1 Java-Backed Webscript

var group = People.getGroup(groupname); 

Quelle serait l'équivalent Java soutenu de ce code ? Jusqu'ici je ne peux obtenir qu'un ensemble de tous les noms de groupes, mais j'aimerais pouvoir parcourir 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); 
} 

Répondre

0

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

Malheureusement l'AutoritéDAO ne fournit pas une méthode pour obtenir tous les nœuds du groupe, mais si vous regardez le code de son implémentation org.alfresco.repo.security.authority.AuthorityDAOImpl, vous pourrez facilement copier le code ça le fait, ce n'est pas très complexe.

+0

Merci pour la réponse. Malheureusement, j'ai été pressé pour le temps et a fini par utiliser l'équivalent webscript javascript pour ce composant particulier. Si j'ai un peu de temps, je vais probablement l'essayer à nouveau en Java. En tant que débutant, il est difficile de trouver mon chemin autour de l'API parfois en raison de la documentation terne. Merci de m'indiquer dans la bonne direction! – Snowright

+0

C'est vrai, ce n'est pas facile de trouver ce genre de choses dans l'API Alfresco. Ce que je fais habituellement est de rechercher sur le code source d'Alfresco ce que je veux. Voilà comment j'ai trouvé à propos de l'AutoritéDAO. –

+0

Je marque cela comme la réponse. Je pensais que j'avais un peu de temps quand j'ai écrit ma première réponse. Toutes mes excuses! – Snowright

0

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

Ce n'est pas dans une version publiée d'Alfresco, donc pour l'instant, vous aurez besoin d'appeler getAuthorityNodeRefOrNull d'une AutoritéDAO comme Hugo l'a suggéré.

Questions connexes