husted 2004/04/24 19:58:43 Modified: src/share/org/apache/struts/action ActionMessages.java Log: Apply #27992 "FIFO ordering in ActionMessages" submitted by Haroon Rafique. Revision Changes Path 1.19 +44 -7 jakarta-struts/src/share/org/apache/struts/action/ActionMessages.java Index: ActionMessages.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionMessages.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- ActionMessages.java 14 Mar 2004 06:23:42 -0000 1.18 +++ ActionMessages.java 25 Apr 2004 02:58:43 -0000 1.19 @@ -140,7 +140,7 @@ if (item == null) { list = new ArrayList(); - item = new ActionMessageItem(list, iCount++); + item = new ActionMessageItem(list, iCount++, property); messages.put(property, item); } else { @@ -290,8 +290,28 @@ */ public Iterator properties() { - return this.messages.keySet().iterator(); + if (messages.isEmpty()) { + return Collections.EMPTY_LIST.iterator(); + } + + ArrayList results = new ArrayList(); + ArrayList actionItems = new ArrayList(); + for (Iterator i = messages.values().iterator(); i.hasNext();) { + actionItems.add(i.next()); + } + + // Sort ActionMessageItems based on the initial order the + // property/key was added to ActionMessages. + Collections.sort(actionItems, actionItemComparator); + + for (Iterator i = actionItems.iterator(); i.hasNext();) { + ActionMessageItem ami = (ActionMessageItem) i.next(); + results.add(ami.getProperty()); + } + + return results.iterator(); + } @@ -357,9 +377,16 @@ protected int iOrder = 0; - public ActionMessageItem(List list, int iOrder) { + /** + * <p>The property associated with <code>ActionMessage</code>.</p> + */ + protected String property = null; + + + public ActionMessageItem(List list, int iOrder, String property) { this.list = list; this.iOrder = iOrder; + this.property = property; } @@ -380,6 +407,16 @@ public void setOrder(int iOrder) { this.iOrder = iOrder; + } + + + public String getProperty() { + return property; + } + + + public void setProperty(String property) { + this.property = property; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]