# HG changeset patch # User Sascha L. Teichmann # Date 1308318350 0 # Node ID dad1a2c88f9fc5db2fd7e507344e4c5eaab3d480 # Parent 94f0f91be11c6e89502d142d2ba61eb9f20866a7 Base WST/CSV exports on facets. TODO: generate the facets. flys-artifacts/branches/facets-slt@2151 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 94f0f91be11c -r dad1a2c88f9f flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java Fri Jun 17 13:10:20 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FacetTypes.java Fri Jun 17 13:45:50 2011 +0000 @@ -13,5 +13,8 @@ String DURATION_W = "duration_curve.w"; String DURATION_Q = "duration_curve.q"; + + String CSV = "csv"; + String WST = "wst"; } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : diff -r 94f0f91be11c -r dad1a2c88f9f flys-artifacts/src/main/java/de/intevation/flys/exports/AbstractExporter.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/AbstractExporter.java Fri Jun 17 13:10:20 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/AbstractExporter.java Fri Jun 17 13:45:50 2011 +0000 @@ -20,6 +20,8 @@ import de.intevation.flys.artifacts.resources.Resources; +import de.intevation.flys.artifacts.FLYSArtifact; + /** * An abstract exporter that implements some basic methods for exporting data of @@ -78,7 +80,7 @@ * @param artifacts The artifact that stores the data that has to be * exported. */ - protected abstract void addData(Artifact artifact); + protected abstract void addData(Object data); public void init(Document request, OutputStream out, CallContext context) { @@ -117,7 +119,13 @@ return; } - addData(artifact); + FLYSArtifact flys = (FLYSArtifact)artifact; + + Facet nativeFacet = flys.getNativeFacet(facet); + + if (nativeFacet != null) { + addData(nativeFacet.getData(flys, context)); + } } diff -r 94f0f91be11c -r dad1a2c88f9f flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java Fri Jun 17 13:10:20 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveExporter.java Fri Jun 17 13:45:50 2011 +0000 @@ -3,6 +3,7 @@ import java.io.OutputStream; import java.text.NumberFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.w3c.dom.Document; @@ -11,10 +12,8 @@ import au.com.bytecode.opencsv.CSVWriter; -import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; -import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.WQKms; import de.intevation.flys.utils.Formatter; @@ -51,9 +50,11 @@ } - protected void addData(Artifact artifact) { - WINFOArtifact winfoArtifact = (WINFOArtifact) artifact; - data.add(winfoArtifact.getComputedDischargeCurveData()); + @Override + protected void addData(Object d) { + if (d instanceof WQKms []) { + data.addAll(Arrays.asList((WQKms [])d)); + } } diff -r 94f0f91be11c -r dad1a2c88f9f flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java Fri Jun 17 13:10:20 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeLongitudinalSectionExporter.java Fri Jun 17 13:45:50 2011 +0000 @@ -6,9 +6,6 @@ import au.com.bytecode.opencsv.CSVWriter; -import de.intevation.artifacts.Artifact; - -import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.WQCKms; import de.intevation.flys.artifacts.model.WQKms; @@ -41,13 +38,10 @@ @Override - protected void addData(Artifact artifact) { - WINFOArtifact winfo = (WINFOArtifact) artifact; - WQKms[] wqkms = winfo.getDischargeLongitudinalSectionData(); - - logger.debug("Got " + wqkms != null ? wqkms.length : 0 + " WQKms obj."); - - data.add(wqkms); + protected void addData(Object d) { + if (d instanceof WQKms []) { + data.add((WQKms [])d); + } } diff -r 94f0f91be11c -r dad1a2c88f9f flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveExporter.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveExporter.java Fri Jun 17 13:10:20 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DurationCurveExporter.java Fri Jun 17 13:45:50 2011 +0000 @@ -3,6 +3,7 @@ import java.io.OutputStream; import java.text.NumberFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.w3c.dom.Document; @@ -11,10 +12,8 @@ import au.com.bytecode.opencsv.CSVWriter; -import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; -import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.WQDay; import de.intevation.flys.utils.Formatter; @@ -55,9 +54,11 @@ } - protected void addData(Artifact artifact) { - WINFOArtifact winfoArtifact = (WINFOArtifact) artifact; - data.add(winfoArtifact.getDurationCurveData()); + @Override + protected void addData(Object d) { + if (d instanceof WQDay []) { + data.addAll(Arrays.asList((WQDay [])d)); + } } diff -r 94f0f91be11c -r dad1a2c88f9f flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Fri Jun 17 13:10:20 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Fri Jun 17 13:45:50 2011 +0000 @@ -77,8 +77,11 @@ } - protected void addData(Artifact artifact) { - data.add(getWaterlevelData(artifact)); + @Override + protected void addData(Object d) { + if (d instanceof WQKms []) { + data.add((WQKms [])d); + } } @@ -99,6 +102,7 @@ } + @Override protected void writeCSVData(CSVWriter writer) { logger.info("WaterlevelExporter.writeData");