comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisEventsFacet.java @ 4442:26774405c884

Introduce a new FixingsFacet to add save access to the current Km Values which are accessed by a String like a map must be checked for null. The new FixingsFacet adds a getCurrentKm method that abstracts the direct access to the CallContext and always returns a valid double value.
author Björn Ricks <bjoern.ricks@intevation.de>
date Wed, 07 Nov 2012 14:06:03 +0100
parents 66f539df4e8b
children
comparison
equal deleted inserted replaced
4441:093f9333f66b 4442:26774405c884
4 import de.intevation.artifacts.CallContext; 4 import de.intevation.artifacts.CallContext;
5 5
6 import de.intevation.flys.artifacts.FLYSArtifact; 6 import de.intevation.flys.artifacts.FLYSArtifact;
7 7
8 import de.intevation.flys.artifacts.model.CalculationResult; 8 import de.intevation.flys.artifacts.model.CalculationResult;
9 import de.intevation.flys.artifacts.model.DataFacet;
10 import de.intevation.flys.artifacts.model.FacetTypes; 9 import de.intevation.flys.artifacts.model.FacetTypes;
11 10
12 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; 11 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
13 12
14 import de.intevation.flys.utils.KMIndex; 13 import de.intevation.flys.utils.KMIndex;
19 * Facet to show W values for Q values at km for a date. 18 * Facet to show W values for Q values at km for a date.
20 * 19 *
21 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> 20 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
22 */ 21 */
23 public class FixAnalysisEventsFacet 22 public class FixAnalysisEventsFacet
24 extends DataFacet 23 extends FixingsFacet
25 implements FacetTypes { 24 implements FacetTypes {
26 25
27 /** House logger. */ 26 /** House logger. */
28 private static Logger logger = Logger.getLogger(FixAnalysisEventsFacet.class); 27 private static Logger logger = Logger.getLogger(FixAnalysisEventsFacet.class);
29 28
64 (CalculationResult) flys.compute(context, 63 (CalculationResult) flys.compute(context,
65 ComputeType.ADVANCE, 64 ComputeType.ADVANCE,
66 false); 65 false);
67 66
68 FixAnalysisResult result = (FixAnalysisResult) res.getData(); 67 FixAnalysisResult result = (FixAnalysisResult) res.getData();
69 double currentKm = 68 double currentKm = getCurrentKm(context);
70 ((Double)context.getContextValue("currentKm")).doubleValue();
71 69
72 KMIndex<AnalysisPeriod []> kmPeriods = result.getAnalysisPeriods(); 70 KMIndex<AnalysisPeriod []> kmPeriods = result.getAnalysisPeriods();
73 KMIndex.Entry<AnalysisPeriod []> kmPeriodsEntry = 71 KMIndex.Entry<AnalysisPeriod []> kmPeriodsEntry =
74 kmPeriods.binarySearch(currentKm); 72 kmPeriods.binarySearch(currentKm);
75 73

http://dive4elements.wald.intevation.org