public boolean testCase2()

in java/src/org/apache/qetest/trax/sax/TransformerHandlerAPITest.java [257:357]


    public boolean testCase2()
    {
        reporter.testCaseInit("Basic functionality of TransformerHandler");
        // Provide local copies of URLized filenames, so that we can
        //  later run tests with either Strings or URLs
        String xslURI = QetestUtils.filenameToURL(testFileInfo.inputName);
        String xmlURI = QetestUtils.filenameToURL(testFileInfo.xmlName);
        String xslImpInclURI = QetestUtils.filenameToURL(impInclFileInfo.inputName);
        String xmlImpInclURI = QetestUtils.filenameToURL(impInclFileInfo.xmlName);

        TransformerFactory factory = null;
        SAXTransformerFactory saxFactory = null;
        TransformerHandler transformerHandler = null;
        Transformer transformer = null;
        try
        {
            factory = TransformerFactory.newInstance();
            factory.setErrorListener(new DefaultErrorHandler());
            saxFactory = (SAXTransformerFactory)factory;

            // Validate an identity transformerHandler is valid 
            //  and performs as an identity stylesheet
            transformerHandler = saxFactory.newTransformerHandler();
            transformer = transformerHandler.getTransformer();
            transformer.setErrorListener(new DefaultErrorHandler());
            reporter.check((transformer != null), true, "identity newTransformerHandler is non-null");
            transformer.transform(new StreamSource(xmlURI), new StreamResult(outNames.nextName()));
            int res = fileChecker.check(reporter, 
                              new File(outNames.currentName()), 
                              new File(testFileInfo.xmlName), 
                              "identity newTransformerHandler transform into: " + outNames.currentName());
            if (res == reporter.FAIL_RESULT)
                reporter.logInfoMsg("identity newTransformerHandler transform failure reason:" + fileChecker.getExtendedInfo());

        }
        catch (Throwable t)
        {
            reporter.checkFail("Problem TransformerHandler(1)");
            reporter.logThrowable(reporter.ERRORMSG, t,"Problem TransformerHandler(1)");
        }

        try
        {
            factory = TransformerFactory.newInstance();
            factory.setErrorListener(new DefaultErrorHandler());
            saxFactory = (SAXTransformerFactory)factory;

            // Validate newTransformerHandler(Source) works
            Source xslSource = new StreamSource(xslURI);
            transformerHandler = saxFactory.newTransformerHandler(xslSource);
            transformer = transformerHandler.getTransformer();
            transformer.setErrorListener(new DefaultErrorHandler());
            reporter.check((transformer != null), true, "newTransformerHandler(Source) is non-null");
            transformer.transform(new StreamSource(xmlURI), new StreamResult(outNames.nextName()));
            int res = fileChecker.check(reporter, 
                              new File(outNames.currentName()), 
                              new File(testFileInfo.goldName), 
                              "newTransformerHandler(Source) transform into: " + outNames.currentName());
            if (res == reporter.FAIL_RESULT)
                reporter.logInfoMsg("newTransformerHandler(Source) transform failure reason:" + fileChecker.getExtendedInfo());

        }
        catch (Throwable t)
        {
            reporter.checkFail("Problem TransformerHandler(2)");
            reporter.logThrowable(reporter.ERRORMSG, t,"Problem TransformerHandler(2)");
        }

        try
        {
            factory = TransformerFactory.newInstance();
            factory.setErrorListener(new DefaultErrorHandler());
            saxFactory = (SAXTransformerFactory)factory;

            // Validate newTransformerHandler(Templates) works
            Source xslSource = new StreamSource(xslURI);
            Templates otherTemplates = factory.newTemplates(xslSource);
            transformerHandler = saxFactory.newTransformerHandler(otherTemplates);
            transformer = transformerHandler.getTransformer();
            transformer.setErrorListener(new DefaultErrorHandler());
            reporter.check((transformer != null), true, "newTransformerHandler(Templates) is non-null");
            transformer.transform(new StreamSource(xmlURI), new StreamResult(outNames.nextName()));
            int res = fileChecker.check(reporter, 
                              new File(outNames.currentName()), 
                              new File(testFileInfo.goldName), 
                              "newTransformerHandler(Templates) transform into: " + outNames.currentName());
            if (res == reporter.FAIL_RESULT)
                reporter.logInfoMsg("newTransformerHandler(Templates) transform failure reason:" + fileChecker.getExtendedInfo());

        }
        catch (Throwable t)
        {
            reporter.checkFail("Problem TransformerHandler(3)");
            reporter.logThrowable(reporter.ERRORMSG, t,"Problem TransformerHandler(3)");
        }
        reporter.logTraceMsg("//@todo validate newTransformerHandler.setResult functionality");
        reporter.logTraceMsg("//@todo validate newTransformerHandler.set/getSystemId functionality");

        reporter.testCaseClose();
        return true;
    }