diff flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java @ 3081:26119b7b3154

Fixing output generator hacking flys-artifacts/trunk@4677 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Christian Lins <christian.lins@intevation.de>
date Sun, 17 Jun 2012 20:45:01 +0000
parents 5642a83420f2
children 960307cf2adc
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java	Fri Jun 15 12:42:13 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixDerivedCurveGenerator.java	Sun Jun 17 20:45:01 2012 +0000
@@ -4,6 +4,7 @@
 
 import de.intevation.flys.artifacts.model.FacetTypes;
 
+import de.intevation.flys.artifacts.model.fixings.FixDerivateFacet;
 import de.intevation.flys.artifacts.model.fixings.FixFunction;
 
 import de.intevation.flys.exports.ChartGenerator;
@@ -66,19 +67,23 @@
     public void doOut(ArtifactAndFacet aaf, Document doc, boolean visible) {
         logger.debug("doOut");
 
-        FixFunction func = (FixFunction)aaf.getData(context);
-        if(func.getMaxQ() > 0) {
+        FixDerivateFacet facet = (FixDerivateFacet)aaf.getFacet();
+        FixFunction func = (FixFunction)facet.getData(
+            aaf.getArtifact(), context, getCurrentKmFromRequest());
+        
+        double maxQ = func.getMaxQ();
+        maxQ = Math.min(2000.0, Math.abs(maxQ));
+        maxQ += maxQ * 0.05;
+        
+        if(maxQ > 0) {
             XYSeries series = DatasetUtilities.sampleFunction2DToSeries(
                 new Function2DAdapter(func.getFunction()),
                 0,              // start
-                func.getMaxQ(), // end
+                maxQ, // end
                 500,            // number of samples
                 aaf.getFacetDescription());
             addAxisSeries(series, 0, visible);
         }
-        else {
-            logger.warn("doOut: func.getMaxQ() returns 0");
-        }
     }
 
 

http://dive4elements.wald.intevation.org