Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WWQQJRDataSource.java @ 5496:23d8f2700b38
Add support for multiple floodplains and add them to the datacage accordingly
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 28 Mar 2013 12:39:14 +0100 |
parents | 3e5f45a9e052 |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import java.util.ArrayList; import java.util.HashMap; import org.apache.log4j.Logger; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; /** * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ public class WWQQJRDataSource implements JRDataSource { /** The logger used in this exporter.*/ private static Logger logger = Logger.getLogger(WWQQJRDataSource.class); /** * */ private ArrayList<String[]> data; private HashMap<String, String> metaData; private int index = -1; /** * */ public WWQQJRDataSource() { data = new ArrayList<String[]>(); metaData = new HashMap<String, String>(); } /** * */ public void addData(String[] data) { this.data.add(data); } /** * */ public void addMetaData(String key, String value) { this.metaData.put(key, value); } /** * */ public boolean next() throws JRException { index++; return (index < data.size()); } /** * */ public Object getFieldValue(JRField field) throws JRException { Object value = ""; String fieldName = field.getName(); if ("river".equals(fieldName)) { value = metaData.get("river"); } else if ("date".equals(fieldName)) { value = metaData.get("date"); } else if ("calculation".equals(fieldName)) { value = metaData.get("calculation"); } else if ("reference".equals(fieldName)) { value = metaData.get("reference"); } else if ("location".equals(fieldName)) { value = metaData.get("location"); } else if ("km1".equals(fieldName)) { value = data.get(index)[0]; } else if ("location1".equals(fieldName)) { value = data.get(index)[1]; } else if ("W1".equals(fieldName)) { value = data.get(index)[2]; } else if ("Q1".equals(fieldName)) { value = data.get(index)[3]; } else if ("km2".equals(fieldName)) { value = data.get(index)[4]; } else if ("location2".equals(fieldName)) { value = data.get(index)[5]; } else if ("W2".equals(fieldName)) { value = data.get(index)[6]; } else if ("Q2".equals(fieldName)) { value = data.get(index)[7]; } else if ("Wcm1".equals(fieldName)) { value = data.get(index)[8]; } else if ("Wcm2".equals(fieldName)) { value = data.get(index)[9]; } return value; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :