Pergunta

Com o JavaScript WebScript, posso obter um nó de grupo com o seguinte código:

var group = People.getGroup(groupname);

Qual seria o equivalente apoiado por Java desse código?

Até agora, só posso obter um conjunto de todos os nomes de grupo, mas gostaria de ser capaz de iterar no conjunto e obter o nó do grupo real.

//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);
}
Foi útil?

Solução

Você pode usar o org.alfresco.repo.security.authority.AuthorityDAO getAuthorityNodeRefOrNull Método para obter um nó de grupo pelo nome.

Infelizmente, o AuthorityDao não fornece um método para obter todo o nó do grupo, mas se você olhar para o código de sua implementação org.alfresco.repo.security.authority.authoritydaoimpl Você poderá copiar facilmente o código que o faz, Não é muito complexo.

Outras dicas

Há um novo método de serviço de autoridade em breve que lhe dará o noderef para um determinado grupo:

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

No entanto, não está em uma versão lançada do Alfresco, então, por enquanto, você precisará chamar getAuthoritynodereformull de uma autoridade que Hugo sugeriu.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top