ingo@233: package de.intevation.gnv.exports; ingo@233: ingo@233: import java.util.List; ingo@233: import java.util.ArrayList; ingo@233: ingo@233: import org.apache.log4j.Logger; ingo@233: ingo@233: import de.intevation.gnv.geobackend.base.Result; ingo@233: import de.intevation.gnv.geobackend.base.ResultDescriptor; tim@335: import de.intevation.gnv.state.exception.StateException; ingo@233: ingo@233: ingo@233: /** ingo@233: * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) ingo@233: */ ingo@233: public class DefaultDataCollector ingo@233: implements Export.DataCollector ingo@233: { ingo@233: private Logger log = Logger.getLogger(DefaultDataCollector.class); ingo@233: ingo@233: protected ResultDescriptor rd; ingo@233: protected String [] names; ingo@233: ingo@233: ingo@233: public DefaultDataCollector(String[] names) { ingo@233: this.names = names; ingo@233: } ingo@233: ingo@233: public void init(Result res) { ingo@233: rd = res.getResultDescriptor(); ingo@233: } ingo@233: ingo@233: public String[] getData(Result result) tim@335: throws StateException { ingo@233: ingo@233: if (rd == null) ingo@233: init(result); ingo@233: ingo@233: List entries = new ArrayList(); ingo@233: ingo@233: int[] indices = rd.getColumnIndices(names); ingo@233: for (int i = 0; i < names.length; ++i) { ingo@233: entries.add(result.getString(indices[i])); ingo@233: } ingo@233: ingo@233: return (String[]) entries.toArray((new String[entries.size()])); ingo@233: } ingo@233: }