Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java @ 2138:59bb5c895be3
Improved HYK/Zones- handling.
flys-artifacts/trunk@3716 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 19 Jan 2012 11:00:27 +0000 |
parents | d626ae185305 |
children | c5d24e0587ce |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java Thu Jan 19 10:51:20 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java Thu Jan 19 11:00:27 2012 +0000 @@ -8,6 +8,8 @@ import org.jfree.chart.title.TextTitle; import org.jfree.data.xy.XYSeries; +import de.intevation.flys.jfree.FLYSAnnotation; + import org.w3c.dom.Document; import de.intevation.artifacts.DataProvider; @@ -19,12 +21,14 @@ import de.intevation.flys.jfree.StyledXYSeries; import de.intevation.flys.model.FastCrossSectionLine; +import de.intevation.flys.artifacts.model.HYKFactory; + /** * An OutGenerator that generates cross section graphs. */ public class CrossSectionGenerator -extends LongitudinalSectionGenerator//XYChartGenerator +extends LongitudinalSectionGenerator implements FacetTypes { /** The logger that is used in this generator. */ @@ -83,13 +87,16 @@ } + /** Always return default subtitle. */ @Override protected String getChartSubtitle() { // XXX NOTE: overriding this method disables ChartSettings subtitle! + // TODO clarify XXX NOTE return getDefaultChartSubtitle(); } + /** Get Charts default subtitle. */ @Override protected String getDefaultChartSubtitle() { List<DataProvider> providers = @@ -167,6 +174,12 @@ attr, visible); } + else if (name.equals(HYK)) { + doHyk(artifactFacet.getData(context), + artifactFacet.getFacetDescription(), + attr, + visible); + } else { logger.warn("CrossSection.doOut: Unknown facet name: " + name); return; @@ -204,6 +217,29 @@ } + /** Add HYK-Annotations (colorize and label some areas, draw lines. */ + protected void doHyk( + Object o, + String seriesName, + Document theme, + boolean visible + ) { + logger.debug("CrossSectionGenerator.doHyk"); + + // TODO there is some style information for the text at least. + + List<HYKFactory.Zone> zones = (List<HYKFactory.Zone>) o; + + if (zones.size() == 0) { + logger.debug("CrossSectionGenerator.doHYK: empty zone list received."); + } + + //TODO handle visible + + addAnnotations(new FLYSAnnotation("HYK Zones", null, zones), true); + } + + /** * Do cross sections out. *