Как получить групповой узел в веб-скрипте Alfresco 3.1 с поддержкой Java - PullRequest
0 голосов
/ 16 января 2010

С помощью Javascript Webscript я могу получить групповой узел со следующим кодом:

var group = People.getGroup(groupname);

Каким будет Java-поддерживаемый эквивалент этого кода?

Пока что я могу получить только набор всех имен групп, но я бы хотел иметь возможность перебирать набор и получать фактический узел группы.

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

Ответы [ 2 ]

0 голосов
/ 01 апреля 2011

Скоро появится новый метод AuthorityService, который даст вам noderef для данной группы:

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

Это не в выпущенной версии Alfresco, поэтому сейчас вам нужно вызвать getAuthorityNodeRefOrNull из AuthorityDAO, как предложил Хьюго.

0 голосов
/ 16 января 2010

Вы можете использовать метод org.alfresco.repo.security.authority.AuthorityDAO getAuthorityNodeRefOrNull, чтобы получить групповой узел по имени.

К сожалению, AuthorityDAO не предоставляет метод для получения всех узлов группы, но если вы посмотрите на код его реализации org.alfresco.repo.security.authority.AuthorityDAOImpl, вы сможете легко скопировать код, который делает это, это не очень сложно.

...