Message order of FacesContext#getMessages is not added order in EAP 6

Solution Unverified - Updated -

Issue

The elements of the Iterator must be returned in the order in which they were added with calls to addMessage(java.lang.String, javax.faces.application.FacesMessage).

However, messages ordered by client Id, then added order. For example, when I added messages like 1 and display it via 2,3, the message order is 4.
Is it fit to the spec?


  1. String message = "A new user with id " + newUser.getId() + " has been created successfully";
    facesContext.addMessage("reg:username", new FacesMessage("1"));
    facesContext.addMessage("reg:firstName", new FacesMessage("2"));
    facesContext.addMessage("reg:lastName", new FacesMessage(message));
    facesContext.addMessage(null, new FacesMessage("3"));
    facesContext.addMessage("reg:username", new FacesMessage("4"));
    facesContext.addMessage("reg:firstName", new FacesMessage("5"));
    facesContext.addMessage("reg:lastName", new FacesMessage("6"));
    facesContext.addMessage(null, new FacesMessage("7"));
    facesContext.addMessage("reg:username", new FacesMessage("8"));
    facesContext.addMessage("reg:firstName", new FacesMessage("9"));
    facesContext.addMessage("reg:lastName", new FacesMessage("10"));
    

  2. public class JsfHelper {
      public List<FacesMessage> getMessages() {
        ArrayList<FacesMessage> ret = new ArrayList<FacesMessage>();
        Iterator<FacesMessage> it = FacesContext.getCurrentInstance().getMessages();
        while (it.hasNext()) {
          ret.add(it.next());
        }
        return ret;
      }
    }
    

  3. <ui:repeat var="item" value="#{jsfHelper.messages}">
     <p>
      <h:outputText value="#{item.detail}" />
     </p>
    </ui:repeat>
    

  4.     1
        4
        8
        2
        5
        9
        A new user with id 1 has been created successfully
        6
        10
        3
        7
    

Environment

Red Hat JBoss Enterprise Application Platform (EAP) 6.4.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.