[richfaces-issues] [JBoss JIRA] Commented: (RF-10170) Improve Converter finding if EL expression is semi-resolvable

Martin Kočí (JIRA) jira-events at lists.jboss.org
Fri Jan 14 12:59:49 EST 2011


    [ https://issues.jboss.org/browse/RF-10170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575694#comment-12575694 ] 

Martin Kočí commented on RF-10170:
----------------------------------

As I can remember, we have similiar problem in Trinidad renderkit. There was a long discussion about this problem and the result is that EL is a litte schizoid in way of handling expression evaluations:

ValueExpression.getValue() throws PropertyNotFoundException only if the last part of expression does not exist: #{bean.firstProperty.secondProperty} throws PNFE only if bean.firstProperty resolves to not-null and secondProperty is not present at resolved object. If bean.firstProperty resolves to null, it returns null

ValueExpression.getType() throws PNFE even if #{bean} exists, has property 'firstProperty', but this property value is null. 

But JavaDoc  for both methods says: "PropertyNotFoundException - if one of the property resolutions failed because a specified variable or property does not exist or is not readable."

It can also depend on EL implementation used: I used implementation from http://java.net/projects/uel/.

> Improve Converter finding if EL expression is semi-resolvable
> -------------------------------------------------------------
>
>                 Key: RF-10170
>                 URL: https://issues.jboss.org/browse/RF-10170
>             Project: RichFaces
>          Issue Type: Enhancement
>      Security Level: Public(Everyone can see) 
>          Components: compatibility
>    Affects Versions: Future_4.X
>         Environment: RichFaces 4 svn rev. 20933
>            Reporter: Martin Kočí
>            Assignee: Konstantin Mishin
>             Fix For: Future_4.X
>
>
> example (#{bean.propertyNull} resolves to null):
> <h:inputText value="#{bean.propertyNull.zeitangabe}" /> outputs a input field
> <r:calendar value="#{bean.propertyNull.zeitangabe}" /> throws value="#{bean.propertyNull.zeitangabe}": Target Unreachable, 'propertyNull' returned null
> Problem is in org.richfaces.component.util.SelectUtils.findConverter: method tries to locate a Converter even if informations for this are "uknown". 
> Simple solution can be:  find converter only for ValueExpression which leads to not null value, because if no value for "value" ValueExpression :), then no conversion getAsString is necessary (at least is is true if spec does not mandates conversion for null value).

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the richfaces-issues mailing list