RFR (JAXP): 8054196: XPath: support any type

Lance Andersen lance.andersen at oracle.com
Fri Jan 23 19:04:50 UTC 2015


Looks good Joe, ship it :-)


On Jan 22, 2015, at 6:04 PM, huizhe wang <huizhe.wang at oracle.com> wrote:

> Thanks Lance.
> 
> On 1/22/2015 9:11 AM, Lance Andersen wrote:
>> Hi Joe,
>> 
>> I just looked at the changes below,
>> 
>> I looked at the changes below… see minor comments
>> On Jan 22, 2015, at 12:18 AM, huizhe wang <huizhe.wang at oracle.com> wrote:
>> 
>>> 
>>> On 1/21/2015 5:09 PM, Lance Andersen wrote:
>>>> Hi Joe,
>>>> 
>>>> I think this is OK (as we discussed offline), one minor comment/suggestion below
>>>> 
>>>> Best
>>>> Lance
>>>> On Jan 21, 2015, at 7:45 PM, huizhe wang <huizhe.wang at oracle.com> wrote:
>>>> 
>>>>> Thanks Lance for pointing me to Joe's -Xlint:all email thread. I re-compiled with -Xlint:all and noticed 7 warnings in this webrev. I've fixed them with a new webrev:
>>>>> New webrev: http://cr.openjdk.java.net/~joehw/jdk9/8054196/webrev01/
>>>>> 
>>>>> Below are the details.
>>>>> Refer to the previous webrev: http://cr.openjdk.java.net/~joehw/jdk9/8054196/webrev/
>>>>> 
>>>>> 1. XPathExpressionImpl.java:143 and XPathImpl.java:213
>>>>> 
>>>>>   These warnings are fixed by having the getXPathResult method in XPathImpUtil returning the type instead
>>>>> 
>>>>> 2. XPathExpressionImpl.java:165: warning: [rawtypes] found raw type: XPathEvaluationResult
>>>>>    similarly, XPathImpl.java:222 and XPathImpl.java:235
>>>>> 
>>>>>    Changed to return XPathEvaluationResult<?>
>>>>> 
>>>>> 3. XPath.java:359, XPath.java:454, XPathExpression.java:252 and XPathExpression.java:344
>>>>>   These are warnings from the default methods, casting the result of existing (old) methods. Use type.cast instead.
>>>>> 
>>>>> 4. XPathNodesImpl.java:97: warning: [cast] redundant cast to Node
>>>>>    Removed the cast
>>>>> 
>>>>> 5. XPathResultImpl.java:160: warning: [fallthrough] possible fall-through into case
>>>>>    Added break;
>>>> 
>>>> I would add a comment or  probably use @SuppressWarnings("fallthrough") instead
>>> 
>>> Thanks!  As I look at adding a comment, I realized I needed to be explicit on the numeric types as the spec stated. I've replaced the abstract Number type in XPathImplUtil::isSupportedClassType with Double/Integer/Long, and also in XPathResultImpl::getValue.
>> 
>> Can we document why XPathImplUti.getXPathResult() should return null, same for XPathResultImpl.getValue()
> 
> Done.
> 
> While I was there, I also removed the 'type' parameter from the constructor of XPathNodesImpl and then XPathResultImpl::classToType method as it was only used to for constructing the XPathNodes object. 
>>> 
>>> I also added a test case for Long in XPathAnyTypeTest::test05, and a new test test06 to verify that the numeric types other than the supported can not be used as the type.
>> This looks good
> 
> http://cr.openjdk.java.net/~joehw/jdk9/8054196/webrev02/
> 
> Thanks,
> Joe
> 
>>> 
>>> http://cr.openjdk.java.net/~joehw/jdk9/8054196/webrev01/
>>> 
>>> Thanks,
>>> Joe
>>> 
>>>>> 
>>>>> Thanks,
>>>>> Joe
>>>>> 
>>>>> On 1/20/2015 10:51 AM, huizhe wang wrote:
>>>>>> 
>>>>>> On 1/20/2015 7:02 AM, Lance Andersen wrote:
>>>>>>> Hi Joe,
>>>>>>> 
>>>>>>> I think the changes look fine.
>>>>>> 
>>>>>> Thanks.
>>>>>>> 
>>>>>>> I am wondering if we have any suggested standard for the use of @Override  as I see it is inconsistent in its usage with methods implementing an interface.  Is this something we should add to existing code?  I don't see Netbeans asking for it to be done except in the case of an overridden method?
>>>>>> 
>>>>>> NetBeans does make a suggestion such as: "Add @Override Annotation".  I think you're right about avoiding comment duplication. In case of existing "evaluate" methods, I previously updated* the javadocs for both the interface and impl. It makes sense to take advantage of the "automatically inherit" feature <http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javadoc.html#inheritingcomments> of the javadoc tool to avoid the duplication.
>>>>>> 
>>>>>> *Note that the update was only on format and styles, and some re-wording, no changes on definition or semantics.
>>>>>> 
>>>>>>> 
>>>>>>> Thank you for the extra clean up Joe
>>>>>> 
>>>>>> Thank you, now it looks better and cleaner.
>>>>>> 
>>>>>> Best,
>>>>>> Joe
>>>>>> 
>>>>>>> 
>>>>>>> Best
>>>>>>> Lance
>>>>>>> On Jan 16, 2015, at 9:33 PM, huizhe wang <huizhe.wang at oracle.com <mailto:huizhe.wang at oracle.com>> wrote:
>>>>>>> 
>>>>>>>> 
>>>>>>>> On 1/16/2015 1:29 PM, Lance Andersen wrote:
>>>>>>>>> Hi Joe,
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Overall it is OK, a few minor comments
>>>>>>>>> 
>>>>>>>>> -  Is there a reason that XPathExpressionImpl  is no longer public and XPathImpl is public?
>>>>>>>> 
>>>>>>>> Ok, I'll keep both public, may be useful in the future.
>>>>>>>> 
>>>>>>>>> - I think you can leverage {@inheritdoc} in your impl classes to avoid comment duplication possibly?
>>>>>>>> 
>>>>>>>> Looks like javadoc "Automatically inherit comment ". So @Override is good enough. I've removed the javadocs for methods that override, including the existing methods. It's good to avoid the duplication, and potential copy n paste errors.
>>>>>>>> 
>>>>>>>>> - please remember to make the copyright year 2015
>>>>>>>> 
>>>>>>>> Done.
>>>>>>>> 
>>>>>>>>> - XPathTestBase, can the static block be moved to a @BeforeClass
>>>>>>>> 
>>>>>>>> Moved to within the Dataprovider.
>>>>>>>> 
>>>>>>>>> - XPathNodes, should that have an @since 1.9?
>>>>>>>> 
>>>>>>>> Fixed.
>>>>>>>> 
>>>>>>>>> - Given you are not including @param, etc for your test comments, you might want to consider /* */ vs /** */ style comments.
>>>>>>>> 
>>>>>>>> Looks like s/\/**/\/* worked the trick.
>>>>>>>> 
>>>>>>>>> That is consider if you really want doc comments (really a style choice but some IDEs will issue a warning for missing tags
>>>>>>>> 
>>>>>>>> Yeh, it's good to turn off the warning "light" :-)
>>>>>>>> 
>>>>>>>> http://cr.openjdk.java.net/~joehw/jdk9/8054196/webrev/
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> Joe
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> HTH
>>>>>>>>> 
>>>>>>>>> Best,
>>>>>>>>> Lance
>>>>>>>>> On Jan 16, 2015, at 2:51 PM, huizhe wang <huizhe.wang at oracle.com <mailto:huizhe.wang at oracle.com>> wrote:
>>>>>>>>> 
>>>>>>>>>> Hi all,
>>>>>>>>>> 
>>>>>>>>>> Could you review the change?
>>>>>>>>>> 
>>>>>>>>>> Thanks,
>>>>>>>>>> Joe
>>>>>>>>>> 
>>>>>>>>>> On 12/18/2014 1:24 PM, huizhe wang wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>> 
>>>>>>>>>>> This is to add support for any type and improvement with new features reflected in the new evaluateExpression methods, XPathEvaluationResult and XPathNodes.
>>>>>>>>>>> 
>>>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8054196
>>>>>>>>>>> http://cr.openjdk.java.net/~joehw/jdk9/8054196/webrev/
>>>>>>>>>>> 
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Joe
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> <Mail Attachment.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif>
>>>>>>>>> <http://oracle.com/us/design/oracle-email-sig-198324.gif><http://oracle.com/us/design/oracle-email-sig-198324.gif> 
>>>>>>>>> <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
>>>>>>>>> Oracle Java Engineering
>>>>>>>>> 1 Network Drive
>>>>>>>>> Burlington, MA 01803
>>>>>>>>> Lance.Andersen at oracle.com <mailto:Lance.Andersen at oracle.com>
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> <http://oracle.com/us/design/oracle-email-sig-198324.gif>
>>>>>>> <http://oracle.com/us/design/oracle-email-sig-198324.gif><http://oracle.com/us/design/oracle-email-sig-198324.gif> 
>>>>>>> <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
>>>>>>> Oracle Java Engineering
>>>>>>> 1 Network Drive
>>>>>>> Burlington, MA 01803
>>>>>>> Lance.Andersen at oracle.com <mailto:Lance.Andersen at oracle.com>
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> <Mail Attachment.gif>
>>>> 
>>>> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
>>>> Oracle Java Engineering 
>>>> 1 Network Drive 
>>>> Burlington, MA 01803
>>>> Lance.Andersen at oracle.com
>>>> 
>>>> 
>>>> 
>>> 
>> 
>> <Mail Attachment.gif>
>> 
>> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
>> Oracle Java Engineering 
>> 1 Network Drive 
>> Burlington, MA 01803
>> Lance.Andersen at oracle.com
>> 
>> 
>> 
> 



Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
Lance.Andersen at oracle.com






More information about the core-libs-dev mailing list