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);

http://dive4elements.wald.intevation.org