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 Description
    static class  AggregateTransformer.Format
    defines acceptable formats.
  • Field Summary

    Fields 
    Modifier and Type Field 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 Description
    AggregateTransformer​(Task task)
    constructor creating the transformer from the junitreport task.
  • Method Summary

    Modifier and Type Method Description
    protected void checkOptions()
    check for invalid options
    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.
    Path createClasspath()
    Creates a classpath to be used for the internal XSLT task.
    XSLTProcess.Factory createFactory()
    Creates a factory configuration to be used for the internal XSLT task.
    XSLTProcess.Param createParam()
    Create an instance of an XSL parameter for configuration by Ant.
    protected static javax.xml.parsers.DocumentBuilderFactory getDocumentBuilderFactory()
    Get the Document Builder Factory
    protected Resource getStylesheet()
    access the stylesheet to be used as a resource.
    protected java.lang.String getStylesheetSystemId()
    Get the systemid of the appropriate stylesheet based on its name and styledir.
    void setExtension​(java.lang.String ext)
    set the extension of the output files
    void setFormat​(AggregateTransformer.Format format)
    sets the format.
    void setStyledir​(java.io.File styledir)
    set the style directory.
    void setTodir​(java.io.File todir)
    set the destination directory.
    void setXmlDocument​(org.w3c.dom.Document doc)
    sets the input document.
    protected void setXmlfile​(java.io.File xmlfile)
    Set the xml file to be processed.
    void transform()
    transformation

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • 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
    • dbfactory

      protected static javax.xml.parsers.DocumentBuilderFactory dbfactory
      XML Parser factory accessible to subclasses
    • 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
  • Constructor Details

    • AggregateTransformer

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

    • 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