net.logAnalyzer.reports
Class XMLReportRenderer

java.lang.Object
  extended bynet.logAnalyzer.reports.XMLReportRenderer
All Implemented Interfaces:
LAReportRenderer
Direct Known Subclasses:
HTMLReportRenderer

public class XMLReportRenderer
extends java.lang.Object
implements LAReportRenderer

This renderer generates an XML report from analyzers results. Each analysis is serialized in XML format according to the class of its result.

The report returned by render() is an XML document of class Document wrapped in a XMLReport.

Version:
0.1
Author:
Karim REFEYTON

Constructor Summary
XMLReportRenderer(RendererDefinition definition, LAAnalyzer[] analyzers)
          Creates a new report for specified analyzers.
 
Method Summary
protected  org.w3c.dom.Document createNewXMLDocument()
          Creates a new XML document.
 java.lang.String getName()
          Returns the name of the analyzer.
 LAReport[] render()
          Render the report.
protected  void renderAnalysis(org.w3c.dom.Document report, LAAnalysis analysis)
          Empty method to avoid loops on unsupported analysis.
protected  void renderAnalysis(org.w3c.dom.Document report, MultiValuesAnalysis analysis)
          Renders a multi values result.
protected  void renderAnalysis(org.w3c.dom.Document report, SingleValueAnalysis analysis)
          Renders a key values result.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLReportRenderer

public XMLReportRenderer(RendererDefinition definition,
                         LAAnalyzer[] analyzers)
Creates a new report for specified analyzers.

Parameters:
definition - Renderer definition.
analyzers - Analyzers to include in the report.
Method Detail

createNewXMLDocument

protected org.w3c.dom.Document createNewXMLDocument()
                                             throws ReportException
Creates a new XML document.

The new XML document has a root node as :

<analyzer:report class="analyzerClassName"/>.
and children as : <analyzer:report class="analyzerClassName"/>.

The children of each analyzer node are specific to the analyzer result class (see LAAnalysis).

Returns:
New XML document.
Throws:
AnalyzerException - If anay parsing error.
ReportException

getName

public java.lang.String getName()
Returns the name of the analyzer.

Specified by:
getName in interface LAReportRenderer
Returns:
LAAnalyzer name.
See Also:
LAReportRenderer.getName()

render

public LAReport[] render()
                  throws ReportException
Render the report. The report is a XMLReport wrapping a XML Document representation of all anlyzers results.

Specified by:
render in interface LAReportRenderer
Returns:
Generated report.
Throws:
ReportException
See Also:
LAReportRenderer.render()

renderAnalysis

protected void renderAnalysis(org.w3c.dom.Document report,
                              LAAnalysis analysis)
Empty method to avoid loops on unsupported analysis.

Parameters:
report - Report.
analysis - Analyze to render.

renderAnalysis

protected void renderAnalysis(org.w3c.dom.Document report,
                              SingleValueAnalysis analysis)
Renders a key values result. Element format:
 <analyzerName label="analyzer.getLabel()">
   <item valueName="value[1]">key[1]</item>
   <item valueName="value[2]">key[2]</item>
   ...
 </analyzerName>
 

Parameters:
report - Report.
analysis - Analyze to render.

renderAnalysis

protected void renderAnalysis(org.w3c.dom.Document report,
                              MultiValuesAnalysis analysis)
Renders a multi values result. Element format:
 <analyzerName label="analyzer.getLabel()">
   <item valueName1="value1[1]" valueName2="value2[1]" ...>key[1]</item>
   <item valueName1="value1[2]" valueName2="value2[2]" ...>key[2]</item>
   ...
 </analyzerName>
 

Parameters:
report - Report.
analysis - Analyze to render.


Copyright © 2006 null. All Rights Reserved.