comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixReferenceEventsFacet.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 05eeedc5b156
comparison
equal deleted inserted replaced
4441:093f9333f66b 4442:26774405c884
4 4
5 import de.intevation.artifacts.Artifact; 5 import de.intevation.artifacts.Artifact;
6 import de.intevation.artifacts.CallContext; 6 import de.intevation.artifacts.CallContext;
7 import de.intevation.flys.artifacts.FLYSArtifact; 7 import de.intevation.flys.artifacts.FLYSArtifact;
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 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; 10 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
12 import de.intevation.flys.utils.KMIndex; 11 import de.intevation.flys.utils.KMIndex;
13 12
14 13
16 * Facet to show W values for Q values at km for a date. 15 * Facet to show W values for Q values at km for a date.
17 * 16 *
18 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> 17 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
19 */ 18 */
20 public class FixReferenceEventsFacet 19 public class FixReferenceEventsFacet
21 extends DataFacet 20 extends FixingsFacet
22 implements FacetTypes { 21 implements FacetTypes {
23 22
24 /** House logger. */ 23 /** House logger. */
25 private static Logger logger = Logger.getLogger(FixReferenceEventsFacet.class); 24 private static Logger logger = Logger.getLogger(FixReferenceEventsFacet.class);
26 25
61 (CalculationResult) flys.compute(context, 60 (CalculationResult) flys.compute(context,
62 ComputeType.ADVANCE, 61 ComputeType.ADVANCE,
63 false); 62 false);
64 63
65 FixResult result = (FixResult) res.getData(); 64 FixResult result = (FixResult) res.getData();
66 double currentKm = 65 double currentKm = getCurrentKm(context);
67 ((Double)context.getContextValue("currentKm")).doubleValue();
68 66
69 KMIndex<QWD []> kmQWs = result.getReferenced(); 67 KMIndex<QWD []> kmQWs = result.getReferenced();
70 KMIndex.Entry<QWD []> kmQWsEntry = kmQWs.binarySearch(currentKm); 68 KMIndex.Entry<QWD []> kmQWsEntry = kmQWs.binarySearch(currentKm);
71 QWD[] qwds = null; 69 QWD[] qwds = null;
72 if (kmQWsEntry != null) { 70 if (kmQWsEntry != null) {

http://dive4elements.wald.intevation.org