tim@82: /** tim@82: * tim@82: */ tim@82: package de.intevation.gnv.transition.profile.vertical; tim@82: ingo@300: import java.awt.Dimension; ingo@300: tim@82: import java.io.IOException; tim@82: import java.io.OutputStream; tim@82: import java.util.Collection; ingo@300: import java.util.Locale; tim@82: ingo@300: import javax.imageio.ImageIO; ingo@300: ingo@300: import org.apache.log4j.Logger; ingo@300: ingo@300: import org.jfree.chart.ChartTheme; ingo@300: ingo@300: import de.intevation.gnv.chart.Chart; tim@82: import de.intevation.gnv.chart.ChartLabels; tim@82: import de.intevation.gnv.chart.ChartStyle; ingo@300: import de.intevation.gnv.chart.VerticalProfileChart; tim@82: import de.intevation.gnv.chart.VerticalProfileChartFactory; tim@82: import de.intevation.gnv.chart.exception.TechnicalChartException; tim@98: import de.intevation.gnv.statistics.Statistics; tim@98: import de.intevation.gnv.statistics.VerticalProfileStatistics; tim@82: import de.intevation.gnv.transition.describedata.KeyValueDescibeData; tim@82: import de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition; tim@82: tim@82: /** tim@82: * @author Tim Englich tim@171: * tim@82: */ tim@82: public class VerticalProfileOutputTransition extends TimeSeriesOutputTransition { tim@82: /** tim@86: * The UID of this class tim@82: */ tim@82: private static final long serialVersionUID = 4401516087492028840L; tim@82: ingo@300: private static Logger log = Logger ingo@300: .getLogger(TimeSeriesOutputTransition.class); ingo@300: tim@82: /** tim@82: * Constructor tim@82: */ tim@82: public VerticalProfileOutputTransition() { tim@86: super(); tim@186: super.domainLable = "Depth [m]"; tim@82: } tim@82: ingo@300: protected Chart getChart( ingo@300: ChartLabels chartLables, ingo@300: ChartTheme chartTheme, ingo@300: Collection parameters, ingo@300: Collection measurements, ingo@300: Collection result, ingo@300: Collection dates, ingo@300: Locale locale, ingo@300: String uuid ingo@300: ) { ingo@300: Chart chart = null; ingo@300: ingo@300: if (CACHE_CHART) { ingo@300: log.info("Try to get verticalprofile chart from cache."); ingo@300: chart = (Chart) getChartFromCache(uuid); ingo@300: } ingo@300: ingo@300: if (chart != null) ingo@300: return chart; ingo@300: ingo@300: log.info("Chart not in cache yet."); ingo@300: chart = new VerticalProfileChart( ingo@300: chartLables, ingo@300: chartTheme, ingo@300: parameters, ingo@300: measurements, ingo@300: result, ingo@300: dates, ingo@300: locale ingo@300: ); ingo@300: chart.generateChart(); ingo@300: ingo@300: if (CACHE_CHART) { ingo@300: log.info("Put chart into cache."); ingo@300: purifyChart(chart, uuid); ingo@300: } ingo@300: ingo@300: return chart; tim@82: } tim@98: tim@98: /** tim@98: * @see de.intevation.gnv.transition.timeseries.TimeSeriesOutputTransition#getStatisticsGenerator() tim@98: */ tim@98: @Override tim@98: protected Statistics getStatisticsGenerator() { tim@171: return new VerticalProfileStatistics(); tim@98: } tim@82: tim@82: }