sascha@710: package de.intevation.flys.exports; sascha@710: sascha@710: import java.io.IOException; sascha@710: import java.io.OutputStream; sascha@710: sascha@710: import org.apache.log4j.Logger; sascha@710: sascha@710: import de.intevation.artifacts.Artifact; sascha@710: import de.intevation.artifacts.CallContext; sascha@710: sascha@710: import de.intevation.artifacts.common.utils.XMLUtils; sascha@710: sascha@710: import de.intevation.artifactdatabase.state.Facet; sascha@710: felix@1944: import de.intevation.artifactdatabase.state.ArtifactAndFacet; sascha@710: import de.intevation.flys.artifacts.FLYSArtifact; sascha@710: sascha@710: import de.intevation.flys.artifacts.model.Calculation; sascha@710: sascha@710: import org.w3c.dom.Document; sascha@710: sascha@710: public class ReportGenerator sascha@742: implements OutGenerator sascha@710: { sascha@710: private static Logger logger = Logger.getLogger(ReportGenerator.class); sascha@710: sascha@710: protected Document result; sascha@710: protected OutputStream out; sascha@710: protected CallContext context; sascha@710: sascha@710: public ReportGenerator() { sascha@710: } sascha@710: sascha@710: @Override sascha@710: public void init(Document request, OutputStream out, CallContext context) { sascha@710: logger.debug("init"); sascha@710: this.out = out; sascha@710: this.context = context; sascha@710: result = XMLUtils.newDocument(); sascha@710: } sascha@710: sascha@710: @Override sascha@710: public void setMasterArtifact(Artifact master) { sascha@710: // not needed sascha@710: } sascha@710: sascha@710: @Override ingo@1684: public void doOut( felix@1944: ArtifactAndFacet artifactFacet, felix@1944: Document attr, felix@1944: boolean visible ingo@1684: ) { sascha@710: logger.debug("doOut"); felix@1944: Facet facet = artifactFacet.getFacet(); sascha@710: if (facet != null) { felix@1944: Calculation report = (Calculation) artifactFacet.getData(context); sascha@710: report.toXML(result, context.getMeta()); sascha@710: } sascha@710: } sascha@710: sascha@710: @Override sascha@710: public void generate() throws IOException { sascha@710: logger.debug("generate"); sascha@710: XMLUtils.toStream(result, out); sascha@710: } sascha@710: } sascha@710: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :