Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/DiagramAttributes.java @ 7241:32db4f89b65f
Add new option to diagram axes "logarithmic" that can be set to an evaluator
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 04 Oct 2013 17:02:01 +0200 |
parents | 744df5a03337 |
children | f87f435df856 0a5239a1e46e |
comparison
equal
deleted
inserted
replaced
7240:bb4a6b0077cf | 7241:32db4f89b65f |
---|---|
113 private boolean isLeftAlign; // TODO: Remove! | 113 private boolean isLeftAlign; // TODO: Remove! |
114 private boolean forceAlign; // TODO: Remove! | 114 private boolean forceAlign; // TODO: Remove! |
115 private boolean includeZero; // TODO: Use Evaluator | 115 private boolean includeZero; // TODO: Use Evaluator |
116 | 116 |
117 private Evaluator isInverted; | 117 private Evaluator isInverted; |
118 private Evaluator isLog; | |
118 | 119 |
119 public AxisAttributes() { | 120 public AxisAttributes() { |
120 } | 121 } |
121 | 122 |
122 public AxisAttributes( | 123 public AxisAttributes( |
123 String name, | 124 String name, |
124 boolean isLeftAlign, | 125 boolean isLeftAlign, |
125 boolean forceAlign, | 126 boolean forceAlign, |
126 boolean includeZero, | 127 boolean includeZero, |
127 Evaluator isInverted | 128 Evaluator isInverted, |
129 Evaluator isLog | |
128 ) { | 130 ) { |
129 this.name = name; | 131 this.name = name; |
130 this.isLeftAlign = isLeftAlign; | 132 this.isLeftAlign = isLeftAlign; |
131 this.forceAlign = forceAlign; | 133 this.forceAlign = forceAlign; |
132 this.includeZero = includeZero; | 134 this.includeZero = includeZero; |
133 this.isInverted = isInverted; | 135 this.isInverted = isInverted; |
136 this.isLog = isLog; | |
134 } | 137 } |
135 | 138 |
136 public String getName() { | 139 public String getName() { |
137 return name; | 140 return name; |
138 } | 141 } |
149 return includeZero; | 152 return includeZero; |
150 } | 153 } |
151 | 154 |
152 public Evaluator isInverted() { | 155 public Evaluator isInverted() { |
153 return isInverted; | 156 return isInverted; |
157 } | |
158 | |
159 public Evaluator isLog() { | |
160 return isLog; | |
154 } | 161 } |
155 } // class AxisAttributes | 162 } // class AxisAttributes |
156 | 163 |
157 public class DomainAxisAttributes extends AxisAttributes { | 164 public class DomainAxisAttributes extends AxisAttributes { |
158 | 165 |
165 String name, | 172 String name, |
166 boolean isLeftAlign, | 173 boolean isLeftAlign, |
167 boolean forceAlign, | 174 boolean forceAlign, |
168 boolean includeZero, | 175 boolean includeZero, |
169 Evaluator isInverted, | 176 Evaluator isInverted, |
177 Evaluator isLog, | |
170 Title title | 178 Title title |
171 ) { | 179 ) { |
172 super(name, isLeftAlign, forceAlign, includeZero, isInverted); | 180 super(name, isLeftAlign, forceAlign, includeZero, isInverted, |
181 isLog); | |
173 this.title = title; | 182 this.title = title; |
174 } | 183 } |
175 | 184 |
176 public Title getTitle() { | 185 public Title getTitle() { |
177 return title; | 186 return title; |
362 String align = axisElement.getAttribute("align").trim(); | 371 String align = axisElement.getAttribute("align").trim(); |
363 String includeZero = | 372 String includeZero = |
364 axisElement.getAttribute("include-zero").trim(); | 373 axisElement.getAttribute("include-zero").trim(); |
365 | 374 |
366 String isInverted = axisElement.getAttribute("inverted"); | 375 String isInverted = axisElement.getAttribute("inverted"); |
376 String isLog = axisElement.getAttribute("logarithmic"); | |
367 | 377 |
368 if (name.isEmpty()) { | 378 if (name.isEmpty()) { |
369 continue; | 379 continue; |
370 } | 380 } |
371 boolean isleftAlign = false; | 381 boolean isleftAlign = false; |
377 else if ("force".equals(part)) forceAlign = true; | 387 else if ("force".equals(part)) forceAlign = true; |
378 } | 388 } |
379 | 389 |
380 Evaluator isInvertedE = parseEvaluator(isInverted, FALSE); | 390 Evaluator isInvertedE = parseEvaluator(isInverted, FALSE); |
381 | 391 |
392 Evaluator isLogE = parseEvaluator(isLog, FALSE); | |
393 | |
382 axesAttrs.add(new AxisAttributes( | 394 axesAttrs.add(new AxisAttributes( |
383 name, isleftAlign, forceAlign, | 395 name, isleftAlign, forceAlign, |
384 includeZero.equals("true"), | 396 includeZero.equals("true"), |
385 isInvertedE)); | 397 isInvertedE, isLogE)); |
386 } | 398 } |
387 } | 399 } |
388 | 400 |
389 private static Evaluator createDynamicEvaluator( | 401 private static Evaluator createDynamicEvaluator( |
390 String className, | 402 String className, |
464 subtitle = extractTitle(config, "subtitle"); | 476 subtitle = extractTitle(config, "subtitle"); |
465 } | 477 } |
466 | 478 |
467 private void parseDomainAxis(Element config) { | 479 private void parseDomainAxis(Element config) { |
468 Title title = extractTitle(config, "domain-axis"); | 480 Title title = extractTitle(config, "domain-axis"); |
469 String includeZero = config.getAttribute("include-zero"); | 481 String includeZero = ""; |
470 String isInverted = config.getAttribute("inverted"); | 482 String isInverted = ""; |
483 String isLog = ""; | |
484 | |
485 NodeList dAlist = config.getElementsByTagName("domain-axis"); | |
486 if (dAlist.getLength() > 0) { | |
487 Element dAelement = (Element)dAlist.item(0); | |
488 | |
489 includeZero = dAelement.getAttribute("include-zero"); | |
490 isInverted = dAelement.getAttribute("inverted"); | |
491 isLog = dAelement.getAttribute("logarithmic"); | |
492 } | |
471 | 493 |
472 domainAxis = new DomainAxisAttributes( | 494 domainAxis = new DomainAxisAttributes( |
473 "X", | 495 "X", |
474 false, | 496 false, |
475 false, | 497 false, |
476 includeZero.equals("true"), | 498 includeZero.equals("true"), |
477 parseEvaluator(isInverted, FALSE), | 499 parseEvaluator(isInverted, FALSE), |
500 parseEvaluator(isLog, FALSE), | |
478 title); | 501 title); |
479 } | 502 } |
480 | 503 |
481 private static Title extractTitle(Element config, String tagName) { | 504 private static Title extractTitle(Element config, String tagName) { |
482 NodeList titleNodes = config.getElementsByTagName(tagName); | 505 NodeList titleNodes = config.getElementsByTagName(tagName); |