# HG changeset patch # User Felix Wolfsteller # Date 1336641213 0 # Node ID d35e37b6a2111abe31e431877642b21ca81aed75 # Parent 57d6670ddda3652cd12794810c69e138f34ec365 Fix issue620: synchron navigation at impossible km. flys-artifacts/trunk@4376 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 57d6670ddda3 -r d35e37b6a211 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Thu May 10 09:04:39 2012 +0000 +++ b/flys-artifacts/ChangeLog Thu May 10 09:13:33 2012 +0000 @@ -1,3 +1,11 @@ +2012-05-10 Felix Wolfsteller + + Fix issue620: synchron navigation at impossible kms. + + * src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java + (searchCrossSectionLine): Do not return a CrossSectionLine if there + is none found within 1km. + 2012-05-10 Felix Wolfsteller * src/main/java/de/intevation/flys/exports/ChartGenerator.java: diff -r 57d6670ddda3 -r d35e37b6a211 flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java Thu May 10 09:04:39 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/CrossSectionArtifact.java Thu May 10 09:13:33 2012 +0000 @@ -242,12 +242,13 @@ /** * Get CrossSectionLine spatially closest to what is specified in the data - * "cross_section.km". + * "cross_section.km", null if considered too far. * - * @return CrossSectionLine closest to "cross_section.km". + * @return CrossSectionLine closest to "cross_section.km", might be null + * if considered too far. */ public FastCrossSectionLine searchCrossSectionLine() { - + double TOO_FAR = 1d; CrossSection crossSection = CrossSectionFactory .getCrossSection(getDBID()); @@ -273,6 +274,11 @@ double km = floorD < ceilD ? floor : ceil; + // If we are too far from the wished km, return null. + if (Math.abs(km - wishKM) > TOO_FAR) { + return null; + } + return FastCrossSectionLineFactory .getCrossSectionLine(crossSection, km); }