[
https://issues.apache.org/jira/browse/JXPATH-80?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489895
]
Matt Benson commented on JXPATH-80:
-----------------------------------
Hmm, I had missed the isCollection() method. The meat of your change--i.e. the
part needed to make the testcase pass--is at the end of getLength():
- return ValueUtils.getLength(getBaseValue());
+ return isCollection() ? ValueUtils.getLength(getBaseValue()) : 1;
Because isCollection() already returns false when the base value is null, I
would feel okay about this change. However, it breaks another testcase that
tests whether the expression [1] returns a value relative to null. The
proposed change makes null have a size of 1, when the existing test expects no
result due to null having a size of 0. This still requires research into XPATH
dogma.
> boolean conversion of javabean getter values returning NULL fails
> -----------------------------------------------------------------
>
> Key: JXPATH-80
> URL: https://issues.apache.org/jira/browse/JXPATH-80
> Project: Commons JXPath
> Issue Type: Bug
> Affects Versions: 1.2 Final
> Environment: java.runtime.name=Java(TM) SE Runtime Environment
> java.runtime.version=1.6.0-b105
> java.specification.name=Java Platform API Specification
> java.specification.vendor=Sun Microsystems Inc.
> java.vm.info=mixed mode
> java.vm.name=Java HotSpot(TM) Client VM
> Reporter: Nico Max
> Priority: Minor
> Attachments: patch.patch, patch.patch, test.java
>
>
> According to the JXPath User Guide a Javabean Getter returning NULL,
> regadless of the type, will be converted bo Boolean FALSE. But trying to
> build a boolean expression from this fails as the attached testcase shows.
> It seems that the type the bean getter returns matters, as a NULL String for
> example works as expected.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]