Frage

Mit Javascript WebScript, kann ich eine Gruppenknoten mit dem folgenden Code erhalten:

var group = People.getGroup(groupname);

Was ist die Java-backed Äquivalent dieser Code würde?

Bisher kann ich nur einen Satz aller Gruppennamen bekommen, aber ich mag durch den Satz zu wiederholen zu können und den tatsächlichen Gruppenknoten erhalten.

//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);
}
War es hilfreich?

Lösung

Sie können die org.alfresco.repo.security.authority.AuthorityDAO getAuthorityNodeRefOrNull Methode verwenden, um einen Gruppenknoten mit dem Namen zu erhalten.

Leider ist das AuthorityDAO bieten keine Methode, um alle Gruppenknoten zu bekommen, aber wenn man sich den Code der Implementierung org.alfresco.repo.security.authority.AuthorityDAOImpl ist es aussehen können Sie kopieren einfach den Code, es tut, ist es nicht sehr komplex ist.

Andere Tipps

Es gibt eine neue AuthorityService Methode kommt bald, dass geb dir die noderef für eine bestimmte Gruppe:

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

Es ist nicht in einer freigegebenen Version von Alfresco obwohl, so jetzt Sie getAuthorityNodeRefOrNull von einem AuthorityDAO aufrufen müssen werden wie Hugo vorgeschlagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top