Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/ReportGenerator.java @ 2046:2ae0627f956e
Improved ChartSettings and depending classes to avoid a lot of casting.
flys-artifacts/trunk@3534 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 23 Dec 2011 08:51:28 +0000 |
parents | a7c437c9547e |
children | 0318fa6f0844 |
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(); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :