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.
      *

http://dive4elements.wald.intevation.org