Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java @ 696:708b270dfd30 facets-slt
OutGenerators use now facets to fetch necessary data.
flys-artifacts/branches/facets-slt@2140 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 17 Jun 2011 09:19:43 +0000 |
parents | 45cd58a2a2bb |
children | f3fd8c9b7f51 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java Thu Jun 16 14:31:41 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java Fri Jun 17 09:19:43 2011 +0000 @@ -11,7 +11,8 @@ import de.intevation.artifactdatabase.state.Facet; -import de.intevation.flys.artifacts.WINFOArtifact; +import de.intevation.flys.artifacts.FLYSArtifact; +import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.WQKms; @@ -20,8 +21,10 @@ * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ -public class ComputedDischargeCurveGenerator extends DischargeCurveGenerator { - +public class ComputedDischargeCurveGenerator +extends DischargeCurveGenerator +implements FacetTypes +{ /** The logger used in this generator.*/ private static Logger logger = Logger.getLogger(ComputedDischargeCurveGenerator.class); @@ -68,10 +71,24 @@ @Override public void doOut(Artifact artifact, Facet facet, Document attr) { - logger.debug("ComputedDischargeCurveGenerator.doOut"); + String name = facet != null ? facet.getName() : null; - WQKms wqkms = getData(artifact); + logger.debug("ComputedDischargeCurveGenerator.doOut: " + name); + FLYSArtifact flys = (FLYSArtifact) artifact; + Facet f = flys.getNativeFacet(facet); + + if (name != null && name.equals(COMPUTED_DISCHARGE_Q)) { + doQOut((WQKms) f.getData(artifact, context)); + } + else { + logger.warn("Unknown facet type for computed discharge: " + name); + return; + } + } + + + protected void doQOut(WQKms wqkms) { int size = wqkms.size(); double[][] data = new double[2][size]; @@ -88,15 +105,6 @@ } - protected WQKms getData(Artifact artifact) { - logger.debug("ComputedDischargeCurveGenerator.getData"); - - WINFOArtifact winfoArtifact = (WINFOArtifact) artifact; - - return winfoArtifact.getComputedDischargeCurveData(); - } - - protected String getSeriesName(WQKms wqkms) { Object[] args = new Object[] { getRiverName(),