diff artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffYearProcessor.java @ 7892:e844be34a606 facet-metadata

Add metadata to chart series and datasets.
author Raimund Renkert <rrenkert@intevation.de>
date Wed, 21 May 2014 11:40:14 +0200
parents ea6b441b4872
children 10debf4b82be
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffYearProcessor.java	Wed May 21 11:36:21 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffYearProcessor.java	Wed May 21 11:40:14 2014 +0200
@@ -8,6 +8,8 @@
 
 package org.dive4elements.river.exports.process;
 
+import java.util.Map;
+
 import org.apache.log4j.Logger;
 import org.jfree.data.xy.XYSeries;
 
@@ -34,6 +36,8 @@
 
     protected static double GAP_TOLERANCE = 0.101d;
 
+    protected String yAxisLabel;
+
     public static final String I18N_AXIS_LABEL =
         "chart.beddifference.yaxis.label.diff";
     public static final String I18N_AXIS_LABEL_DEFAULT =
@@ -49,6 +53,9 @@
             boolean          visible) {
         CallContext context = generator.getCallContext();
         Object data = bundle.getData(context);
+        Map<String, String> metaData =
+            bundle.getFacet().getMetaData(bundle.getArtifact(), context);
+        yAxisLabel = metaData.get("Y");
         if (data instanceof BedDiffYearResult) {
             Double start = (Double)context.getContextValue("startkm");
             Double end = (Double)context.getContextValue("endkm");
@@ -66,10 +73,10 @@
                     I18N_SUBTITLE_RADIUS,
                     new Object[] { radius }));
             }
-            String facetType = bundle.getFacetName();
             BedDiffYearResult bData = (BedDiffYearResult) data;
 
-            XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
+            StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme);
+            series.putMetaData(metaData, bundle.getArtifact(), context);
             StyledSeriesBuilder.addPointsFactorY(series,
                 bData.getDifferencesData(),
                 false,
@@ -91,9 +98,12 @@
 
     @Override
     public String getAxisLabel(DiagramGenerator generator) {
+        if (yAxisLabel != null && !yAxisLabel.isEmpty()) {
+            return generator.msg(yAxisLabel, I18N_AXIS_LABEL_DEFAULT);
+        }
         return generator.msg(
-                I18N_AXIS_LABEL,
-                I18N_AXIS_LABEL_DEFAULT);
+            I18N_AXIS_LABEL,
+            I18N_AXIS_LABEL_DEFAULT);
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org