Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/exports/DefaultDataCollector.java @ 233:2ceb4bf51cba
Added DataCollector which collects data used for exports.
gnv-artifacts/trunk@301 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 09 Nov 2009 09:43:52 +0000 |
parents | |
children | e964a3d8f7bc |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/exports/DefaultDataCollector.java Mon Nov 09 09:43:52 2009 +0000 @@ -0,0 +1,48 @@ +package de.intevation.gnv.exports; + +import java.util.List; +import java.util.ArrayList; + +import org.apache.log4j.Logger; + +import de.intevation.gnv.geobackend.base.Result; +import de.intevation.gnv.geobackend.base.ResultDescriptor; +import de.intevation.gnv.transition.exception.TransitionException; + + +/** + * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) + */ +public class DefaultDataCollector +implements Export.DataCollector +{ + private Logger log = Logger.getLogger(DefaultDataCollector.class); + + protected ResultDescriptor rd; + protected String [] names; + + + public DefaultDataCollector(String[] names) { + this.names = names; + } + + public void init(Result res) { + rd = res.getResultDescriptor(); + } + + public String[] getData(Result result) + throws TransitionException { + + if (rd == null) + init(result); + + List entries = new ArrayList(); + + int[] indices = rd.getColumnIndices(names); + for (int i = 0; i < names.length; ++i) { + entries.add(result.getString(indices[i])); + } + + return (String[]) entries.toArray((new String[entries.size()])); + } +}