comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/QualityMeasurement.java @ 6757:e0ac1b19dfcc

issue1435: Tolerate missing measurement values in QualityMeasurements.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 06 Aug 2013 16:03:56 +0200
parents af13ceeba52a
children 4902d3ead541
comparison
equal deleted inserted replaced
6756:9cc0b03656fb 6757:e0ac1b19dfcc
9 package org.dive4elements.river.artifacts.model.minfo; 9 package org.dive4elements.river.artifacts.model.minfo;
10 10
11 import java.util.Date; 11 import java.util.Date;
12 import java.util.Map; 12 import java.util.Map;
13 13
14 import org.apache.log4j.Logger;
14 15
16 /** A measurement of the bed quality, serving different diameter at given km. */
15 public class QualityMeasurement { 17 public class QualityMeasurement {
18 private static Logger logger = Logger.getLogger(QualityMeasurements.class);
16 19
17 private double km; 20 private double km;
18 private Date date; 21 private Date date;
19 private double depth1; 22 private double depth1;
20 private double depth2; 23 private double depth2;
59 62
60 public void setDiameter(Map<String, Double> charDiameter) { 63 public void setDiameter(Map<String, Double> charDiameter) {
61 this.charDiameter = charDiameter; 64 this.charDiameter = charDiameter;
62 } 65 }
63 66
67 /**
68 * Get the stored diameter for given key (e.g. d10).
69 * @return NaN if no data found in this measurement.
70 */
64 public double getDiameter(String key) { 71 public double getDiameter(String key) {
65 return charDiameter.get(key); 72 Double diameter = charDiameter.get(key);
73 if (diameter == null) {
74 logger.warn("No Diameter at km " + km + " for " + key);
75 }
76 return (diameter != null) ? diameter : Double.NaN;
66 } 77 }
67 78
68 public void setDiameter(String key, double value) { 79 public void setDiameter(String key, double value) {
69 charDiameter.put(key, value); 80 charDiameter.put(key, value);
70 } 81 }

http://dive4elements.wald.intevation.org