diff flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java @ 2395:cd4fb19ab892

Some API changes in ChartGenerator and XYChartGenerator for fetching user specified zoom values. flys-artifacts/trunk@4021 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 10 Feb 2012 08:56:19 +0000
parents 1fcaeced48f2
children 5d8d24984819
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java	Fri Feb 10 08:43:06 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/XYChartGenerator.java	Fri Feb 10 08:56:19 2012 +0000
@@ -465,6 +465,41 @@
     }
 
 
+    protected Range getDomainAxisRange() {
+        String[] ranges = getDomainAxisRangeFromRequest();
+
+        if (ranges == null || ranges.length < 2) {
+            logger.debug("No zoom range for domain axis specified.");
+            return null;
+        }
+
+        if (ranges[0].length() > 0 && ranges[1].length() > 0) {
+            try {
+                double from = Double.parseDouble(ranges[0]);
+                double to   = Double.parseDouble(ranges[1]);
+
+                if (from == 0 && to == 0) {
+                    logger.debug("No range specified. Lower and upper X == 0");
+                    return null;
+                }
+
+                if (from > to) {
+                    double tmp = to;
+                    to         = from;
+                    from       = tmp;
+                }
+
+                return new Range(from, to);
+            }
+            catch (NumberFormatException nfe) {
+                logger.warn("Wrong values for domain axis range.");
+            }
+        }
+
+        return null;
+    }
+
+
     protected boolean zoomX(XYPlot plot, ValueAxis axis, Range range, Range x) {
         return zoom(plot, axis, range, x);
     }

http://dive4elements.wald.intevation.org