[
https://issues.apache.org/jira/browse/MYFACES-1802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simon Kitching resolved MYFACES-1802.
-------------------------------------
Resolution: Fixed
Fix Version/s: 1.1.6-SNAPSHOT
Ok, fixed. However I have not extensively tested it, as this requires
triggering an exception to really try it out.
It wasn't such a big patch as I first thought; as Bernhard noted most of those
getCause() calls were actually to FacesException or subclasses of it. In the
end only two classes needed to be fixed.
Bernhard, regarding just checking java.version, I presume you mean:
if (java.version is 1.4 or later)
return ex.getCause();
else
return null;
This relies on the jvm not trying to resolve the linkage for a method call
until the call is actually invoked. This does seem to be the way that Sun's jvm
works but I've never seen anything in the java specifications that say that
this is actually required, so I'd rather use reflection.
> FacesException and nested exceptions
> ------------------------------------
>
> Key: MYFACES-1802
> URL: https://issues.apache.org/jira/browse/MYFACES-1802
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-127
> Affects Versions: 1.1.5
> Reporter: Bernhard Huemer
> Fix For: 1.1.6-SNAPSHOT
>
> Attachments: MyFaces-1802.patch
>
>
> The JSF 1.1 specification requires any implementation to support Java 1.3 and
> that's why the FacesException isn't allowed to utilize builtin exception
> chaining mechanisms (i.e. initCause(), etc..) as they have been introduced in
> Java 1.4. However, the FacesException retains it's cause by delegating to the
> parent's constructor (for example, "super(cause);" or "super(message,
> cause);").
> Although this bug is rather easy to fix, I've assigned the priority level
> 'Major' as it breaks the specification.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.