diff flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java @ 721:7298d58a1f5a

Generate facets for "Abflusskurven am Pegel". Not working by now. :-/ flys-artifacts/trunk@2198 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 22 Jun 2011 09:19:16 +0000
parents 45cd58a2a2bb
children 8900966ad945
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java	Wed Jun 22 06:51:36 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/DischargeCurveGenerator.java	Wed Jun 22 09:19:16 2011 +0000
@@ -23,9 +23,8 @@
 import de.intevation.flys.model.TimeInterval;
 
 import de.intevation.flys.artifacts.FLYSArtifact;
-import de.intevation.flys.artifacts.model.DischargeTables;
-import de.intevation.flys.artifacts.model.GaugesFactory;
 
+import de.intevation.flys.artifacts.model.WQKms;
 
 /**
  * An OutGenerator that generates discharge curves.
@@ -98,49 +97,43 @@
         logger.debug("DischargeCurveGenerator.doOut: " + facet.getName());
 
         if (!(artifact instanceof FLYSArtifact)) {
-            logger.error("Artifact is no instance of FLYSArtifact.");
+            logger.debug("Artifact is no instance of FLYSArtifact.");
             return;
         }
 
         FLYSArtifact flysArtifact = (FLYSArtifact) artifact;
 
-        River    river    = flysArtifact.getRiver();
-        double[] distance = flysArtifact.getDistance();
-
-        List<double[]> ranges = new ArrayList<double[]>();
-        ranges.add(distance);
-
-        List<Gauge> gauges   = GaugesFactory.getGauges(river);
-        List<Gauge> filtered = GaugesFactory.filterRanges(gauges, ranges);
+        facet = flysArtifact.getNativeFacet(facet);
 
-        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.getName());
-            logger.debug("-> ... from range: " + distance[0]);
-            logger.debug("-> ... to range: " + distance[1]);
-            logger.debug("-> Found " + numGauges + " gauges in total.");
-            logger.debug("-> Found " + numFiltered + " gauges after filtering.");
-            logger.debug("++++++++++++++++++++");
+        if (facet == null) {
+            logger.debug("no facet found");
+            return;
         }
 
-        String[] gaugeNames = new String[filtered.size()];
-        int idx = 0;
-        for (Gauge gauge: filtered) {
-            gaugeNames[idx++] = gauge.getName();
+        WQKms wqkms = (WQKms)facet.getData(flysArtifact, context);
+
+        String gaugeName = wqkms.getName();
+
+        River river = flysArtifact.getRiver();
+
+        if (river == null) {
+            logger.debug("no river found");
+            return;
         }
 
-        DischargeTables dt = new DischargeTables(river.getName(), gaugeNames);
-        Map<String, double[][]> gaugeValues = dt.getValues(100d);
+        Gauge gauge = river.determineGaugeByName(gaugeName);
 
-        for (Gauge gauge: filtered) {
-            String gaugeName = gauge.getName();
+        if (gauge == null) {
+            logger.debug("no gauge found");
+            return;
+        }
 
-            double[][] values = gaugeValues.get(gaugeName);
-            dataset.addSeries(getSeriesName(gauge), values);
-        }
+        String seriesName = getSeriesName(gauge);
+
+        double [][] values = new double [][] {
+            wqkms.getQs(), wqkms.getWs() };
+
+        dataset.addSeries(seriesName, values);
     }
 
 

http://dive4elements.wald.intevation.org