--- old/test/javax/xml/jaxp/functional/javax/xml/transform/ptests/SAXTFactoryTest011.java 2014-12-31 11:40:11.569042455 -0800 +++ new/test/javax/xml/jaxp/functional/javax/xml/transform/ptests/SAXTFactoryTest011.java 2014-12-31 11:40:11.490042333 -0800 @@ -24,9 +24,6 @@ import java.io.File; import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -37,9 +34,8 @@ import static javax.xml.transform.ptests.TransformerTestConst.GOLDEN_DIR; import static javax.xml.transform.ptests.TransformerTestConst.XML_DIR; import javax.xml.transform.sax.SAXTransformerFactory; +import jaxp.library.JAXPFileBaseTest; import static jaxp.library.JAXPTestUtilities.compareWithGold; -import static jaxp.library.JAXPTestUtilities.failCleanup; -import static jaxp.library.JAXPTestUtilities.failUnexpected; import static org.testng.Assert.assertTrue; import org.testng.annotations.Test; import org.w3c.dom.Document; @@ -54,50 +50,46 @@ * Test XMLFilter parse InputSource along with customized ContentHandler by * using SAX parser as it's reader. */ -public class SAXTFactoryTest011 { +public class SAXTFactoryTest011 extends JAXPFileBaseTest { /** * Unit test for contentHandler setter/getter with parent. + * + * @throws SAXException If any parse errors occur. + * @throws IOException if the file exists but is a directory rather than + * a regular file, does not exist but cannot be created, or cannot + * be opened for any other reason. + * @throws TransformerConfigurationException If for some reason the + * TransformerHandler can not be created. + * @throws ParserConfigurationException if a DocumentBuilder cannot be + * created which satisfies the configuration requested. */ @Test - public void testcase01() { + public void testcase01() throws SAXException, ParserConfigurationException, + IOException, TransformerConfigurationException { String outputFile = CLASS_DIR + "saxtf011.out"; String goldFile = GOLDEN_DIR + "saxtf011GF.out"; String xsltFile = XML_DIR + "cities.xsl"; String xmlFile = XML_DIR + "cities.xml"; - - try { - // The transformer will use a SAX parser as it's reader. - XMLReader reader = XMLReaderFactory.createXMLReader(); - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - dbf.setNamespaceAware(true); - DocumentBuilder docBuilder = dbf.newDocumentBuilder(); - Document document = docBuilder.parse(new File(xsltFile)); - Node node = (Node)document; - DOMSource domSource= new DOMSource(node); - - SAXTransformerFactory saxTFactory - = (SAXTransformerFactory)TransformerFactory.newInstance(); - XMLFilter filter = saxTFactory.newXMLFilter(domSource); - - filter.setParent(reader); - filter.setContentHandler(new MyContentHandler(outputFile)); - - // Now, when you call transformer.parse, it will set itself as - // the content handler for the parser object (it's "parent"), and - // will then call the parse method on the parser. - filter.parse(new InputSource(xmlFile)); - assertTrue(compareWithGold(goldFile, outputFile)); - } catch (SAXException | IOException | TransformerConfigurationException - | ParserConfigurationException ex) { - failUnexpected(ex); - } finally { - try { - Path outputPath = Paths.get(outputFile); - if(Files.exists(outputPath)) - Files.delete(outputPath); - } catch (IOException ex) { - failCleanup(ex, outputFile); - } - } + // The transformer will use a SAX parser as it's reader. + XMLReader reader = XMLReaderFactory.createXMLReader(); + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setNamespaceAware(true); + DocumentBuilder docBuilder = dbf.newDocumentBuilder(); + Document document = docBuilder.parse(new File(xsltFile)); + Node node = (Node)document; + DOMSource domSource= new DOMSource(node); + + SAXTransformerFactory saxTFactory + = (SAXTransformerFactory)TransformerFactory.newInstance(); + XMLFilter filter = saxTFactory.newXMLFilter(domSource); + + filter.setParent(reader); + filter.setContentHandler(new MyContentHandler(outputFile)); + + // Now, when you call transformer.parse, it will set itself as + // the content handler for the parser object (it's "parent"), and + // will then call the parse method on the parser. + filter.parse(new InputSource(xmlFile)); + assertTrue(compareWithGold(goldFile, outputFile)); } }