fr.jussieu.gla.wasa.monitor.xml
Class ReportWriter
java.lang.Object
|
+--fr.jussieu.gla.wasa.monitor.xml.ReportWriter
- All Implemented Interfaces:
- IConstants
- Direct Known Subclasses:
- EventDrivenWriter
- public class ReportWriter
- extends java.lang.Object
- implements IConstants
Writes Report objects to an XML file. The generated XML is not well-formed,
because there is no enclosing element for all content.
Why there is no enclosing element
We consider there is no reliable way to know when a logging activity takes end.
Possible trade-offs could be : 1) let user call some endReport
method, or to use a java.io.RandomAccessFile to write the footer
(the enclosing element), rewinding each time a new Step is added. The last
approach gave very poor performances.
Impact of non well-formed XML
The ReportReader
uses a special reader (XMLPartsReader
for
handling non well-formed XML.
XML can be read in a standard XML display tool using a second file declaring
an entity which includes the XML log file itself.
- Version:
- $Revision: 1.10 $ $Date: 2002/03/22 08:41:28 $
- Author:
- Laurent Caillette
Fields inherited from interface fr.jussieu.gla.wasa.monitor.xml.IConstants |
BESTCONFIGURATION_ELEMENT, CONFIGURATION_ELEMENT, CONSTRAINT_ELEMENT, CONSTRAINTS_ELEMENT, DATE_ELEMENT, ENCODING, ERROR_ATTRIBUTE, EXPLORE_RESULT_ATTRIBUTE, ID_ATTRIBUTE, MONITORING_ELEMENT, NAME_ATTRIBUTE, NAMESPACE_PREFIX, NAMESPACE_URI, NAN_STRING, OVERALLERROR_ATTRIBUTE, PROBLEMCLASS_ELEMENT, RUNSESSION_ELEMENT, SELECTEDVAR_ATTRIBUTE, SELECTION_ELEMENT, SIRE_ATTRIBUTE, STEP_ELEMENT, TABU_ELEMENT, TABULIST_ELEMENT, USERDIR_ELEMENT, VALUE_ELEMENT, VAR_ATTRIBUTE, VAR_ELEMENT, WORST_ELEMENT |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ReportWriter
public ReportWriter(Problem problem,
java.io.OutputStream os)
ReportWriter
public ReportWriter(Problem problem,
java.io.PrintStream out)
ReportWriter
public ReportWriter(Problem problem,
java.lang.String logFileName)
throws java.io.IOException
isUsingNamespace
public boolean isUsingNamespace()
setUsingNamespace
public void setUsingNamespace(boolean useNamespace)
writeHeader
public void writeHeader()
write
public void write(StepNode stepNode)
write
public void write(StepNode[] stepNodes)