[seam-issues] [JBoss JIRA] (SEAMINTL-70) Document usage of BundleTemplateMessage/TemplateMessage

Gerald Turner (Created) (JIRA) jira-events at lists.jboss.org
Wed Oct 5 19:29:15 EDT 2011


Document usage of BundleTemplateMessage/TemplateMessage
-------------------------------------------------------

                 Key: SEAMINTL-70
                 URL: https://issues.jboss.org/browse/SEAMINTL-70
             Project: Seam International
          Issue Type: Feature Request
          Components: Messages
    Affects Versions: 3.1.0.Beta3
            Reporter: Gerald Turner
            Assignee: Ken Finnigan
            Priority: Optional


As a user, the current documentation is sufficient for severity+text messages, however on closer inspection of the Message class, I see that detail and targets properties are available, much like FacesMessage.

I dug around the seam-international source and experimented with a bean having fields/method like the following:

  @Inject
  private Messages messages;

  @Inject
  private transient TemplateMessage message;

  public void doSometing() {
    messages.add(message.level(Level.WARN).text("Text {0}, {1}, {2}").textParams('a', 'b', 'c').detail("Detail {0}, {1}, {2}").detailParams(1, 2, 3).targets("message").build());

    messages.add(message.level(Level.FATAL).text("Fatality!").targets("message").build());
  }

This works.  A few caveats:

* TemplateMessage field has to be marked transient, otherwise get WELD error during deployment about Serializable bean having non-Serializable field.

* Make sure to call add(Message) signature (invoke build()) instead of add(MessageBuilder), otherwise only the most recent message is added.

* doSomething method is not reentrant/thread-safe because of the builder.

I'd prefer to use Messages instead of the builders, perhaps have a methods like info(String text, String details, String targets, Object... args), however that gets ugly with the varargs, having to cast Object[], etc.  Perhaps I should stick with FacesMessages.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list