Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/exports/DischargeGenerator.java @ 8323:c44775cd79f2
Use right logger in DischargeGenerator.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Sep 2014 10:56:44 +0200 |
parents | b1303070c050 |
children | d6c03537970e |
line wrap: on
line source
/* Copyright (C) 2014 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 java.awt.Font; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.river.exports.injector.InjectorConstants; import org.dive4elements.river.jfree.AxisDataset; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.XYPlot; import org.jfree.data.Range; public class DischargeGenerator extends DiagramGenerator implements InjectorConstants { private static Logger log = Logger.getLogger(DischargeGenerator.class); public DischargeGenerator() { } @Override public void addDatasets(XYPlot plot) { super.addDatasets(plot); Object pnp = context.getContextValue(PNP); if (!(pnp instanceof Number)) { return; } double pnpValue = ((Number)pnp).doubleValue(); int wAxisIndex = diagramAttributes.getAxisIndex("W"); if (wAxisIndex == -1) { log.warn("No W axis found."); return; } AxisDataset data = datasets.get(wAxisIndex); if (data == null) { // No W axis return; } Range range = inCm(data.getRange(), pnpValue); // Do we have an index for W in cm? NumberAxis wInCmAxis = createWinCMAxis(wAxisIndex); wInCmAxis.setRange(range.getLowerBound(), range.getUpperBound()); plot.setRangeAxis(plot.getRangeAxisCount(), wInCmAxis); } private static Range inCm(Range r, double pnpValue) { double l = r.getLowerBound(); double u = r.getUpperBound(); l = (l - pnpValue)*100d; u = (u - pnpValue)*100d; return new Range(l, u); } private NumberAxis createWinCMAxis(int wAxisIndex) { Font labelFont = new Font( DEFAULT_FONT_NAME, Font.BOLD, getYAxisFontSize(wAxisIndex)); String axisName = "W.in.cm"; // TODO: I18N IdentifiableNumberAxis axis = new IdentifiableNumberAxis( axisName, "W.in.cm"); axis.setAutoRangeIncludesZero(false); axis.setLabelFont(labelFont); axis.setTickLabelFont(labelFont); return axis; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :