aheinecke@6173: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde aheinecke@6173: * Software engineering by Intevation GmbH aheinecke@6173: * aheinecke@6173: * This file is Free Software under the GNU AGPL (>=v3) aheinecke@6173: * and comes with ABSOLUTELY NO WARRANTY! Check out the aheinecke@6173: * documentation coming with Dive4Elements River for details. aheinecke@6173: */ aheinecke@6173: aheinecke@6173: package org.dive4elements.river.artifacts.model.sq; aheinecke@6173: aheinecke@6173: import java.util.ArrayList; aheinecke@6173: import java.util.HashMap; aheinecke@6173: aheinecke@6173: import org.apache.log4j.Logger; aheinecke@6173: aheinecke@6173: import net.sf.jasperreports.engine.JRDataSource; aheinecke@6173: import net.sf.jasperreports.engine.JRException; aheinecke@6173: import net.sf.jasperreports.engine.JRField; aheinecke@6173: aheinecke@6173: aheinecke@6173: /** aheinecke@6239: * @author Andre Heinecke aheinecke@6173: */ aheinecke@6173: public class SQRelationJRDataSource implements JRDataSource aheinecke@6173: { aheinecke@6173: /** The logger used in this exporter.*/ aheinecke@6173: private static Logger logger = Logger.getLogger(SQRelationJRDataSource.class); aheinecke@6173: aheinecke@6173: private ArrayList data; aheinecke@6173: private HashMap metaData; aheinecke@6173: aheinecke@6173: private int index = -1; aheinecke@6173: aheinecke@6173: public SQRelationJRDataSource() { aheinecke@6173: data = new ArrayList(); aheinecke@6173: metaData = new HashMap(); aheinecke@6173: } aheinecke@6173: aheinecke@6173: public void addData(String[] val) { aheinecke@6173: data.add(val); aheinecke@6173: } aheinecke@6173: aheinecke@6173: public void addMetaData(String key, String value) { aheinecke@6173: metaData.put(key, value); aheinecke@6173: } aheinecke@6173: aheinecke@6173: public boolean next() throws JRException { aheinecke@6173: index++; aheinecke@6173: return (index < data.size()); aheinecke@6173: } aheinecke@6173: aheinecke@6173: public Object getFieldValue(JRField field) throws JRException { aheinecke@6173: Object value = ""; aheinecke@6173: String fieldName = field.getName(); aheinecke@6173: if ("river".equals(fieldName)) { aheinecke@6173: value = metaData.get("river"); aheinecke@6173: } aheinecke@6173: else if ("date".equals(fieldName)) { aheinecke@6173: value = metaData.get("date"); aheinecke@6173: } aheinecke@6173: else if ("calculation".equals(fieldName)) { aheinecke@6173: value = metaData.get("calculation"); aheinecke@6173: } aheinecke@6173: else if ("location".equals(fieldName)) { aheinecke@6173: value = metaData.get("location"); aheinecke@6173: } aheinecke@6173: else if ("outliers".equals(fieldName)) { aheinecke@6173: value = metaData.get("outliers"); aheinecke@6173: } aheinecke@6173: else if ("outliertest".equals(fieldName)) { aheinecke@6173: value = metaData.get("outliertest"); aheinecke@6173: } aheinecke@6173: else if ("periods".equals(fieldName)) { aheinecke@6173: value = metaData.get("periods"); aheinecke@6173: } aheinecke@6859: else if ("msName".equals(fieldName)) { aheinecke@6859: value = metaData.get("msName"); aheinecke@6859: } aheinecke@6859: else if ("msGauge".equals(fieldName)) { aheinecke@6859: value = metaData.get("msGauge"); aheinecke@6859: } aheinecke@6173: else if ("km".equals(fieldName)) { aheinecke@6173: value = data.get(index)[0]; aheinecke@6173: } aheinecke@6173: else if ("param".equals(fieldName)) { aheinecke@6173: value = data.get(index)[1]; aheinecke@6173: } aheinecke@6173: else if ("a".equals(fieldName)) { aheinecke@6173: value = data.get(index)[2]; aheinecke@6173: } aheinecke@6173: else if ("b".equals(fieldName)) { aheinecke@6173: value = data.get(index)[3]; aheinecke@6173: } aheinecke@6173: else if ("total".equals(fieldName)) { aheinecke@6828: value = data.get(index)[7]; aheinecke@6173: } aheinecke@6173: else if ("out".equals(fieldName)) { aheinecke@6828: value = data.get(index)[8]; aheinecke@6828: } aheinecke@6828: else if ("sd".equals(fieldName)) { aheinecke@6828: value = data.get(index)[4]; aheinecke@6828: } aheinecke@6828: else if ("qmax".equals(fieldName)) { aheinecke@6173: value = data.get(index)[5]; aheinecke@6173: } aheinecke@6828: else if ("cferg".equals(fieldName)) { aheinecke@6828: value = data.get(index)[10]; aheinecke@6828: } aheinecke@6828: else if ("cduan".equals(fieldName)) { aheinecke@6828: value = data.get(index)[9]; aheinecke@6828: } aheinecke@6828: else if ("r2".equals(fieldName)) { aheinecke@6173: value = data.get(index)[6]; aheinecke@6173: } aheinecke@6173: return value; aheinecke@6173: } aheinecke@6173: } aheinecke@6173: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :