# HG changeset patch # User Ingo Weinzierl # Date 1328526873 0 # Node ID 6aeb715171363d865c278adfa3b58504418e0be7 # Parent 22bac691d41445bae67e064a87619a247e498405 Registered an Info generator for historical discharge curves; made some adaptions in XYChartGenerator, ChartGenerator and TimeseriesChartGenerator. flys-artifacts/trunk@3916 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 22bac691d414 -r 6aeb71517136 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Mon Feb 06 10:17:29 2012 +0000 +++ b/flys-artifacts/ChangeLog Mon Feb 06 11:14:33 2012 +0000 @@ -1,3 +1,27 @@ +2012-02-06 Ingo Weinzierl + + * doc/conf/conf.xml: Registered the HistoricalDischargeCurveInfoGenerator. + + * src/main/java/de/intevation/flys/exports/HistoricalDischargeCurveInfoGenerator.java: + New. This info generator returns information of a + HistoricalDischargeCurveGenerator. + + * src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java: Add an + attribute "axistype" to axes nodex based on the JFreeChart Axis type. + Number axes get a "number", date axes a "date". + + * src/main/java/de/intevation/flys/exports/ChartGenerator.java: Defined an + abstract method getRangesForAxis(). + + * src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java: Awaits + now an instance of ChartGenerator instead of XYChartGenerator. + + * src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java: + Implemented the getRangesForAxis() method (copied from XYChartGenerator). + + * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: Added + @Override annotation to getRangesForAxis(). + 2012-02-06 Felix Wolfsteller * src/main/java/de/intevation/flys/artifacts/states/WQSelect.java, diff -r 22bac691d414 -r 6aeb71517136 flys-artifacts/doc/conf/conf.xml --- a/flys-artifacts/doc/conf/conf.xml Mon Feb 06 10:17:29 2012 +0000 +++ b/flys-artifacts/doc/conf/conf.xml Mon Feb 06 11:14:33 2012 +0000 @@ -180,6 +180,7 @@ de.intevation.flys.exports.ReferenceCurveGenerator de.intevation.flys.exports.ReferenceCurveInfoGenerator de.intevation.flys.exports.HistoricalDischargeCurveGenerator + de.intevation.flys.exports.HistoricalDischargeCurveInfoGenerator de.intevation.flys.exports.HistoricalDischargeCurveExporter de.intevation.flys.exports.ReportGenerator diff -r 22bac691d414 -r 6aeb71517136 flys-artifacts/src/main/java/de/intevation/flys/exports/ChartGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/ChartGenerator.java Mon Feb 06 10:17:29 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/ChartGenerator.java Mon Feb 06 11:14:33 2012 +0000 @@ -239,6 +239,16 @@ /** + * This method is used to determine the ranges for axes at a given index. + * + * @param index The index of the axes at the plot. + * + * @return a Range[] with [xrange, yrange]; + */ + public abstract Range[] getRangesForAxis(int index); + + + /** * This method should be used by concrete subclasses to add subtitle to * chart. The method in this implementation is empty. * diff -r 22bac691d414 -r 6aeb71517136 flys-artifacts/src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java Mon Feb 06 10:17:29 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/ChartInfoGenerator.java Mon Feb 06 11:14:33 2012 +0000 @@ -49,13 +49,13 @@ /** The OutGenerator that creates the charts.*/ - protected XYChartGenerator generator; + protected ChartGenerator generator; protected OutputStream out; - public ChartInfoGenerator(XYChartGenerator generator) { + public ChartInfoGenerator(ChartGenerator generator) { this.generator = generator; } diff -r 22bac691d414 -r 6aeb71517136 flys-artifacts/src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java Mon Feb 06 10:17:29 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/InfoGeneratorHelper.java Mon Feb 06 11:14:33 2012 +0000 @@ -11,6 +11,7 @@ import org.jfree.chart.ChartRenderingInfo; import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.DateAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.XYPlot; import org.jfree.data.Range; @@ -32,10 +33,10 @@ Logger.getLogger(InfoGeneratorHelper.class); - protected XYChartGenerator generator; + protected ChartGenerator generator; - public InfoGeneratorHelper(XYChartGenerator generator) { + public InfoGeneratorHelper(ChartGenerator generator) { this.generator = generator; } @@ -147,6 +148,17 @@ cr.addAttr(e, "from", String.valueOf(range.getLowerBound()), true); cr.addAttr(e, "to", String.valueOf(range.getUpperBound()), true); + logger.debug("Axis is from type: " + axis.getClass()); + + if (axis instanceof DateAxis) { + logger.debug("Add axis type: date"); + cr.addAttr(e, "axistype", "date", true); + } + else { + logger.debug("Add axis type: number"); + cr.addAttr(e, "axistype", "number", true); + } + //Range[] rs = generator.getRangesForDataset(dataset); Range[] rs = generator.getRangesForAxis(pos); Range r = null; diff -r 22bac691d414 -r 6aeb71517136 flys-artifacts/src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java Mon Feb 06 10:17:29 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/TimeseriesChartGenerator.java Mon Feb 06 11:14:33 2012 +0000 @@ -212,5 +212,30 @@ xRanges.put(index, range); } } + + + @Override + public Range[] getRangesForAxis(int index) { + logger.debug("Return ranges for axis at: " + index); + + Range rx = xRanges.get(Integer.valueOf(0)); + Range ry = yRanges.get(Integer.valueOf(index)); + + if (rx == null) { + logger.warn("Range for x axis not set." + + " Using default values: 0 - 1."); + rx = new Range(0, 1); + } + if (ry == null) { + logger.warn("Range for y" + index + + " axis not set. Using default values: 0 - 1."); + ry = new Range(0, 1); + } + + logger.debug("X Range is: " + rx); + logger.debug("Y Range is: " + ry); + + return new Range[] {rx, ry}; + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : diff -r 22bac691d414 -r 6aeb71517136 flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java Mon Feb 06 10:17:29 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java Mon Feb 06 11:14:33 2012 +0000 @@ -519,6 +519,7 @@ * * @return a Range[] as follows: [x-Range, y-Range]. */ + @Override public Range[] getRangesForAxis(int index) { logger.debug("getRangesForAxis " + index);