diff artifacts/src/main/java/org/dive4elements/river/exports/DiagramGenerator.java @ 7143:053e39436ba3

Diagrams: Determine if axis should be inverted dynamically.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 25 Sep 2013 12:36:19 +0200
parents 49ceab5f2263
children 2fd238b681a9
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/DiagramGenerator.java	Wed Sep 25 12:33:22 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/DiagramGenerator.java	Wed Sep 25 12:36:19 2013 +0200
@@ -126,13 +126,28 @@
     }
 
     @Override
-    public void init(String outName, Document request,
-            OutputStream out, CallContext context) {
+    public void init(
+        String       outName,
+        Document     request,
+        OutputStream out,
+        CallContext  context
+    ) {
         super.init(outName, request, out, context);
 
         RiverUtils.setKMFromRequestInContext(request, context);
+
+        setInvertedFromConfig();
     }
 
+    private void setInvertedFromConfig() {
+        DiagramAttributes.DomainAxisAttributes dx =
+            diagramAttributes.getDomainAxis();
+
+        if (dx != null) {
+            inverted = (Boolean)dx.isInverted()
+                .evaluate((D4EArtifact)getMaster(), context);
+        }
+    }
 
     /**
      * Generate the chart anew (including localized axis and all).
@@ -1016,12 +1031,16 @@
      */
     @Override
     protected String getDefaultXAxisLabel() {
-        DiagramAttributes.Title dTitle = diagramAttributes.getDomainAxisTitle();
-        if (dTitle == null) {
-            return "Domain Axis Title not configured in conf.xml";
+        DiagramAttributes.DomainAxisAttributes dx =
+            diagramAttributes.getDomainAxis();
+
+        if (dx != null) {
+            DiagramAttributes.Title t = dx.getTitle();
+            if (t != null) {
+                return t.evaluate((D4EArtifact)getMaster(), context);
+            }
         }
-
-        return dTitle.evaluate((D4EArtifact)getMaster(), context);
+        return "Domain Axis Title not configured in conf.xml";
     }
 
     @Override

http://dive4elements.wald.intevation.org