Mercurial > dive4elements > river
changeset 7080:02a704a37323 generator-refactoring
Removed faked ChartInfoGenerator2 and LS Info generator.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 20 Sep 2013 17:04:37 +0200 |
parents | 48e30e2c5db9 |
children | 3c4efd4b2c19 |
files | artifacts/doc/conf/conf.xml artifacts/src/main/java/org/dive4elements/river/exports/ChartInfoGenerator2.java artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionInfoGenerator.java |
diffstat | 3 files changed, 1 insertions(+), 231 deletions(-) [+] |
line wrap: on
line diff
--- a/artifacts/doc/conf/conf.xml Fri Sep 20 17:00:59 2013 +0200 +++ b/artifacts/doc/conf/conf.xml Fri Sep 20 17:04:37 2013 +0200 @@ -291,7 +291,7 @@ <output-generator names="cross_section_chartinfo" class="org.dive4elements.river.exports.CrossSectionInfoGenerator"/> <output-generator names="computed_discharge_curve" class="org.dive4elements.river.exports.ComputedDischargeCurveGenerator"/> <output-generator names="computed_discharge_curve_chartinfo" class="org.dive4elements.river.exports.ComputedDischargeCurveInfoGenerator"/> - <output-generator names="longitudinal_section" class="org.dive4elements.river.exports.DiagramGenerator"> + <output-generator names="longitudinal_section,longitudinal_section_chartinfo" class="org.dive4elements.river.exports.DiagramGenerator"> <axis name="W"/> <axis name="D"/> <axis name="Q"/> @@ -305,7 +305,6 @@ <processor class="org.dive4elements.river.exports.process.AnnotationProcessor" axis="none"/> <processor class="org.dive4elements.river.exports.process.WOutProcessor" axis="W"/> </output-generator> - <output-generator names="longitudinal_section_chartinfo" class="org.dive4elements.river.exports.LongitudinalSectionInfoGenerator"/> <output-generator names="duration_curve" class="org.dive4elements.river.exports.DurationCurveGenerator"/> <output-generator names="duration_curve_chartinfo" class="org.dive4elements.river.exports.DurationCurveInfoGenerator"/> <output-generator names="discharge_longitudinal_section" class="org.dive4elements.river.exports.DischargeLongitudinalSectionGenerator"/>
--- a/artifacts/src/main/java/org/dive4elements/river/exports/ChartInfoGenerator2.java Fri Sep 20 17:00:59 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,204 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.exports; - -import org.dive4elements.river.collections.D4EArtifactCollection; -import org.dive4elements.river.java2d.NOPGraphics2D; -import org.dive4elements.river.themes.ThemeDocument; - -import java.io.IOException; -import java.io.OutputStream; - -import java.awt.Transparency; -import java.awt.Graphics2D; - -import java.awt.geom.Rectangle2D; - -import java.awt.image.BufferedImage; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import org.apache.log4j.Logger; - -import org.jfree.chart.ChartRenderingInfo; -import org.jfree.chart.JFreeChart; - -import org.dive4elements.artifacts.Artifact; -import org.dive4elements.artifacts.CallContext; - -import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; -import org.dive4elements.artifactdatabase.state.Settings; - -import org.dive4elements.artifacts.common.utils.XMLUtils; - - -/** - * An OutGenerator that generates meta information for charts. A concrete - * ChartInfoGenerator2 need to instantiate a concrete ChartGenerator and dispatch - * the methods to that instance. The only thing this ChartInfoGenerator2 needs - * to, is to overwrite the generate() method which doesn't write the chart image - * to the OutputStream but a Document that contains some meta information of the - * created chart. - * - * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> - */ -public abstract class ChartInfoGenerator2 implements OutGenerator { - - public static final boolean USE_NOP_GRAPHICS = - Boolean.getBoolean("info.rendering.nop.graphics"); - - /** The logger used in this generator.*/ - private static Logger logger = - Logger.getLogger(ChartInfoGenerator2.class); - - - /** The OutGenerator that creates the charts.*/ - protected ChartGenerator2 generator; - - protected OutputStream out; - - - - public ChartInfoGenerator2(ChartGenerator2 generator) { - this.generator = generator; - } - - public void setup(Element config) { - logger.debug("ChartInfoGenerator2.setup"); - } - - - /** - * Dispatches the operation to the instantiated generator. - * - * @param request - * @param out - * @param context - */ - public void init(String outName, Document request, OutputStream out, CallContext context) { - this.out = out; - - generator.init(outName, request, out, context); - } - - - /** - * Dispatches the operation to the instantiated generator. - * - * @param master The master artifact - */ - public void setMasterArtifact(Artifact master) { - generator.setMasterArtifact(master); - } - - - /** - * Dispatches the operation to the instantiated generator. - * - * @param collection The collection. - */ - public void setCollection(D4EArtifactCollection collection) { - generator.setCollection(collection); - } - - - /** - * Dispatches the operation to the instantiated generator. - */ - @Override - public void doOut( - ArtifactAndFacet artifactFacet, - ThemeDocument attr, - boolean visible - ) { - generator.doOut(artifactFacet, attr, visible); - } - - - /** - * This method generates the chart using a concrete ChartGenerator but - * doesn't write the chart itself to the OutputStream but a Document that - * contains meta information of the created chart. - */ - @Override - public void generate() - throws IOException - { - logger.debug("ChartInfoGenerator2.generate"); - - JFreeChart chart = generator.generateChart(); - - int[] size = generator.getSize(); - if (size == null) { - size = generator.getDefaultSize(); - } - - ChartRenderingInfo info = new ChartRenderingInfo(); - - long startTime = System.currentTimeMillis(); - - if (USE_NOP_GRAPHICS) { - BufferedImage image = - new BufferedImage(size[0], size[1], Transparency.BITMASK); - - Graphics2D g2d = image.createGraphics(); - Graphics2D nop = new NOPGraphics2D(g2d); - - chart.draw( - nop, - new Rectangle2D.Double(0, 0, size[0], size[1]), - null, - info); - - nop.dispose(); - } - else { - chart.createBufferedImage( - size[0], size[1], Transparency.BITMASK, info); - } - - long stopTime = System.currentTimeMillis(); - - if (logger.isDebugEnabled()) { - logger.debug("Rendering info took: " + - (stopTime-startTime) + "ms"); - } - - - InfoGeneratorHelper helper = new InfoGeneratorHelper(generator); - Document doc = helper.createInfoDocument(chart, info); - - XMLUtils.toStream(doc, out); - } - - - /** - * A proxy method which calls <i>generator</i>.getSettings() and returns its - * return value. - * - * @return a Settings object provided by <i>generator</i>. - */ - @Override - public Settings getSettings() { - return generator.getSettings(); - } - - - /** - * A proxy method which calls <i>generator</i>.setSettings(). - * - * @param settings A settings object for the <i>generator</i>. - */ - @Override - public void setSettings(Settings settings) { - generator.setSettings(settings); - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
--- a/artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionInfoGenerator.java Fri Sep 20 17:00:59 2013 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.exports; - - -/** - * A ChartInfoGenerator that generates meta information for specific - * longitudinal section curves. - * - * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> - */ -public class LongitudinalSectionInfoGenerator -extends ChartInfoGenerator2 -{ - public LongitudinalSectionInfoGenerator() { - super(new DiagramGenerator()); - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :