view 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 source
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 :

http://dive4elements.wald.intevation.org