2016-09-23 3 views
0

AEMの中にグループを作成するためのJavaプログラムを作成しました。そのうまく動作します。しかしグループと一緒に私はグループaboutMeプロパティを作成する必要があります。AEMのグループ記述の作成方法[About FieldまたはAboutMeプロパティについて]

マイコード:

ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null); 
     session = resourceResolver.adaptTo(Session.class); 
     UserManager userManager = ((JackrabbitSession) session).getUserManager(); 
    JackrabbitSession js = (JackrabbitSession) session; 
    Group group=null; 
    group = userManager.createGroup("TestGroup"); 
    session.save(); 

もaboutMeプロパティフィールドを追加する方法はありますか?

答えて

0

あなたはgroup.setProperty("jcr:description","your string")またはそれに関係なく任意のプロパティを行うことができます。 javadocをhere

更新

を参照してください

@Reference 
    private UserPropertiesService service; 

取得UserPropertiesオブジェクト(リソースがあなたのグループへのリソースのインスタンスである)を注入

com.adobe.granite.security.user

のためにあなたのプロジェクトのPOMに依存関係を追加 -

if (this.service != null) { 
     Authorizable authorizable = (Authorizable)resource.adaptTo(Authorizable.class); 
     UserProperties userProperties; 
     if (authorizable == null) 
     { 
      UserProperties userProperties = (UserProperties)resource.adaptTo(UserProperties.class); 
      if (userProperties != null) { 
      UserManager uMgr = (UserManager)resolver.adaptTo(UserManager.class); 
      authorizable = uMgr.getAuthorizable(userProperties.getAuthorizableID()); 
      } 

     } 
     else 
     { 
      Session session = ((Node)resource.adaptTo(Node.class)).getSession(); 
      UserPropertiesManager mgr = this.service.createUserPropertiesManager(session, resolver); 
      String propPath = request.getParameter("path"); 
      userProperties = mgr.getUserProperties(authorizable, propPath); 
     } 

UserPropertiesを取得したら、グループにaboutMeの情報を追加できます。さらに参考のため

は、thisとのJavadoc here

+0

記述手段[概要]フィールドを読みますかグループノードの説明ではありません。そのグループのプロフィール –

+0

@ハニンジャジー - 上記の私の更新を参照してください。それを行う長い道のり:) –

関連する問題