Mercurial > dive4elements > river
changeset 4362:17251b058bf1
ExtremeWQCurveGenerator: Reuse prerpareChartData, handle new extreme_wq_curve_base facet.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 02 Nov 2012 12:09:50 +0100 (2012-11-02) |
parents | 7302c635dfda |
children | 9dfec327acc6 |
files | flys-artifacts/src/main/java/de/intevation/flys/exports/extreme/ExtremeWQCurveGenerator.java |
diffstat | 1 files changed, 34 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/extreme/ExtremeWQCurveGenerator.java Fri Nov 02 12:09:03 2012 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/extreme/ExtremeWQCurveGenerator.java Fri Nov 02 12:09:50 2012 +0100 @@ -7,6 +7,7 @@ import org.jfree.chart.plot.Marker; import org.jfree.chart.plot.ValueMarker; import org.jfree.chart.title.TextTitle; +import org.jfree.data.xy.XYSeries; import org.w3c.dom.Document; import de.intevation.artifactdatabase.state.ArtifactAndFacet; @@ -16,8 +17,9 @@ import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.extreme.Curve; import de.intevation.flys.artifacts.model.extreme.ExtremeCurveFacet; +import de.intevation.flys.artifacts.resources.Resources; import de.intevation.flys.exports.fixings.FixWQCurveGenerator; -import de.intevation.flys.artifacts.resources.Resources; +import de.intevation.flys.exports.StyledSeriesBuilder; import de.intevation.flys.exports.ChartGenerator; import de.intevation.flys.jfree.JFreeUtil; import de.intevation.flys.jfree.StyledXYSeries; @@ -58,25 +60,43 @@ public static final String I18N_YAXIS_LABEL_DEFAULT = "W [NN + m]"; - @Override - public void doOut(ArtifactAndFacet aaf, Document doc, boolean visible) { - super.doOut(aaf, doc, visible); - String name = aaf.getFacetName(); - logger.debug("doOut: " + name); + @Override + public boolean prepareChartData(ArtifactAndFacet aaf, Document theme, boolean visible) { + if (!super.prepareChartData(aaf, theme, visible)) { + String name = aaf.getFacetName(); + if (name.equals(EXTREME_WQ_CURVE)) { + doExtremeCurveOut(aaf, theme, visible); + return true; + } + else if (name.equals(EXTREME_WQ_CURVE_BASE)) { + doExtremeCurveBaseOut(aaf, theme, visible); + return true; + } + return false; + } + return true; + } - if (name.equals(EXTREME_WQ_CURVE)) { - doExtremeCurveOut(aaf, doc, visible); - } - else { - logger.warn("Unknown facet name " + name); + /** Do Extreme Curve nonextrapolated points out. */ + protected void doExtremeCurveBaseOut(ArtifactAndFacet aaf, Document theme, boolean visible) { + logger.debug("doExtremeCurveBaseOut"); + ExtremeCurveFacet facet = (ExtremeCurveFacet) aaf.getFacet(); + Curve curve = (Curve) facet.getData(aaf.getArtifact(), context); + if (curve == null) { + logger.warn("doExtremeCurveiBaseOut: Facet does not contain Curve"); return; } + + XYSeries qwseries = new StyledXYSeries("meas", theme); + StyledSeriesBuilder.addPointsQW(qwseries, curve.getQs(), curve.getWs()); + + addAxisSeries(qwseries, YAXIS.W.idx, visible); } /** Do Extreme Curve out */ - protected void doExtremeCurveOut(ArtifactAndFacet aaf, Document doc, boolean visible) { + protected void doExtremeCurveOut(ArtifactAndFacet aaf, Document theme, boolean visible) { logger.debug("doExtremeCurveOut"); ExtremeCurveFacet facet = (ExtremeCurveFacet) aaf.getFacet(); Curve curve = (Curve) facet.getData(aaf.getArtifact(), context); @@ -92,7 +112,7 @@ StyledXYSeries series = JFreeUtil.sampleFunction2D( curve, - doc, + theme, aaf.getFacetDescription(), 500, // number of samples 0.0 , // start @@ -109,6 +129,7 @@ addAxisSeries(series, 0, visible); } + @Override protected String getChartTitle() { return Resources.format(