Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/exports/DefaultExport.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 | f68ffbe974a0 |
children | 75da91eca29f |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/exports/DefaultExport.java Mon Nov 09 08:55:01 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/exports/DefaultExport.java Mon Nov 09 09:43:52 2009 +0000 @@ -29,35 +29,25 @@ { private static Logger log = Logger.getLogger(DefaultExport.class); + private Export.DataCollector collector; + + public DefaultExport(Export.DataCollector collector) { + this.collector = collector; + } + protected void writeData( Profile profile, Collection result, CSVWriter writer - ) { + ) + throws TransitionException { log.debug("create content for export."); Iterator<Result> it = result.iterator(); - ResultDescriptor rd = null; - int [] indices = null; - - String[] entries = new String[profile.numberColumns()]; - while (it.hasNext()) { Result res = it.next(); - if (rd == null) { - rd = res.getResultDescriptor(); - String [] names = new String[entries.length]; - for (int i = 0; i < names.length; ++i) { - names[i] = profile.getHeader(i); - } - indices = rd.getColumnIndices(names); - } - for (int i = 0; i < entries.length; ++i) { - entries[i] = profile.toString( - i, res.getString(indices[i])); - } - writer.writeNext(entries); + writer.writeNext(collector.getData(res)); } }