RFR: 8255918: XMLStreamFilterImpl constructor consumes XMLStreamException [v4]
Joe Wang
joehw at openjdk.java.net
Wed Dec 9 21:42:37 UTC 2020
On Wed, 9 Dec 2020 11:49:51 GMT, Michael Edgar <github.com+20868526+MikeEdgar at openjdk.org> wrote:
>> Allow `XMLStreamException` to be thrown to the application when a filtered `XMLStreamReader` encounters an `XMLStreamException` advancing the wrapped `XMLStreamReader`.
>>
>> Note, this PR includes a method signature change (constructor of `com.sun.org.apache.xerces.internal.impl.XMLStreamFilterImpl`).
>
> Michael Edgar has updated the pull request incrementally with one additional commit since the last revision:
>
> Additional test class clean-up
Looks good! Some minor comments below.
test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamFilterTest/XMLStreamReaderFilterTest.java line 60:
> 58: * {@code XMLStreamException} thrown when the underlying XML is not valid and
> 59: * the filter condition requires that the original reader is advanced past the
> 60: * invalid data.
This test verifies an assertion made by the javadoc for the createFilteredReader method. It would be good to made the first sentence a summary of the test. Something like:
Verifies that XMLStreamException is thrown as specified by the {@code XMLInputFactory::createFilteredReader} method when an error is encountered. This test illustrates the scenario by creating a reader with a filter that requires the original reader to advance past the invalid element in the underlying XML.
test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamFilterTest/XMLStreamReaderFilterTest.java line 64:
> 62: */
> 63: @Test
> 64: public void testXMLStreamReaderExceptionThrownByConstructor() throws Exception {
Method name is a bit long. Since the class is dedicated to testing StreamFilter, its test cases may just indicate their particular cases. I would think testCreateFilteredReader is sufficient.
test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamFilterTest/XMLStreamReaderFilterTest.java line 65:
> 63: @Test
> 64: public void testXMLStreamReaderExceptionThrownByConstructor() throws Exception {
> 65: StreamFilter filter = r -> r.getEventType() == XMLStreamConstants.START_ELEMENT && r.getLocalName().equals("element3");
Keeping the length to under 100 characters is still a good practice even with wide screens, 80 - 100 would be good as it's easier to read with a side-by-side view.
-------------
Marked as reviewed by joehw (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/1209
More information about the core-libs-dev
mailing list