aheinecke@6240: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde aheinecke@6240: * Software engineering by Intevation GmbH aheinecke@6240: * aheinecke@6240: * This file is Free Software under the GNU AGPL (>=v3) aheinecke@6240: * and comes with ABSOLUTELY NO WARRANTY! Check out the aheinecke@6240: * documentation coming with Dive4Elements River for details. aheinecke@6240: */ aheinecke@6240: aheinecke@6240: package org.dive4elements.river.artifacts.model.minfo; aheinecke@6240: aheinecke@6240: import java.util.ArrayList; aheinecke@6240: import java.util.HashMap; aheinecke@6240: aheinecke@6240: import net.sf.jasperreports.engine.JRDataSource; aheinecke@6240: import net.sf.jasperreports.engine.JRException; aheinecke@6240: import net.sf.jasperreports.engine.JRField; aheinecke@6240: aheinecke@6240: aheinecke@6240: /** aheinecke@6240: * @author Andre Heinecke aheinecke@6240: */ aheinecke@6240: public class BedDifferenceJRDataSource implements JRDataSource aheinecke@6240: { aheinecke@6240: private ArrayList data; aheinecke@6240: private HashMap metaData; aheinecke@6240: aheinecke@6240: private int index = -1; aheinecke@6240: aheinecke@6240: public BedDifferenceJRDataSource() { aheinecke@6240: data = new ArrayList(); aheinecke@6240: metaData = new HashMap(); aheinecke@6240: } aheinecke@6240: aheinecke@6240: public void addData(String[] val) { aheinecke@6240: data.add(val); aheinecke@6240: } aheinecke@6240: aheinecke@6240: public void addMetaData(String key, String value) { aheinecke@6240: metaData.put(key, value); aheinecke@6240: } aheinecke@6240: aheinecke@6240: public boolean next() throws JRException { aheinecke@6240: index++; aheinecke@6240: return (index < data.size()); aheinecke@6240: } aheinecke@6240: aheinecke@6240: public Object getFieldValue(JRField field) throws JRException { aheinecke@6240: Object value = ""; aheinecke@6240: String fieldName = field.getName(); aheinecke@6240: if ("river".equals(fieldName)) { aheinecke@6240: value = metaData.get("river"); aheinecke@6240: } aheinecke@6240: else if ("calculation".equals(fieldName)) { aheinecke@6240: value = metaData.get("calculation"); aheinecke@6240: } aheinecke@6240: else if ("ye_mode".equals(fieldName)) { aheinecke@6240: value = metaData.get("ye_mode"); aheinecke@6240: } aheinecke@6240: else if ("date".equals(fieldName)) { aheinecke@6240: value = metaData.get("date"); aheinecke@6240: } aheinecke@6240: else if ("differences".equals(fieldName)) { aheinecke@6240: value = metaData.get("differences"); aheinecke@6240: } tom@7916: else if ("kmheader".equals(fieldName)) { tom@7916: value = metaData.get("kmheader"); tom@7916: } tom@7916: else if ("diffpairheader".equals(fieldName)) { tom@7916: value = metaData.get("diffpairheader"); tom@7916: } tom@7916: else if ("diffheader".equals(fieldName)) { tom@7916: value = metaData.get("diffheader"); tom@7916: } tom@7916: else if ("morph1header".equals(fieldName)) { tom@7916: value = metaData.get("morph1header"); tom@7916: } tom@7916: else if ("morph2header".equals(fieldName)) { tom@7916: value = metaData.get("morph2header"); teichmann@7909: } aheinecke@6240: else if ("km".equals(fieldName)) { aheinecke@6240: value = data.get(index)[0]; aheinecke@6240: } tom@7916: else if ("diffpair".equals(fieldName)) { aheinecke@6240: value = data.get(index)[1]; aheinecke@6240: } tom@7916: else if ("diff".equals(fieldName)) { teichmann@7915: value = data.get(index)[2]; teichmann@7915: } tom@7916: else if ("morph1".equals(fieldName)) { tom@7916: value = data.get(index)[3]; tom@7916: } tom@7916: else if ("morph2".equals(fieldName)) { tom@7916: value = data.get(index)[4]; teichmann@7915: } aheinecke@6240: return value; aheinecke@6240: } aheinecke@6240: } aheinecke@6240: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :