2011-05-09 1 views
1

J'essaie d'utiliser la fonctionnalité de commentaires intégrés dans une application de portlet JSF 2.0/ICEfaces (l'application fonctionne déjà correctement). Malheureusement, il semble qu'il n'y ait pas encore de documentation détaillée sur les commentaires, alors j'espère que quelqu'un pourra me donner quelques conseils sur la façon de créer et de récupérer des commentaires qui devraient être liés à un seul entier. Pour être plus clair ... Je voudrais (re) utiliser la fonctionnalité du portlet "Commentaires de page" dans mon portlet personnalisé, mais uniquement le service sous-jacent, pas la partie IU.Comment utiliser le "cadre de commentaires" de Liferay?

J'ai déjà compris que MBMessageServiceUtil.addDiscussionMessage (...) est utilisé par ce portlet via la classe EditDiscussionAction. Malheureusement, je n'ai aucune idée de ce que je devrais fournir en tant que valeurs de paramètres. Quelqu'un pourrait-il nous éclairer là-dessus? Le javadoc est un peu ... ;-) court

public static MBMessage addDiscussionMessage(long groupId, 
              String className, 
              long classPK, 
              String permissionClassName, 
              long permissionClassPK, 
              long threadId, 
              long parentMessageId, 
              String subject, 
              String body, 
              ServiceContext serviceContext) 

Cheers, tamm0r

Répondre

5

Cela va être long, mais voici le jeu par le jeu.

  1. À votre avis, vous allez récupérer l'objet MBMessageDisplay.
MBMessageDisplay messageDisplay = 
     MBMessageLocalServiceUtil.getDiscussionMessageDisplay(
      themeDisplay.getUserId(), themeDisplay.getScopeGroupId(), 
      MyModelEntry.class.getName(), myModelEntry.getTasksEntryId(), 
      WorkflowConstants.STATUS_APPROVED); 
  1. MBMessageDisplay contiendra des données vitales comme le threadId et parentMessageId, alors assurez-vous d'afficher ces données aussi bien.

  2. Dans le « contrôleur » où vous faites l'appel mentionné dans votre message saisir le ServiceContext de la demande comme ceci:

    ServiceContext serviceContext = ServiceContextFactory.getInstance(
        MyModelEntry.class.getName(), actionRequest); 
    
  3. Vous avez maintenant tous les paramètres requis.

    long groupId - Group (Organization or Community usually) you're writing the comment in. 
    String className - MyModelEntry.class.getName() 
    long classPK - MyModelEntry's Primary Key or ID 
    String permissionClassName - Model where the permission checker should look, typically the same as className 
    long permissionClassPK - Its Primary Key or Id 
    long threadId - From MBMessageDisplay. 
    long parentMessageId - From MBMessageDisplay. 
    String subject - the subject 
    String body - the body 
    ServiceContext serviceContext - from Request in step 3. 
    

Hope this helps!

Questions connexes