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