Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.2
-
Fix Version/s: 1.8.2-EE-GA_P01, 1.8.3
-
Component/s: ICE-Components
-
Labels:None
-
Environment:All
-
ICEsoft Forum Reference:
Description
The problem is, both Mojarra's, and our, code is wrong. Looking at the javadoc for Comparable, we see that:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html
For the mathematically inclined, the relation that defines the natural ordering on a given class C is:
{(x, y) such that x.compareTo((Object)y) <= 0}.
This means that, when x <= y, x.compareTo(y) <= 0. But if we look at UISeries.maximumSeverityAtLeastError(-), where it's trying to see if FacesMessage.SEVERITY_ERROR <= FacesContext.maximumSeverity, we're using >= 0 instead of <= 0.
FacesMessage.Severity maximumSeverity = facesContext.getMaximumSeverity();
return ( (maximumSeverity != null) && (FacesMessage.SEVERITY_ERROR.compareTo(maximumSeverity) >= 0) );
I've created a bug report with Mojarra, for their equivalent issue in UIData:
https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1589
Issue Links
- depends on
-
ICE-4667 UISeries.keepSaved performance
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion