Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/exports/DefaultExport.java @ 235:c8ecc0c0bcb4
Renaming HorizontalProfileDataCollector into ShapeDataCollector.
gnv-artifacts/trunk@303 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 09 Nov 2009 10:16:10 +0000 |
parents | 2ceb4bf51cba |
children | 75da91eca29f |
line wrap: on
line source
package de.intevation.gnv.exports; import org.apache.log4j.Logger; import au.com.bytecode.opencsv.CSVWriter; import java.util.List; import java.util.Iterator; import java.util.Collection; import java.io.UnsupportedEncodingException; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.OutputStream; import de.intevation.gnv.exports.Export.Profile; import de.intevation.gnv.geobackend.base.Result; import de.intevation.gnv.geobackend.base.ResultDescriptor; import de.intevation.gnv.transition.exception.TransitionException; /** * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) */ public class DefaultExport implements Export { 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(); while (it.hasNext()) { Result res = it.next(); writer.writeNext(collector.getData(res)); } } public void create( Profile profile, OutputStream outputStream, Collection result ) throws IOException, UnsupportedEncodingException, TransitionException { if (result == null) { String msg = "No data given for generation of " + profile.getType() + " file."; log.error(msg); throw new TransitionException(msg); } CSVWriter writer = new CSVWriter( new OutputStreamWriter( outputStream, profile.getEncoding()), profile.getSeparator(), profile.getQuoteCharacter(), profile.getEscapeCharacter()); writeData(profile, result, writer); writer.close(); } }