actually the message property for FeedbackMessage is of type 
java.io.Serializable, not java.lang.String. So you can can add your own custom 
error message class instead of a plain string.

e.g. inside your page

  error(new MessageWithSortCriteria("foobar", 4711))

with 

public class MessageWithSortCriteria implements Serializable
{
  public MessageWithSortCriteria(String message, int sortOrder)
  {
  }

 // ...
}

this useless sample is just to give you an impression :-)

then use a message sorter as Martin said that uses the attribute if present...

only thing you have to care about is that toString() is overridden and returns 
a user-readable string for rendering messages to the screen.

Am 23.08.2011 um 20:39 schrieb Christian Huber:

> Yes, as i wrote this would be the way to impose a custom sorting on messages 
> but at the moment the FilterMessage class does not provide dedicated fields 
> that could be used for a sorting metric. So i was wondering if there are 
> plans to provide such a thing or if we will be bound to incooperate this kind 
> of information into the messages themselves.
> 
> The Sanity Resort <http://sanityresort.blogspot.com/>
> 
> Am 23.08.2011 19:21, schrieb Martin Grigorov:
>> I think 
>> org.apache.wicket.markup.html.panel.FeedbackPanel.setSortingComparator(Comparator<FeedbackMessage>)
>> is for that
>> 
>> On Tue, Aug 23, 2011 at 8:10 PM, Christian Huber<[email protected]>  
>> wrote:
>>> Hi,
>>> 
>>> I was wondering if there is a way to have feedback messages show up in
>>> certain order. Like, when you have multiple messages for the user you might
>>> want to have the most general one (e.g. success/failure) at the top and
>>> other detail messages shown below.
>>> 
>>> From what I have seen so far it looks like this is not possible (at least
>>> not with 1.4.18)
>>> 
>>> As a default messages are rendered in the order they have been provided, so
>>> usually you can just collect the messages you want to display and then add
>>> them at the end of your request in the desired order. But there can be
>>> circumstances where this is not feasible or at least pretty anoying.
>>> 
>>> I have seen that a FeedbackPanel can be given a comparator to sort the
>>> messages but the feedback messages only provide a level field to distinguish
>>> between info, debug, errror etc. To impose a proper priority order one would
>>> need a metric orthogonal to message levels preferrably represented by a
>>> primitive (double would give the biggest freedom here).
>>> 
>>> The Component class could be extended to provide additional methods like
>>> Component#info(String message, double priority) and messages which do not
>>> have a priority get assigned a default value specified in the Application
>>> class (could be 0 in the standard implementation).
>>> 
>>> Would this be a useful/sensible addition? Is such a thing planned for future
>>> releases or maybe already available and I just did not see it?
>>> 
>>> One workaround/hack to implement this with the current version could be to
>>> prefix all messages with a numeric string and use a Comparator to parse this
>>> string and sort accordingly.
>>> 
>>> Cheers, Chris
>>> 
>>> --
>>> The Sanity Resort<http://sanityresort.blogspot.com/>
>>> 
>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to