diff flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java @ 3056:0b5a7a2c3724

Try to workaround some exception in FixWQCurveFacet and FixWQCurveGenerator flys-artifacts/trunk@4632 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Sun, 10 Jun 2012 11:12:38 +0000
parents 1fbf8462f808
children febc39e77672
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java	Sat Jun 09 13:46:04 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java	Sun Jun 10 11:12:38 2012 +0000
@@ -3,6 +3,7 @@
 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
 import de.intevation.flys.artifacts.model.FacetTypes;
 import de.intevation.flys.artifacts.model.WQDay;
+import de.intevation.flys.artifacts.model.fixings.FixFunction;
 import de.intevation.flys.artifacts.model.fixings.QW;
 import de.intevation.flys.exports.ChartGenerator;
 import de.intevation.flys.exports.XYChartGenerator;
@@ -54,30 +55,22 @@
     }
 
     @Override
-    public void doOut(ArtifactAndFacet bundle, Document doc, boolean visible) {
-        String name = bundle.getFacetName();
-/*        Object data;
-        try {
-            data = bundle.getData(context);
-        } catch(NullPointerException ex) { // FIXME it's crashing on every edge 
-            logger.error("doOut Exception catched", ex);
-            data = new Object();
-        }*/
+    public void doOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
+        String name = aaf.getFacetName();
         logger.debug("doOut: " + name);
-        //logger.debug("doOut: data is instanceof " + data.toString());
-        
+
         if(FIX_SECTOR_AVERAGE_WQ.equals(name)) {
-            doSectorAverageOut(bundle, doc, visible);
+            doSectorAverageOut(aaf, doc, visible);
         } else if(FIX_ANALYSIS_EVENTS_WQ.equals(name)) {
-            doAnalysisEventsOut(bundle, doc, visible);
+            doAnalysisEventsOut(aaf, doc, visible);
         } else if(FIX_ANALYSIS_PERIODS_WQ.equals(name)) {
-            doAnalysisPeriodsOut(bundle, doc, visible);
+            doAnalysisPeriodsOut(aaf, doc, visible);
         } else if(FIX_REFERENCE_EVENTS_WQ.equals(name)) {
-            doReferenceEventsOut(bundle, doc, visible);
+            doReferenceEventsOut(aaf, doc, visible);
         } else if(FIX_WQ_CURVE.equals(name)) {
-            doWQOut(new QW(13.37, 42.23, "Unknown point", new Date()), bundle, doc, visible);
+            doWQCurveOut(aaf, doc, visible);
         } else if(FIX_OUTLIER.equals(name)) {
-            doOutlierOut(bundle, doc, visible);
+            doOutlierOut(aaf, doc, visible);
         } else {
             logger.warn("Unknown facet name " + name);
             return;
@@ -132,22 +125,14 @@
        addAxisSeries(series, 0, visible);
     }
 
-    protected void doWQOut(
-        QW            wqdays,
-        ArtifactAndFacet aaf,
-        Document         theme,
-        boolean          visible
-    ) {
-        logger.debug("doWQOut");
+    protected void doWQCurveOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
+        logger.debug("doWQCurveOut");
 
-        XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), theme);
-        java.util.Random rand = new java.util.Random(1000);
-        int size = 10; //wqdays.size();
-        for (int i = 0; i < size; i++) {
-            //int  day = wqdays.getDate(i);
-            //double q = wqdays.getQ(i);
+        FixFunction func = (FixFunction)aaf.getData(context);
 
-            series.add(rand.nextDouble(), rand.nextDouble());
+        XYSeries series = new StyledXYSeries(aaf.getFacetDescription(), doc);
+        for (int q = 0; q <= func.getMaxQ(); q += 1.0) {
+            series.add(q, func.getFunction().value(q));
         }
 
         addAxisSeries(series, 0, visible);

http://dive4elements.wald.intevation.org