andre@8578: /* Copyright (C) 2011, 2012, 2013, 2015 by Bundesanstalt für Gewässerkunde
andre@8578: * Software engineering by Intevation GmbH
andre@8578: *
andre@8578: * This file is Free Software under the GNU AGPL (>=v3)
andre@8578: * and comes with ABSOLUTELY NO WARRANTY! Check out the
andre@8578: * documentation coming with Dive4Elements River for details.
andre@8578: */
andre@8578:
andre@8578: package org.dive4elements.river.artifacts.model.sq;
andre@8578:
andre@8578: import java.util.ArrayList;
andre@8578:
andre@8578: import org.apache.log4j.Logger;
andre@8578:
andre@8578: import net.sf.jasperreports.engine.JRDataSource;
andre@8578: import net.sf.jasperreports.engine.JRException;
andre@8578: import net.sf.jasperreports.engine.JRField;
andre@8578:
andre@8578:
andre@8578: /**
andre@8578: * @author Andre Heinecke
andre@8578: */
andre@8578: public class SQMeasurementsJRDataSource implements JRDataSource
andre@8578: {
andre@8578: /** The log used in this exporter.*/
tom@8856: private static Logger log = Logger.getLogger(
tom@8856: SQMeasurementsJRDataSource.class);
andre@8578:
andre@8578: private ArrayList data;
andre@8578:
andre@8578: private int index = -1;
andre@8578:
andre@8578: public SQMeasurementsJRDataSource() {
andre@8578: data = new ArrayList();
andre@8578: }
andre@8578:
andre@8578: public void addData(String[] val) {
andre@8578: data.add(val);
andre@8578: }
andre@8578:
andre@8578: public boolean next() throws JRException {
andre@8578: index++;
andre@8578: return (index < data.size());
andre@8578: }
andre@8578:
andre@8578: public Object getFieldValue(JRField field) throws JRException {
andre@8578: Object value = "";
andre@8578: String fieldName = field.getName();
andre@8578: if ("param".equals(fieldName)) {
andre@8578: value = data.get(index)[0];
andre@8578: }
andre@8578: else if ("transport".equals(fieldName)) {
andre@8578: value = data.get(index)[1];
andre@8578: }
andre@8578: else if ("discharge".equals(fieldName)) {
andre@8578: value = data.get(index)[2];
andre@8578: }
andre@8578: else if ("date".equals(fieldName)) {
andre@8578: value = data.get(index)[3];
andre@8578: }
andre@8578: else if ("outlier".equals(fieldName)) {
andre@8578: value = data.get(index)[4];
andre@8578: }
andre@8578: return value;
andre@8578: }
andre@8578: }
andre@8578: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :