Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/ReportGenerator.java @ 4446:05a54b4d579d
Remove AbstractFixGenerator and use new KMIndexProcessor instead
Don't use same base class for minfo and fixings artifacts. Instead use the new
KMIndexProcessor to generate the same output for the same data types and facets.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 07 Nov 2012 14:34:13 +0100 |
parents | 118fe1cc8cc8 |
children |
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 de.intevation.flys.collections.FLYSArtifactCollection; 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 = null; } @Override public void setMasterArtifact(Artifact master) { // not needed } @Override public void setCollection(FLYSArtifactCollection collection) { // 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); if (result == null) { result = XMLUtils.newDocument(); report.toXML(result, context.getMeta()); } } } @Override public void generate() throws IOException { logger.debug("generate"); XMLUtils.toStream(result != null ? result : XMLUtils.newDocument(), 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 :