diff flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3410:f382127df48e

Add analysis periods as subtitle to W/Q chart flys-artifacts/trunk@5063 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Thu, 19 Jul 2012 13:56:11 +0000
parents 97ad960f5579
children 8160e62bbb3a
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java	Thu Jul 19 12:59:56 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java	Thu Jul 19 13:56:11 2012 +0000
@@ -22,7 +22,9 @@
 import java.util.List;
 
 import org.apache.log4j.Logger;
+import org.jfree.chart.JFreeChart;
 import org.jfree.chart.annotations.XYTextAnnotation;
+import org.jfree.chart.title.TextTitle;
 import org.jfree.data.xy.XYSeries;
 import org.w3c.dom.Document;
 
@@ -43,6 +45,9 @@
     public static final String I18N_CHART_SUBTITLE =
         "chart.fixings.wq.subtitle";
 
+    public static final String I18N_CHART_SUBTITLE1 =
+        "chart.fixings.wq.subtitle1";
+
     public static final String I18N_XAXIS_LABEL =
         "chart.fixings.wq.xaxis.label";
 
@@ -228,6 +233,32 @@
     }
 
     @Override
+    protected void addSubtitles(JFreeChart chart) {
+        chart.addSubtitle(new TextTitle(getDefaultChartSubtitle()));
+        StringBuilder buf = new StringBuilder();
+
+        // Add analysis periods as additional subtitle
+        FixAnalysisAccess access = new FixAnalysisAccess(artifact);
+        DateRange[] aperiods = access.getAnalysisPeriods();
+        buf.append(msg("fix.analysis.periods"));
+        buf.append(": ");
+        for(int n = 0; n < aperiods.length; n++) {
+            buf.append(
+                    Resources.format(
+                            context.getMeta(),
+                            I18N_CHART_SUBTITLE1,
+                            "",
+                            aperiods[n].getFrom(),
+                            aperiods[n].getTo()));
+            if(n + 1 < aperiods.length) {
+                buf.append("; ");
+            }
+        }
+
+        chart.addSubtitle(new TextTitle(buf.toString()));
+    }
+
+    @Override
     protected String getDefaultXAxisLabel() {
         return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL_DEFAULT);
     }

http://dive4elements.wald.intevation.org