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
 
Constructor Summary
ReportWriter(Problem problem, java.io.OutputStream os)
           
ReportWriter(Problem problem, java.io.PrintStream out)
           
ReportWriter(Problem problem, java.lang.String logFileName)
           
 
Method Summary
 boolean isUsingNamespace()
           
 void setUsingNamespace(boolean useNamespace)
           
 void write(StepNode stepNode)
           
 void write(StepNode[] stepNodes)
           
 void writeHeader()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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
Method Detail

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)