Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java @ 300:6a3a02e004d9
Refactored process of chart generation. Charts will be generated via Chart-Interface from rev351 and no more via factory classes.
gnv-artifacts/trunk@354 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 20 Nov 2009 13:51:14 +0000 |
parents | 8ae596be276b |
children | 3ea030aafe65 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Thu Nov 19 17:54:18 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/profile/vertical/VerticalProfileOutputTransition.java Fri Nov 20 13:51:14 2009 +0000 @@ -3,12 +3,23 @@ */ package de.intevation.gnv.transition.profile.vertical; +import java.awt.Dimension; + import java.io.IOException; import java.io.OutputStream; import java.util.Collection; +import java.util.Locale; +import javax.imageio.ImageIO; + +import org.apache.log4j.Logger; + +import org.jfree.chart.ChartTheme; + +import de.intevation.gnv.chart.Chart; import de.intevation.gnv.chart.ChartLabels; import de.intevation.gnv.chart.ChartStyle; +import de.intevation.gnv.chart.VerticalProfileChart; import de.intevation.gnv.chart.VerticalProfileChartFactory; import de.intevation.gnv.chart.exception.TechnicalChartException; import de.intevation.gnv.statistics.Statistics; @@ -26,6 +37,9 @@ */ private static final long serialVersionUID = 4401516087492028840L; + private static Logger log = Logger + .getLogger(TimeSeriesOutputTransition.class); + /** * Constructor */ @@ -34,23 +48,44 @@ super.domainLable = "Depth [m]"; } - /** - * @see de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition#createChart(java.io.OutputStream, - * java.util.Collection, java.util.Collection, java.lang.String, - * de.intevation.gnv.chart.ChartStyle, - * de.intevation.gnv.chart.ChartLabels) - */ - @Override - protected void createChart(OutputStream outputStream, - Collection<KeyValueDescibeData> parameters, - Collection<KeyValueDescibeData> measurements, - Collection<KeyValueDescibeData> dates, - ChartStyle chartStyle, ChartLabels chartLables, - String uuid) throws IOException, - TechnicalChartException { - VerticalProfileChartFactory chartFactory = new VerticalProfileChartFactory(); - chartFactory.createProfileChart(chartLables, chartStyle, parameters, - measurements,dates, outputStream, this.getChartResult(uuid)); + protected Chart getChart( + ChartLabels chartLables, + ChartTheme chartTheme, + Collection parameters, + Collection measurements, + Collection result, + Collection dates, + Locale locale, + String uuid + ) { + Chart chart = null; + + if (CACHE_CHART) { + log.info("Try to get verticalprofile chart from cache."); + chart = (Chart) getChartFromCache(uuid); + } + + if (chart != null) + return chart; + + log.info("Chart not in cache yet."); + chart = new VerticalProfileChart( + chartLables, + chartTheme, + parameters, + measurements, + result, + dates, + locale + ); + chart.generateChart(); + + if (CACHE_CHART) { + log.info("Put chart into cache."); + purifyChart(chart, uuid); + } + + return chart; } /**