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: } andre@8584: else if ("range".equals(fieldName)) { andre@8584: value = metaData.get("range"); andre@8584: } 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@8438: else if ("sounding1header".equals(fieldName)) { tom@8438: value = metaData.get("sounding1header"); tom@8438: } tom@8438: else if ("sounding2header".equals(fieldName)) { tom@8438: value = metaData.get("sounding2header"); tom@8438: } tom@8438: else if ("gap1header".equals(fieldName)) { tom@8438: value = metaData.get("gap1header"); tom@8438: } tom@8438: else if ("gap2header".equals(fieldName)) { tom@8438: value = metaData.get("gap2header"); tom@8438: } 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: } rrenkert@8422: else if ("sounding1".equals(fieldName)) { tom@7916: value = data.get(index)[3]; tom@7916: } rrenkert@8422: else if ("sounding2".equals(fieldName)) { tom@7916: value = data.get(index)[4]; teichmann@7915: } rrenkert@8422: else if ("gap1".equals(fieldName)) { tom@8438: value = data.get(index)[5]; rrenkert@8422: } rrenkert@8422: else if ("gap2".equals(fieldName)) { tom@8438: value = data.get(index)[6]; rrenkert@8422: } aheinecke@6240: return value; aheinecke@6240: } aheinecke@6240: } aheinecke@6240: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :