comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixAnalysisPeriodsFacet.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 e3c7a3228bc2
children acfd48384835
comparison
equal deleted inserted replaced
4441:093f9333f66b 4442:26774405c884
6 import de.intevation.flys.artifacts.FLYSArtifact; 6 import de.intevation.flys.artifacts.FLYSArtifact;
7 7
8 import de.intevation.flys.artifacts.access.FixAnalysisAccess; 8 import de.intevation.flys.artifacts.access.FixAnalysisAccess;
9 9
10 import de.intevation.flys.artifacts.model.CalculationResult; 10 import de.intevation.flys.artifacts.model.CalculationResult;
11 import de.intevation.flys.artifacts.model.DataFacet;
12 import de.intevation.flys.artifacts.model.DateRange; 11 import de.intevation.flys.artifacts.model.DateRange;
13 import de.intevation.flys.artifacts.model.FacetTypes; 12 import de.intevation.flys.artifacts.model.FacetTypes;
14 13
15 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; 14 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
16 15
22 * Facet to show W values for Q values at km for a date. 21 * Facet to show W values for Q values at km for a date.
23 * 22 *
24 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> 23 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
25 */ 24 */
26 public class FixAnalysisPeriodsFacet 25 public class FixAnalysisPeriodsFacet
27 extends DataFacet 26 extends FixingsFacet
28 implements FacetTypes { 27 implements FacetTypes {
29 28
30 /** House logger. */ 29 /** House logger. */
31 private static Logger logger = Logger.getLogger(FixAnalysisPeriodsFacet.class); 30 private static Logger logger = Logger.getLogger(FixAnalysisPeriodsFacet.class);
32 31
68 (CalculationResult) flys.compute(context, 67 (CalculationResult) flys.compute(context,
69 ComputeType.ADVANCE, 68 ComputeType.ADVANCE,
70 false); 69 false);
71 70
72 FixAnalysisResult result = (FixAnalysisResult) res.getData(); 71 FixAnalysisResult result = (FixAnalysisResult) res.getData();
73 double currentKm = 72 double currentKm = getCurrentKm(context);
74 ((Double)context.getContextValue("currentKm")).doubleValue();
75 73
76 KMIndex<AnalysisPeriod []> kmPeriods = result.getAnalysisPeriods(); 74 KMIndex<AnalysisPeriod []> kmPeriods = result.getAnalysisPeriods();
77 KMIndex.Entry<AnalysisPeriod []> kmPeriodsEntry = 75 KMIndex.Entry<AnalysisPeriod []> kmPeriodsEntry =
78 kmPeriods.binarySearch(currentKm); 76 kmPeriods.binarySearch(currentKm);
79 77

http://dive4elements.wald.intevation.org