Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java @ 300:9a0e1289bab6
The FLYSArtifactCollection overrides out() and uses OutGenerators to create output for this operation.
flys-artifacts/trunk@1649 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 06 Apr 2011 10:01:49 +0000 |
parents | fbbb22e1e206 |
children | f526f02e8ce2 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java Wed Apr 06 09:56:38 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java Wed Apr 06 10:01:49 2011 +0000 @@ -1,11 +1,6 @@ package de.intevation.flys.artifacts; -import java.awt.Color; -import java.io.IOException; -import java.io.OutputStream; -import java.util.ArrayList; import java.util.List; -import java.util.Map; import java.util.Vector; import org.w3c.dom.Document; @@ -14,12 +9,6 @@ import org.apache.log4j.Logger; -import org.jfree.data.xy.DefaultXYDataset; - -import org.jfree.chart.ChartFactory; -import org.jfree.chart.JFreeChart; -import org.jfree.chart.plot.PlotOrientation; - import de.intevation.artifacts.ArtifactNamespaceContext; import de.intevation.artifacts.CallContext; @@ -31,13 +20,8 @@ import de.intevation.artifacts.common.utils.XMLUtils; -import de.intevation.flys.model.Gauge; - -import de.intevation.flys.artifacts.model.DischargeTables; -import de.intevation.flys.artifacts.model.GaugesFactory; import de.intevation.flys.artifacts.states.DefaultState; import de.intevation.flys.artifacts.context.FLYSContext; -import de.intevation.flys.exports.ChartExportHelper; /** @@ -139,76 +123,6 @@ } - @Override - public void out( - Document format, - OutputStream out, - CallContext context) - throws IOException - { - logger.info("WINFOArtifact.out"); - String river = (String) getData("river").getValue(); - String from = (String) getData("ld_from").getValue(); - String to = (String) getData("ld_to").getValue(); - - double f = Double.parseDouble(from); - double t = Double.parseDouble(to); - - List<double[]> ranges = new ArrayList<double[]>(); - ranges.add(new double [] { f, t }); - - List<Gauge> gauges = GaugesFactory.getGauges(river); - List<Gauge> filtered = GaugesFactory.filterRanges(gauges, ranges); - - if (logger.isDebugEnabled()) { - int numGauges = gauges != null ? gauges.size() : 0; - int numFiltered = filtered != null ? filtered.size() : 0; - - logger.debug("++++++++++++++++++++"); - logger.debug("Search gauges for river: " + river); - logger.debug("-> ... from range: " + from); - logger.debug("-> ... to range: " + to); - logger.debug("-> Found " + numGauges + " gauges in total."); - logger.debug("-> Found " + numFiltered + " gauges after filtering."); - logger.debug("++++++++++++++++++++"); - } - - String[] gaugeNames = new String[filtered.size()]; - int idx = 0; - for (Gauge gauge: filtered) { - gaugeNames[idx++] = gauge.getName(); - } - - DischargeTables dt = new DischargeTables(river, gaugeNames); - Map<String, double[][]> gaugeValues = dt.getValues(100d); - - DefaultXYDataset dataset = new DefaultXYDataset(); - - for (String gauge: gaugeNames) { - double[][] values = gaugeValues.get(gauge); - dataset.addSeries(gauge, values); - } - - JFreeChart chart = ChartFactory.createXYLineChart( - "Abflusskurven (" + river + ")", - "Q", "W", - dataset, - PlotOrientation.VERTICAL, - true, - false, - false); - - chart.setBackgroundPaint(Color.WHITE); - chart.getPlot().setBackgroundPaint(Color.WHITE); - - ChartExportHelper.exportImage( - out, - chart, - "png", - 600, 400); - } - - /** * Returns the name of the concrete artifact. *