comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/DischargeTables.java @ 154:03362976fa0f

DischargeTables: Cache the scale, too. Otherwise two calls to getValues() with different arguments will result in the same output. flys-artifacts/trunk@1591 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 28 Mar 2011 15:21:27 +0000
parents c97f9bc9b642
children ea3a438a7021
comparison
equal deleted inserted replaced
153:c97f9bc9b642 154:03362976fa0f
26 26
27 protected List<String> gaugeNames; 27 protected List<String> gaugeNames;
28 28
29 protected String riverName; 29 protected String riverName;
30 30
31 protected double scale;
32
31 protected Map<String, double [][]> values; 33 protected Map<String, double [][]> values;
32 34
33 public DischargeTables() { 35 public DischargeTables() {
34 } 36 }
35 37
36 public DischargeTables(String riverName, String [] gaugeNames) { 38 public DischargeTables(String riverName, String [] gaugeNames) {
37 this(riverName, Arrays.asList(gaugeNames)); 39 this(riverName, Arrays.asList(gaugeNames));
38 } 40 }
39 41
40 public DischargeTables(String riverName, List<String> gaugeNames) { 42 public DischargeTables(String riverName, List<String> gaugeNames) {
43 scale = Double.NaN;
41 this.riverName = riverName; 44 this.riverName = riverName;
42 this.gaugeNames = gaugeNames; 45 this.gaugeNames = gaugeNames;
43 } 46 }
44 47
45 public Map<String, double [][]> getValues(double scale) { 48 public Map<String, double [][]> getValues(double scale) {
46 if (values == null) { 49 if (values == null || scale != this.scale) {
47 values = loadValues(scale); 50 values = loadValues(scale);
51 this.scale = scale;
48 } 52 }
49 return values; 53 return values;
50 } 54 }
51 55
52 protected Map<String, double [][]> loadValues(double scale) { 56 protected Map<String, double [][]> loadValues(double scale) {

http://dive4elements.wald.intevation.org