Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java @ 1040:70653c29fc1d
Finished vector support for timeseriespoints (Issue27).
gnv-artifacts/trunk@1112 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 19 May 2010 14:05:33 +0000 |
parents | |
children | 8a8ee5abc084 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesVectorOutputState.java Wed May 19 14:05:33 2010 +0000 @@ -0,0 +1,88 @@ +package de.intevation.gnv.state.timeseries; + +import de.intevation.artifacts.CallContext; + +import de.intevation.gnv.chart.Chart; +import de.intevation.gnv.chart.ChartLabels; +import de.intevation.gnv.chart.TimeSeriesVectorChart; + +import de.intevation.gnv.geobackend.base.Result; +import de.intevation.gnv.geobackend.base.query.QueryExecutor; +import de.intevation.gnv.geobackend.base.query.QueryExecutorFactory; +import de.intevation.gnv.geobackend.base.query.exception.QueryException; + +import de.intevation.gnv.utils.VectorDataProcessor; + +import java.util.Collection; +import java.util.Locale; + +import org.apache.log4j.Logger; + +import org.jfree.chart.ChartTheme; + +/** + * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> + */ +public class TimeSeriesVectorOutputState extends TimeSeriesOutputState { + + private static Logger logger = + Logger.getLogger(TimeSeriesVectorOutputState.class); + + public TimeSeriesVectorOutputState() { + } + + + @Override + protected Collection<Result> getData(String queryID) { + logger.debug("Fetch chart data from database and convert it."); + try { + String[] filter = generateFilterValuesFromInputData(); + QueryExecutor queryExecutor = + QueryExecutorFactory.getInstance().getQueryExecutor(); + + Collection<Result> res = queryExecutor.executeQuery(queryID,filter); + return VectorDataProcessor.process(res); + } + catch (RuntimeException e) { + logger.error(e, e); + } + catch (QueryException e) { + logger.error(e, e); + } + + return null; + } + + + @Override + protected Chart getChart( + ChartLabels chartLables, + ChartTheme theme, + Collection parameters, + Collection measurements, + Collection dates, + Object result, + Locale locale, + String uuid, + boolean linesVisible, + boolean shapesVisible, + CallContext callContext + ) { + Chart chart = new TimeSeriesVectorChart( + chartLables, + theme, + parameters, + measurements, + dates, + (Collection)result, + timeGapDefinitions, + locale, + linesVisible, + shapesVisible + ); + chart.generateChart(); + + return chart; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :