Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/ReportGenerator.java @ 2058:f97cf2e350c9
Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
flys-artifacts/trunk@3550 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 27 Dec 2011 11:37:23 +0000 |
parents | 0318fa6f0844 |
children | da35b8a23ffb |
line wrap: on
line source
package de.intevation.flys.exports; import java.io.IOException; import java.io.OutputStream; import org.apache.log4j.Logger; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifactdatabase.state.ArtifactAndFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifactdatabase.state.Settings; import de.intevation.flys.artifacts.model.Calculation; import org.w3c.dom.Document; public class ReportGenerator implements OutGenerator { private static Logger logger = Logger.getLogger(ReportGenerator.class); protected Document result; protected OutputStream out; protected CallContext context; public ReportGenerator() { } @Override public void init(Document request, OutputStream out, CallContext context) { logger.debug("init"); this.out = out; this.context = context; result = XMLUtils.newDocument(); } @Override public void setMasterArtifact(Artifact master) { // not needed } @Override public void doOut( ArtifactAndFacet artifactFacet, Document attr, boolean visible ) { logger.debug("doOut"); Facet facet = artifactFacet.getFacet(); if (facet != null) { Calculation report = (Calculation) artifactFacet.getData(context); report.toXML(result, context.getMeta()); } } @Override public void generate() throws IOException { logger.debug("generate"); XMLUtils.toStream(result, out); } /** * Returns an instance of <i>EmptySettings</i> currently! * * @return an instance of <i>EmptySettings</i>. */ public Settings getSettings() { return new EmptySettings(); } /** * This method is not implemented. Override it in subclasses if those need a * <i>Settings</i> object. */ public void setSettings(Settings settings) { // do nothing } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :