Pregunta

Con Javascript Webscript, puedo conseguir un nodo de grupo con el siguiente código:

var group = People.getGroup(groupname);

¿Cuál sería el equivalente apoyado en Java de este código?

Hasta ahora sólo puede conseguir a un conjunto de todos los nombres de los grupos, pero me gustaría ser capaz de recorrer el conjunto y obtener el nodo de grupo actual.

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

Solución

Puede utilizar el método org.alfresco.repo.security.authority.AuthorityDAO getAuthorityNodeRefOrNull para obtener un nodo de grupo por el nombre.

Por desgracia, la AuthorityDAO no proporciona un método para obtener toda nodo de grupo, pero si nos fijamos en el código de su aplicación org.alfresco.repo.security.authority.AuthorityDAOImpl usted será capaz de copiar fácilmente el código que lo hace, no es muy complejo.

Otros consejos

Hay un nuevo método AuthorityService próximamente que te dará la noderef para un grupo dado:

/**
 * 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 está en una versión comercial de Alfresco sin embargo, así que por ahora tendrá que llamar desde un getAuthorityNodeRefOrNull AuthorityDAO como se sugiere Hugo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top