كيفية الحصول على عقدة المجموعة في WebScript المدعومة من Java's

StackOverflow https://stackoverflow.com/questions/2075979

  •  21-09-2019
  •  | 
  •  

سؤال

مع 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);
}
هل كانت مفيدة؟

المحلول

يمكنك استعمال ال org.alfresco.repo.security.authority.AuthorityDAO getAuthorityNodeRefOrNull طريقة للحصول على عقدة المجموعة بالاسم.

لسوء الحظ ، لا يوفر Authordao طريقة للحصول على جميع العقدة الجماعية ، ولكن إذا نظرت إلى رمز التنفيذ الخاص به ، فستتمكن بسهولة من نسخ الكود الذي يقوم به ، انها ليست معقدة للغاية.

نصائح أخرى

هناك طريقة جديدة للسلطة ستمنحك قريبًا 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 ، لذا ستحتاج الآن إلى استدعاء GetAuthorityNodereRefornull من Aulectiondao كما اقترح Hugo.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top