Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixReferenceEventsFacet.java @ 6875:437856cec419
FixA: Fixed reference events mapping. TODO: Same for analysis periods.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Tue, 20 Aug 2013 19:24:26 +0200 |
parents | 6848c5c8fc23 |
children | e4606eae8ea5 |
comparison
equal
deleted
inserted
replaced
6874:d9dfa52f69eb | 6875:437856cec419 |
---|---|
80 logger.debug("current km in FRE: " + currentKm); | 80 logger.debug("current km in FRE: " + currentKm); |
81 } | 81 } |
82 | 82 |
83 KMIndex<QWD []> kmQWs = result.getReferenced(); | 83 KMIndex<QWD []> kmQWs = result.getReferenced(); |
84 KMIndex.Entry<QWD []> kmQWsEntry = kmQWs.binarySearch(currentKm); | 84 KMIndex.Entry<QWD []> kmQWsEntry = kmQWs.binarySearch(currentKm); |
85 | 85 if (kmQWsEntry != null) { |
86 if (kmQWsEntry == null) { | 86 int ndx = index & 255; |
87 return null; | 87 for (QWD qwd: kmQWsEntry.getValue()) { |
88 if (qwd.getIndex() == ndx) { | |
89 return qwd; | |
90 } | |
91 } | |
88 } | 92 } |
89 | 93 return null; |
90 // The lower eight bits contain the index of the point. | |
91 int ndx = index & 255; | |
92 QWD [] qwds = kmQWsEntry.getValue(); | |
93 if (ndx >= qwds.length) { | |
94 logger.error("index too large: " + ndx + " " + qwds.length); | |
95 return null; | |
96 } | |
97 return qwds[ndx]; | |
98 } | 94 } |
99 | 95 |
100 | 96 |
101 /** | 97 /** |
102 * Create a deep copy of this Facet. | 98 * Create a deep copy of this Facet. |