Mercurial > dive4elements > river
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) { |