You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by cj...@apache.org on 2010/01/25 20:42:58 UTC

svn commit: r902957 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java

Author: cjhoward
Date: Mon Jan 25 19:42:58 2010
New Revision: 902957

URL: http://svn.apache.org/viewvc?rev=902957&view=rev
Log:
MYFACES-2508 - getMessages()/getMessageList() did not return messages in the right order.

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java?rev=902957&r1=902956&r2=902957&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java Mon Jan 25 19:42:58 2010
@@ -66,6 +66,7 @@
     // ~ Instance fields ----------------------------------------------------------------------------
 
     private Map<String, List<FacesMessage>> _messages = null;
+    private List<FacesMessage> _orderedMessages = null;
     private Application _application;
     private PhaseId _currentPhaseId;
     private ExternalContext _externalContext;
@@ -149,13 +150,7 @@
             return Collections.unmodifiableList(Collections.<FacesMessage>emptyList());
         }
         
-        List<FacesMessage> lst = new ArrayList<FacesMessage>();
-        for(List<FacesMessage> curLst : _messages.values())
-        {
-            lst.addAll(curLst);       
-        }
-        
-        return Collections.unmodifiableList(lst);
+        return Collections.unmodifiableList(_orderedMessages);
     }
 
     @Override
@@ -180,13 +175,8 @@
         {
             return NullIterator.instance();
         }
-
-        List<FacesMessage> lst = new ArrayList<FacesMessage>();
-        for(List<FacesMessage> curLst : _messages.values())
-        {
-            lst.addAll(curLst);       
-        }
-        return lst.iterator();
+        
+        return _orderedMessages.iterator();
     }
 
     @Override
@@ -367,6 +357,7 @@
         if (_messages == null)
         {
             _messages = new HashMap<String, List<FacesMessage>>();
+            _orderedMessages = new ArrayList<FacesMessage>();
         }
         
         List<FacesMessage> lst = _messages.get(clientId); 
@@ -377,6 +368,7 @@
         }
         
         lst.add(message);
+        _orderedMessages.add (message);
         
         FacesMessage.Severity serSeverity = message.getSeverity();
         if (serSeverity != null)