diff 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
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixReferenceEventsFacet.java	Tue Aug 20 11:20:25 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixReferenceEventsFacet.java	Tue Aug 20 19:24:26 2013 +0200
@@ -82,19 +82,15 @@
 
         KMIndex<QWD []> kmQWs = result.getReferenced();
         KMIndex.Entry<QWD []> kmQWsEntry = kmQWs.binarySearch(currentKm);
-
-        if (kmQWsEntry == null) {
-            return null;
+        if (kmQWsEntry != null) {
+            int ndx = index & 255;
+            for (QWD qwd: kmQWsEntry.getValue()) {
+                if (qwd.getIndex() == ndx) {
+                    return qwd;
+                }
+            }
         }
-
-        // The lower eight bits contain the index of the point.
-        int ndx = index & 255;
-        QWD [] qwds = kmQWsEntry.getValue();
-        if (ndx >= qwds.length) {
-            logger.error("index too large: " + ndx + " " + qwds.length);
-            return null;
-        }
-        return qwds[ndx];
+        return null;
     }
 
 

http://dive4elements.wald.intevation.org