org.apache.tools.ant.taskdefs.optional.junit

Class AggregateTransformer

  • java.lang.Object
    • org.apache.tools.ant.taskdefs.optional.junit.AggregateTransformer


  • public class AggregateTransformer
    extends java.lang.Object
    Transform a JUnit xml report. The default transformation generates an html report in either framed or non-framed style. The non-framed style is convenient to have a concise report via mail, the framed report is much more convenient if you want to browse into different packages or testcases since it is a Javadoc like report.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class and Description
      static class  AggregateTransformer.Format
      defines acceptable formats.
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      protected static javax.xml.parsers.DocumentBuilderFactory dbfactory
      XML Parser factory accessible to subclasses
      protected org.w3c.dom.Document document
      the xml document to process
      protected java.lang.String format
      the format to use for the report.
      static java.lang.String FRAMES
      name of the frames format.
      static java.lang.String NOFRAMES
      name of the no frames format.
      protected java.io.File styleDir
      the style directory.
      protected Task task
      Task
      protected java.io.File toDir
      the destination directory, this is the root from where html should be generated
    • Constructor Summary

      Constructors 
      Constructor and Description
      AggregateTransformer(Task task)
      constructor creating the transformer from the junitreport task.
    • Field Detail

      • FRAMES

        public static final java.lang.String FRAMES
        name of the frames format.
        See Also:
        Constant Field Values
      • NOFRAMES

        public static final java.lang.String NOFRAMES
        name of the no frames format.
        See Also:
        Constant Field Values
      • task

        protected Task task
        Task
      • document

        protected org.w3c.dom.Document document
        the xml document to process
      • styleDir

        protected java.io.File styleDir
        the style directory. XSLs should be read from here if necessary
      • toDir

        protected java.io.File toDir
        the destination directory, this is the root from where html should be generated
      • format

        protected java.lang.String format
        the format to use for the report. Must be FRAMES or NOFRAMES
      • dbfactory

        protected static javax.xml.parsers.DocumentBuilderFactory dbfactory
        XML Parser factory accessible to subclasses
    • Constructor Detail

      • AggregateTransformer

        public AggregateTransformer(Task task)
        constructor creating the transformer from the junitreport task.
        Parameters:
        task - task delegating to this class
    • Method Detail

      • getDocumentBuilderFactory

        protected static javax.xml.parsers.DocumentBuilderFactory getDocumentBuilderFactory()
        Get the Document Builder Factory
        Returns:
        the DocumentBuilderFactory instance in use
      • setFormat

        public void setFormat(AggregateTransformer.Format format)
        sets the format.
        Parameters:
        format - Must be FRAMES or NOFRAMES
      • setXmlDocument

        public void setXmlDocument(org.w3c.dom.Document doc)
        sets the input document.
        Parameters:
        doc - input dom tree
      • setXmlfile

        protected void setXmlfile(java.io.File xmlfile)
                           throws BuildException
        Set the xml file to be processed. This is a helper if you want to set the file directly. Much more for testing purposes.
        Parameters:
        xmlfile - xml file to be processed
        Throws:
        BuildException - if the document cannot be parsed.
      • setStyledir

        public void setStyledir(java.io.File styledir)
        set the style directory. It is optional and will override the default xsl used.
        Parameters:
        styledir - the directory containing the xsl files if the user would like to override with its own style.
      • setTodir

        public void setTodir(java.io.File todir)
        set the destination directory.
        Parameters:
        todir - the destination directory
      • setExtension

        public void setExtension(java.lang.String ext)
        set the extension of the output files
        Parameters:
        ext - extension.
      • createParam

        public XSLTProcess.Param createParam()
        Create an instance of an XSL parameter for configuration by Ant.
        Returns:
        an instance of the Param class to be configured.
        Since:
        Ant 1.7
      • createClasspath

        public Path createClasspath()
        Creates a classpath to be used for the internal XSLT task.
        Returns:
        the classpath to be configured
        Since:
        Ant 1.9.5
      • createFactory

        public XSLTProcess.Factory createFactory()
        Creates a factory configuration to be used for the internal XSLT task.
        Returns:
        the factory description to be configured
        Since:
        Ant 1.9.5
      • transform

        public void transform()
                       throws BuildException
        transformation
        Throws:
        BuildException - exception if something goes wrong with the transformation.
      • getStylesheet

        protected Resource getStylesheet()
        access the stylesheet to be used as a resource.
        Returns:
        stylesheet as a resource
      • checkOptions

        protected void checkOptions()
                             throws BuildException
        check for invalid options
        Throws:
        BuildException - if something goes wrong.
      • getStylesheetSystemId

        protected java.lang.String getStylesheetSystemId()
                                                  throws java.io.IOException
        Get the systemid of the appropriate stylesheet based on its name and styledir. If no styledir is defined it will load it as a java resource in the xsl child package, otherwise it will get it from the given directory.
        Returns:
        system ID of the stylesheet.
        Throws:
        java.io.IOException - thrown if the requested stylesheet does not exist.
      • configureForRedirectExtension

        protected void configureForRedirectExtension()
        If we end up using the JDK's own TraX factory on Java 9+, then set the features and attributes necessary to allow redirect extensions to be used.
        Since:
        Ant 1.9.8