Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.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 | ddd8b37d5cd3 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java Thu Jun 16 14:31:41 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java Fri Jun 17 09:19:43 2011 +0000 @@ -23,6 +23,7 @@ import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; +import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.WQKms; @@ -31,8 +32,10 @@ * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ -public class LongitudinalSectionGenerator extends XYChartGenerator { - +public class LongitudinalSectionGenerator +extends XYChartGenerator +implements FacetTypes +{ /** The logger that is used in this generator.*/ private static Logger logger = Logger.getLogger(LongitudinalSectionGenerator.class); @@ -191,11 +194,18 @@ return; } - if (name.equals(LONGITUDINAL_SECTION_W)) { - doWOut(getWaterlevelData(artifact)); + FLYSArtifact flys = (FLYSArtifact) artifact; + Facet f = flys.getNativeFacet(facet); + + if (f == null) { + return; } - else if (name.equals(LONGITUDINAL_SECTION_Q)) { - doQOut(getWaterlevelData(artifact)); + + if (name.equals(LONGITUDINAL_W)) { + doWOut((WQKms) f.getData(artifact, context)); + } + else if (name.equals(LONGITUDINAL_Q)) { + doQOut((WQKms) f.getData(artifact, context)); } else { logger.warn("Unknown facet name: " + name); @@ -226,33 +236,30 @@ * * @param wqkms An array of WQKms values. */ - protected void doWOut(WQKms[] wqkms) { + protected void doWOut(WQKms wqkms) { logger.debug("LongitudinalSectionGenerator.doWOut"); - int idx = 0; - for (WQKms tmp: wqkms) { - XYSeries series = new XYSeries(getSeriesName(tmp, "W")); - - double[] target = new double[3]; - int size = tmp.size(); + XYSeries series = new XYSeries(getSeriesName(wqkms, "W")); - if (logger.isDebugEnabled()) { - if (tmp.size() > 0) { - logger.debug("Generate series: " + series.getKey()); - logger.debug("Start km: " + tmp.getKms(0)); - logger.debug("End km: " + tmp.getKms(size-1)); - logger.debug("Values : " + size); - } + double[] target = new double[3]; + int size = wqkms.size(); + + if (logger.isDebugEnabled()) { + if (wqkms.size() > 0) { + logger.debug("Generate series: " + series.getKey()); + logger.debug("Start km: " + wqkms.getKms(0)); + logger.debug("End km: " + wqkms.getKms(size-1)); + logger.debug("Values : " + size); } - - for (int i = 0; i < size; i++) { - target = tmp.get(i, target); + } - series.add(target[2], target[0]); - } + for (int i = 0; i < size; i++) { + target = wqkms.get(i, target); - w.addSeries(series); + series.add(target[2], target[0]); } + + w.addSeries(series); } @@ -261,34 +268,31 @@ * * @param wqkms An array of WQKms values. */ - protected void doQOut(WQKms[] wqkms) { + protected void doQOut(WQKms wqkms) { logger.debug("LongitudinalSectionGenerator.doQOut"); - int idx = 0; - for (WQKms tmp: wqkms) { - XYSeries series = new XYSeries(getSeriesName(tmp, "Q")); - - double[] target = new double[3]; - int size = tmp.size(); + XYSeries series = new XYSeries(getSeriesName(wqkms, "Q")); - if (logger.isDebugEnabled()) { - if (tmp.size() > 0) { - logger.debug("Generate series: " + series.getKey()); - logger.debug("Start km: " + tmp.getKms(0)); - logger.debug("End km: " + tmp.getKms(size-1)); - logger.debug("Values : " + size); - } - } + double[] target = new double[3]; + int size = wqkms.size(); - for (int i = 0; i < size; i++) { - target = tmp.get(i, target); + if (logger.isDebugEnabled()) { + if (wqkms.size() > 0) { + logger.debug("Generate series: " + series.getKey()); + logger.debug("Start km: " + wqkms.getKms(0)); + logger.debug("End km: " + wqkms.getKms(size-1)); + logger.debug("Values : " + size); + } + } - //logger.debug("++ Q Tuple: " + target[2] + " -> " + target[1]); - series.add(target[2], target[1]); - } + for (int i = 0; i < size; i++) { + target = wqkms.get(i, target); - q.addSeries(series); + //logger.debug("++ Q Tuple: " + target[2] + " -> " + target[1]); + series.add(target[2], target[1]); } + + q.addSeries(series); }