in core/src/main/java/org/apache/myfaces/extensions/validator/core/storage/DefaultFacesMessageStorage.java [93:146]
protected Comparator<FacesMessageHolder> getFacesMessageComparator()
{
return new Comparator<FacesMessageHolder>() {
public int compare(FacesMessageHolder holder1, FacesMessageHolder holder2)
{
if(holder1.getFacesMessage().getSeverity() == null)
{
return 1;
}
if(isSameSeverity(holder1, holder2))
{
return compareMessageText(holder1.getFacesMessage(), holder2.getFacesMessage());
}
if(holder1.getFacesMessage().getSeverity().getOrdinal() >
holder2.getFacesMessage().getSeverity().getOrdinal())
{
return -1;
}
else
{
return 1;
}
}
private int compareMessageText(FacesMessage facesMessage1, FacesMessage facesMessage2)
{
String text1 = facesMessage1.getDetail();
String text2 = facesMessage2.getDetail();
if(text1 == null)
{
text1 = facesMessage1.getSummary();
}
if(text2 == null)
{
text2 = facesMessage2.getSummary();
}
if(text1 == null)
{
return 1;
}
if(text2 == null)
{
return -1;
}
return text1.compareToIgnoreCase(text2);
}
};
}